第2章 数据类型及其运算
2.1 选择题
1.在C) 语言中,下面符号串中能用作变量名的标识符为_______。B A) auto B) puts C) 1*num D) p=2-and
2.在C 语言中,下面符号串中能用作变量名的标识符为 。C
A) continue B) 3_*num C) gets D) q=6-to 3.以下选项中不合法的标识符是 。C
A) print B) FOR C) &a D) _00 4.设有变量说明“int x;”,则表达式“(x =4*5,x *5),x +25”的值为_______。B
A) 20
B) 45
C) 100
D) 125
5.以下选项中不属于字符常量的是 。B
A) 'C' B) \ C) '\\xCC' D) '\\072' 6.设变量已正确定义并赋值,以下正确的表达式是_______。C
A) x=y*5=x+z B) int(15.8%5) C) x=y+z+5,++y D) x=25%5.0 7.设有“int a ;”,以下不能正确表达数学关系1010 && a<15 D) ! (a<=10)&&!(a>=15)
8.已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是_______。B A) kk>='A'&& kk<='Z'
C) (kk+32)>= 'a'&& (kk+32)<= 'z'
B) !( kk>='A'|| kk<='Z') D) isalpha(kk)&& (kk<91)
9.当变量c的值不为2、4、6时,值也为“真”的表达式是_______。B A) (c==2) || (c==4) || (c==6) B) ( c>=2&&c<=6)|| (c!=3) || (c!=5) C) ( c>=2&&c<=6)&& !(c%2) D) ( c>=2&&c<=6)&& (c%2!=1)
10.已有定义:char c;,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是_______。B A) isupper(c)
C) 'A'<= c && c<='Z'
B) 'A'<= c<='Z'
D) c<=('z'-32) && ('a'-32)<=c
D) \
11..以下常量中正确的是_______。D
A) 'abc' B) '\\x123' C) 3.145E-1.2
12.以下常量中不正确的是 。A A) '\\xff1' B) \ C) 1.327E-4 D) '\\123' 13..以下各个字符常量中,不合法的是_______。A
A) 'oxff' B) '\\65' C) '$' D) '\\xla' 14.以下表示中不能用做C语言常量的是_______。B A) 0UL B) (long)123 C) 1e0 D) '\\x2a'
15.设有定义“float y=3.45678;int x;”,则以下表达式中能实现y中数值保留小数点后2位,第3位四舍五入的表达式是_______。B
A) y=(y*100+0.5)/100.0 B) x=y*100+0.5,y=x/100.0 C) y=y*100+0.5/100.0 D) y=(y/100+0.5)*100.0
16.以下四个选项中,均是非法常量的选项是_______。C
A) -0x18,01177, 0xf B) '\\\\', '\\01', 12,456 C) 'as',-0fff, '\\0xa' D) 0xabc, '\\0', \
17.已知a,b为整数且b!=0,则表达式(a/b*b+a%b)的值为_______的值。A A) a B) b C) a被b除的余数部分 D) a被b除商的整数部分
18.有声明语句unsigned char ch;与表达式ch='B'的值不相同的表达式是_______。 (字符A的ASCII码以十进制表示为65)D
A) ch=0x42
B) ch=0102 C) ch='\\102' D) ch=066
19.设int x=2, y=3, z= (++x<=y--) ? ((--y==1) ? y-- : --y) : y--; 则x, y, z的值为_______。A
A) 3,0,1 B) 2,0,0 C) 3,1,1 D) 2,2,1 20.以下四组选项中,均不是C语言关键字的选项是_______。C
A) define IF type B) getc char printf C) include scanf case D) while go pow
21.C语言中的标识符只能由数字、字母和下划线三种字符组成,且第一个字符_______。
A) 必须为字母 B) 必须为下划线 C C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符 22.下面四个选项中,均是合法转义字符的选项是_______。A A) '\\'' '\\\\' '\\n' B) '\\' '\\017' '\\'' '
C) '\\018' '\\f' 'xab'
D) '\\\\0' '\\101' 'x1f'
23.下面不正确的字符串常量是_______。A
A) 'ab' B) ''12'12'' C) ''0'' D) '' '' 24.若有代数式(3ae)/(bc),则不正确的C语言表达式式_______。C
A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 25.在C语言中,要求运算数必须是整型的运算符是_______。D A) / B) ++ C)!= D) %
26.在C语言中,int,char和short三种类型数据在内存中所占用的字节数_______。D
A) 由用户自己定义 B) 均为2个字节 C) 是任意的 D) 由所用机器的机器字长决定的 27.sizeof(float)是_______。B
A) 一个双精度型表达式
B) 一个整型表达式
C) 一种函数调用 D) 一个不合法的表达式 28.若有以下定义,则能使值为3的表达式是_______。D int k=7,x=12;
A) x%=(k%=5) C) x%=k-k%5
B) x%=(k-k%5) D) (x%=k)-(k%=5)
29.设以下变量均为int类型,则值不等于7的表达式是_______。C
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,y+x)
D) (y=6,y+1,x=y,x+1)
30.C语言中最简单的数据类型包括_______。B
A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、字符型、逻辑型 D) 字符型、实型、逻辑型 31.已知有声明语句 int x=8,则下列表达式中,值为2的是_______。B
A) x+=x-=x B) x%=x-2 C) x>8?x=0:x++ D)x/=x+x
32.下列数据中,不合法的C语言实型数据是_______。C A) .123 B) 123E3 C)2.1E3.5 D) 789.0
33.若变量已正确定义并赋值,下面符合C语言语法的表达式是 _______。B
A) a=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 34.C语言中运算对象必须是整型的运算符是 _______。A A) %= B)/ C) =
D) 〈=
35.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是_______。C A) 1 B) 2 C) 2.0 D) 2.5 36.下列选项中,合法的C语言关键字是_______。D
A) VAR B) cher C) integer D) default 37.以下叙述正确的是_______。B(该题和第8章某题一样?) A) 可以把define和if定义为用户标识符
B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 D) define和if都不能定义为用户标识符
38.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是_______。D A) 6 B) 0 C) 2 D) 1 39.以下选项中,与k=n++完全等价的表达式是_______。A A) k=n,n=n+1 B) n=n+1,k=n C) k=++n 40.下列叙述中正确的是_______。D
A) C语言中既有逻辑类型也有集合类型 B) C语言中没有逻辑类型但有集合类型 C) C语言中有逻辑类型但没有集合类型
D) C语言中既没有逻辑类型也没有集合类型
41.下列关于单目运算符++、--的叙述中正确的是_______。D
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D) 它们的运算对象可以是char型变量、int型变量和float型变量 42.以下选项中非法的表达式是_______。D A)0<=x<100 B)i=j==0 C)(char)(65+3)
D)x+1=x+1
D) k+=n+1
43.能正确表示a和b同时为正或同时为负的逻辑表达式是_______。D A) (a>=0‖b>=0)&&(a<0‖b<0) B) (a>=0&&b>=0)&&(a<0&&b<0) C) (a+b>0)&&(a+b<=0) D) a*b>0 44.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为_______。
A) 4
B) 16
C) 32
D) 52 C
45.设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是_______。B
A) 0和2 B) 0和3 C) 1和2 D) 1和3 46.以下常量表示中正确的是_______。B A) \\xff
B) 5L
C) aEb
D) 3.14U
47.若有声明“int x=2,y=1,z=0;”,则下列关系表达式中有语法错误的是_______。A A) x>y=2 B) z>y>x C) x>y==1 D) x==(x=0,y=1,z=2)
48.设有条件表达式:(EXP) ? i++ : j--,则以下表达式中与(EXP)完全等价的是_______。B
A) (EXP==0) B) (EXP!=0) C) (EXP==1) D) (EXP!=1)
49.以下正确的字符串常量是_______。D A) ''\\\\\\'' B) 'abc' C) Olympic Games D) '''' 50.以下选项中,当x为大于1的奇数时,值为0的表达式是_______。D
A) x%2==1 B) x/2 C) x%2!=0 D) x%2==0 51.以下合法的字符型常量是_______。A A) '\\x13'
B) '\\081'
C) '65'
D) ''\\n''
52.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是_______。A A) x++,y=x-- B) x+1=y C) x=x+10=x+y D) double(x)/10 53.以下关于逻辑运算符两侧运算对象的叙述中正确的是_______。D A) 只能是整数0或1 B) 只能是整数0或非0整数 C) 可以是结构体类型的数据
D) 可以是任何合法的表达式
54.若有定义int x, y;并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++): (y++)中的条件表达式 (x-y) 等价的是_______。C
A) (x-y>0) B) (x-y<0) C) (x-y<0 || x-y>0) 55.以下选项中,值为1的表达式是_______。B A) 1-'0' B) 1-'\\0' 56.以下不合法的用户标识符是_______。C
A) j2_KEY B) Double 57.以下不合法的数值常量是_______。C
A) 011
B) 1e1
C) 8.0E0.5
D) 0xabcd
58.以下不合法的字符常量是_______。A A) '\\018' B) '\\\ C) '\\\\' 59.表达式3.6-5/2+1.2+5%2的值是_______。D
A) 4.3 B) 4.8 C) 3.3
C) '1'-0 C) 4d
D) (x-y==0) D) '\\0'-'0' D) _8_
D) '\\xcc'
D) 3.8
60.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是_______。C A) (!E==0) B) (E>0 || E<0) C) (E==0) D) (E!=0) 61.以下叙述中错误的是_______。A
A) 用户所定义的标识符允许使用关键字 B) 用户所定义的标识符应尽量做到“见名知意”
C) 用户所定义的标识符必须以字母或下划线开头 D) 用户定义的标识符中,大、小写字母代表不同标识
?62.以下不能正确计算代数式sin2=( ) 值的C语言表达式是_______。A
A) 1/3*sin(1/2)*sin(1/2) B) sin(0.5)*sin(0.5) /3
C) pow(sin(0.5),2)/3 D) 1/3.0*pow(sin(1.0/2),2) 63.设有定义:int k=1,m=2; float f=7; 则以下选项中错误的表达式是_______。C
A) k=k>=k
B) -k++
C) k%int(f)
D) k>=f>=m
64.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是_______。A
A) (!a==1) && (!b==0) B) (a
C) a && b
D) a || (b+b) && (c-a)
65.以下选项中可作为C语言合法常量的是_______。A
A) -80
B) -080 66.以下不能定义的用户标识符是_______。D A) Main B) _0
C) -8e1.0 C) _int
D) -80.0e D) sizeof
相关推荐: