c语言基础练习习题及答案.doc
c语言基础练习习题及答案
一、单项选择题
1.下列标识符中,合法的用户标识符是_(B)_。
A)B#123 B)_1234
C)void D) xy*
2.C语言中,要求参加运算的数必须是整数的运算符是_(C)__。
A)/ B)!
C)% D)==
3.下面运算符中,具有右结合性的是__(A)__。
A)= B) + C) / D) %
4.字符串“a\x44\\abcd\101b”的长度是__(A)______。
A) 9 B)10
C) 16 D)18
解释:(a \x44 \\ a b c d \101 b)
5.C语言允许一条语句写在两行上,下列语句不正确的是_(D)_____。
A) int a, B)int a
b; ,b;
C) int D)int a,b
a,b; ;
6.C语言一行写不下时,可以_(C)_。
A) 用逗号换行 B)用分号换行
C) 在任意一空格处换行 D)用回车符换行
7.下所列的C语言常量中,错误的是_(B)__。
A) 0Xff B) 1.2e0.5(E后面指数必须为整数)
C) 2L D) '\72'
8.下列选项中,合法的C语言关键字是_(D)_____。
A) VAR(far) B) cher(char)
C) integer(interrupt) D) default
9.以下错误的转义符是__(D)__。
A) ‘\\’ B) ‘\’’
C) ‘\t’ D) ‘\80’
10.设int类型的数据长度为2个字节 ,则unsigned int类型数据的取值范围是_(B)___。
A) 0至255 B) 0至65535
C) -256至255 D) -32768至32767
11.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是_(A)___。
A) x/y*z B) x*(1/(y*z))
C) x/y*1/z D) x/y/z
12.已知w=1,x=2,y=3,z=4,a=5,b=6;则执行语句(a=w>x)&&(b=y>z);后,a,b的值为_____。
A) 1和1 B) 0和6
C) 5和0 D) 0和0
13.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为_(C)___。
A) 不定值 B) 4 C) 3 D) 1
【#include
main()
{ int x,y,t;
x=y=3;
t=++x||++y;
printf("t=%d x=%d y=%d",t,x,y);
getch();
/*结果t=1 x=4 y=3*/
}】
14.设有语句int a=4;,则执行了语句a+=a-=a*a后,变量a的值是_(B)__。
A) 24 B) -24 C) 4 D) 16
【解释:a+=a-=a*a;/*a=a-a*a=-12 a=a+(-12)=-24*/】
15.设整型变量x,y,z均为3,表达式x+++y+++z++的值是_(A)_____。
A) 9 B) 12 C) 13 D) 15
【解释:x+++y+++z++=x++ +y++ +z++】
16.下面表达式中符合C语言语法的赋值表达式是_(C)_____。
A) a=5+c+d=a+5 B) a=c+d++=a+5