第三章 数据类型、运算符与表达式 下载本文

第三章 数据类型、运算符与表达式

一、选择题

1.以下选项中合法的c语言标识符是 。 A) long B) _2Test C)3Dmax D)A.dat 2.以下不能定义为C语言标识符的是 。

A) scanf B) Void C)int D)_3com_

3.在以下各组标识符中,合法的c语言标识符是① ;② ;③ 。 ①A)B0l B) table_l C) 0_t D) k% int t*.1 W10 point ②A)Fast_ B) void C)pb1 D) Fast+Big Abs fabs beep ③A)xy_ B) longdouble C)*p D)CHAR

变量l signed history Flaut

4.在以下各组标识符中,合法的c语言标识是① ;② 。 ①A)print B) i’am C)Pxg D)Cpp oodb one-half line# pow aBc 3pai His.age while ②A)_maln B)If C)txt D)int enclude _max REAL k_2 sln turbo 3COM _001 5.以下不能定义为c语言标识符的是 。 A)_1234_ B)2_int_ C)int_2_ D)_1_2

6.以下不能定义为c语言标识符的是 。 A) Main B) _0 C)_int D)sizeof 7.以下叙述中错误的是 。 A) c语言的标识符允许使用保留字

B) c语言的标识符应尽量做到“见其名知其意” c) c语言的标识符必须以字母或下划线开头

D) c语言的标识符中,大、小写字母代表不同标识 8.以下叙述中正确的是 。

A) 可以把define和if定义为C语言标识符

B) 可以把define定义为C语言标识符,但不能把if定义为c语言标识符 C) 可以把if定义为c语言标识符,但不能把define定义为c语言标识符 D) define和if都不能定义为c语言标识符 9.下面不属于c语言保留字的是 。 A) char B) while C)typedef D)look 10.下面属于c语言保留字的是 。 A) define B) include C)main D)enum 11. 是c语言的数据类型说明保留字。

A) Float B) signed C)integer D)Char 12.不合法的C语言字符常量是 。 A) '\\2' B) \ C) ' ' D) \13.合法的c语言长整型常量是 。

A) 5876 B) 0L C)2.0E10 D)(long)58762

14.下列选项中,均是合法的c语言整型常量的是 。 A) 160 B) -0xcdf C)-01 D) -0x48a -0xffff 0la 986,012 2e5 0011 0xe 0668 0x

15.十进制数8的C语言八进制数常量是 。 A) 10 B) 010 C)8 D) 08 16.在C语言中,029是一个 。

A) 八进制数 B) 十六进制数 C)十进制数 D) 非法数 17.以下选项中可作为c语言整数的是 。

A) 10110B B) 0386 C)0xffaa D) x2a2

18.c语言中将-8赋值给无符号字符型,则它的内存数据形式为 。 A) 11111000 B) 10001000 C) 00001000 D) 11110111 19. 下列选项中,均是合法的c语言实型常量的是 。 A) +1le+1 B) -.60 C) l 23e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-l 5.e-0 20.以下选项中正确的c语言实型常量是 。 A) 0 B) -10 C)1.9×102 D)0.19

21.以下选项中正确的c语言实型常量是 。 A) 1.2e0.5 B) 3.14159E C).5E-3 D)E15

22.以下选项中可作为c语言数值常量的是 。 A) -80. B) -080 C)-8e1.0 D)-80.0e

23.在c语言中,以下不合法的数值常量是 。 A) 011 B) 1e1 C)8.0e0.5 D)000 24. 是非法的c语言转义字符。

A) '\\b' B) '\\0xf' C) '\\037' D) '\\'' 25.下面转义字符中错误的是 。 A) '\\000' D) '\\14' C) '\\x111' D) '\\2' 26.下面转义字符中错误的是 。 A) '\\\\' D) '\\\ C) '\\86' D) '\\0'

27.以下选项中 不是c语言常量。

A) e-2 B) 012 C) \ D) '\\n'

28.以下选项中 不是合法c语言数据类型。 A) signed short int B) unsigned long int C) unsigned int D) long short 29.设char a='\\70'; 则变量a 。

A) 包含1个字符 B) 包含2个字符 c) 包含3个字符 D)说明不合法 30.对于char cx='\\039';正确的判断是 。

A) 不合法 B) cx的值是'\\03' c) cx的值为四个字符 D) cx的值为三个字符 31. 已知short x=0xabcde; 则x的结果是 。 A) 赋值非法 B) 不确定 C) abcd D) bcde 32.下列变量定义及赋初值中,合法的是 。 A) short _a=1-.1e-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=l-e-3;

33.假设某表达式中包含int,long,unsigned,char类型的数据,则表达式最后的运算结果是

____________类型。

A) int B) long C) uns igned D) char

34.在c语言中,要求参加运算的数必须是整数的运算符是 。 A) / B) * C) % D) =

35.下列运算符中,优先级最高的是 。 A) ( ) B) % C)++ D) ,

36.若int k=7, x=12;则值为3的表达式是 。

A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5) 37.设有int x=11;则表达式(x++*1/3)的值是 。

A) 3 B)4 C) 11 D)12

38.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, 是正确的。 A) 语法错误 B) f为5.0 C) f为0.0 D) f为2.0

39.设变量n为float类型,m为int型,则以下 表达式能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算。

A) n=(n*100+0.5)/l00.0 B) m=n*100+0.5, n=m/100.0

C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.0

40.设以下变量均为int类型,则值不等于7的表达式是 。 A) (x=y=6, x+y, x+1) B) (x=y=6, x+y, y+1)

C) (x=6, x+1, y=6, x+y) D) (y=6, y+1, x=y, x+1)

41.假定有变量定义:int k=6, x=12;则能使x、k值为5、6的表达式是 。 A) x%=++k%l0 B) x%=k+k%5 C) x-=++k%5 D) x-=k++%5

42.在Turbo C 2.0中,若定义long a;则能给变量a赋值40000的正确语句是 。 A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10; 43.设float m=4.0,n=4.0;使变量m值为10.0的表达式是 。 A ) m-=n*2.5 B) m/=n+9 C) m*=n-6 D)m+=n+2

44.设int i=0,j=0;以下使变量i值为4的表达式是 。

A) i=3, (j++)+i, i=j+1 B) j=i=(i=2)*2 C) i*=j%=(j=6)+(i=4) D)j+=i+=j+=2

45.若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是 。 A) -3 B) 9 C) -12 D) 6

46.表达式3.6-5/241.2+5%2的值是 。

A) 4.3 B) 4.8 C) 3.3 D) 3.8

47.若已定义x和y为double类型,则表达式x=l, y=x+3/2的值是 。 A) l B) 2 C) 2.0 D) 2.5 48.有以下程序段: int c1=1, c2=2, c3;

c3=1/c2*c1;

执行后c3的值是 。

A) 0 B) 0.5 C) l D) 2

49.设int n=20, i=4; 则赋值运算n%=i+l执行后,n的值是 。 A) 0 B) l C) 2 D) 3 50.有以下程序段: int m=3, n=4, x; x=-m++;

x=x+8/++n;

执行后x的值是 。 A) 3 B) 5 C) -1 D) -2 51. sizeof(long)的值 。

A) 1 B) 2 C) 3 D)4

52.设char c=20;则sizeof (c)的结果是 。

A) 1 B) 12 C) l 20 D)20 53.表达式x*=y+2还可以写为 。

A) x=x*y+2 B) x=2+y*x C) x=x*(y+2 ) D) x=y+2*x

54.若变量已正确定义并贼值,下面符合c语言语法的表达式是 。 A) a:=b+l B) a=b=c+2 C) int(18.5%3) D) a=a+7=c+b 55.以下变量定义和赋初值错误的是 。

A) int n1=n2=l 0; B) char c=32;

C) float f=3*100+2.2; D) double x=12.3E2;

56.已定义ch为字符型变量,以下赋值表达式中错误的是 。 A) ch='\\' B) ch=62+3 C) ch=NULL D) ch='\\xaa'

57.已定义c为字符型变量,以下赋值表达式中正确的是 。 A) c='97' B) c=\ C) c=97 D) c='\\97'

58.以下选项中,与k=n++完全等价的表达式是 。 A) k=n, n=n+1 B) n=n+1, k=n C) k=++n D) k+=n+l 59.若有以下定义;

int a=0; double b=1.25; char c='A'; #define d 2

则下面表达式中错误的是 。

A) a++ B) b++ C) c++ D) d++

60.若变量a,b己经正确定义井赋值,符合c语言语法的表达式是 。 A) a 2+b B) a*a+b C) a×a+b D) a·a+b

61.已知double a, b; int w; 1ong c;且各变量己赋值,则下列表达式中正确的是 。 A) a=a+b=b++ B) (int)w%(a+b) C) (c+w)%(int)a D) w=a%=b 62.以下为非法c语言表达式的是 。

A) n=(i=2, ++i) B) ++(i+1) C) j++ D) x=++j 63.若定义了int a, x, y;则下列表达式中不正确的是 。 A) x=3, y=5 B) ++x C) x=y?+=x*30 D) a=y+x=30 64.设x, y, u, v均为浮点型,与数学公式

x?yu?v不等价的c语言表达式是 。

A)x*y/u*v B)x*y/u/v C) x*y/(u*v) D) x/(u*v)*y 65.设float c, f;将数学公式c?59(F?32)能正确表示成c语言表达式的是 。

A)c=5*(f-32)/9 B)c=5/9(f-32) C)c=5/9*(f-32) D)c=5/(9*(f-32))

66.以下变量x, y, z均为double类型且已正确赋值,以下不能正确表示数学公式语言表达式是 。

A) x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z

xy*z的c