1.第一章第二章
1.C语言的函数体由()括起来。
A)<> B){} C)[] D)()
2.下面叙述错误的是()
A)一个C源程序可由一个或多个函数组成
B)构成C语言源程序的基本单位是语句
C)C源程序中大、小写字母是有区别的
D)若一条语句较长,可分写在下一行或多行上
3.下面叙述正确的是()
A)每行最多只能写两条语句
B)main()函数必须位于源程序文件的开头C)所有语句都必须以分号;结束
D)程序中必须含有自定义函数
4.C源程序中main()函数的位置()。
A)必须位于程序的最前面
B)必须在自定义函数前面C)必须在系统库函数后面
D)可以在自定义函数后面
5.结构化程序设计不包括()。
A)最优化
B)自顶而下,逐步细化C)模块化设计
D)结构化编码
6.下面叙述中,()不是结构化程序设计中的三种基本结构之一。
A)数据结构B)选择结构C)循环结构D)顺序结构
2.第三章数据类型、运算符和表达式
1.(B )为非法的字符串常量
A)“056”B)‘123’C)““D)“case”
2.( B )为正确的用户标识符。
A)min-5 B)max_at C)3_row D)union
3.以下(D )是正确的变量名。
A) a.bee B) -p11 C) int D) p_11
4.以下(D )是正确的变量名。
A)5f B)if C) f.5 D)_f5
5.以下(D )是正确的常量。
A)E-5 B)1E5.1 C)'a12' D)32766L
6.以下(A )是不正确的字符串常量。
A)'abc' B)"12'12" C)"0" D)" "
7.以下(BC )是正确的字符常量。
A)"c" B)'\\' C)'W' D)"\32a"
8.char型变量存放的是(A)。
A)ASCII代码值
B)字符本身C)十进制代码值
D)内码值
9.( B)为合法的常量。
A)5,236 B) 1.23E+8 C)‘b_k’D) 3.21E-6.5
10.(D)为正确的字符常量
A)‘\084’B)‘bcd’C)‘165’D)‘@’
11.若有定义:int b=-15;则(D)为正确的赋值表达式。
A)*b=6 B)b=*5 C)b+10=-5 D)b+=b*3
12.若有定义:int x=2;则正确的赋值表达式是(A )。
A)a-=(a*3) B)double(-a) C)a*3 D)a*4=3
13.若有定义:float x=2,y;int a=3 ;语句y=1*(x+a)/3;运行后,y的值为(B)。
A)2.0 B)1.666667 C)1.0 D)0
14.若有定义:int a,b=5;语句a=(b/2)+b%2;运行后,a的值为(A )
A) 3 B) 4 C)0 D)2
15.下面叙述正确的是(B)
A)2/3与2%3等价
B)5/(int)4.0与5/4等价C)++2与--3等价
D)++2与3等价
16.若有定义:int a,b=6;语句a=--b;运行后,a、b的值分别是(C)。
A) 6 6 B) 5 6 C) 5 5 D) 6 5
17.若有定义:int i=3,j=6;则表达式(--i)*(j++)的值为( D)。
A)10 B)18 C)15 D)12
18.语句x=(a=3,b=++a);运行后,x、a、b的值依次为(C )。
A)3,3,4 B)4,4,3 C)4,4,4 D)3,4,3
19.已知int a='R'; 则正确的表达式是(D )。
A)a=int(3e2)
B)2*a=a++ C)a=a+a=a+3
D)a%10
20.已知char a='R'; 则正确的赋值表达式是(A )。
A)a=(a++)%4 B)a+2=3 C)a+=256-- D)a='\078'
21.语句a=(3/4)+3%2;运行后,a的值为(B )。
A)0 B) 1 C) 2 D)3
22.若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为(C)。
A)3,3 B)4,4 C)4,3 D)3,4
23.设整型变量a为5,使b不为2的表达式是(C )。
A)b=(++a)/3 B)b=6-(--a) C)b=a%2 D)b=a/2
24.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是(A )。
A)f+=g B)f-=g+2 C)f*=g-6 D)f/=g*10
25.若有定义:int k,i=2,j=4;则表达式k=(++i)*(j--)的值是(B )。
A)8 B)12 C) 6 D)9
26.若有定义:int a=3;语句a+=a-=a*a;运行后,a的值为(C)
A)-6 B)0 C)-12 D)-3
27.若有定义:float x=3.5,y=5.5;则表达式(B)的值为2.
A)(int)x+y%7
B)(int)(x+y)%7 C)int(x+y)%7
D)(x+y)%7
28.若有定义:int b=-15; 则(D)为正确的赋值表达式。
A)b=*5 B)*b=6 C)b+10=-5 D)b+=b*3
29.下面叙述正确的是(B )。
A)2/3 与 2.0/3.0 等价
B) (int)2.0/3 与 2/3 等价C)++5 与 6 等价
D)'A'与"A"等价
30.若有定义int x=1,y=2,n=3;则(A)为正确的表达式。
A)x=y*3,y=(x+n)/y
B)(x+y)(y+n) C)float(y/n)
D)x=ny
31.若有定义:int x,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为(A)
A)7 B) 3 C)8 D)6
32.若有定义:float x=3.5;int z=8;则表达式x+z%3/4的值为(B)。
A) 3.75 B) 3.5 C) 3 D)4
33.若有定义:float x=3.5,y=3.6,则表达式(A)的值为6。
A)(int)x+(int)y
B)(int)(x+y) C)int(x+y)
D)x+y
34.下面叙述正确的是(C)。
A)(3+9)++是正确的表达式
B)“abc”+”xxx”是正确表达式
C)c语言中整型与字符型变量的混合运算表达式的结果是整型
D)模运算符%两边运算数的数据类型是任意的
35.若有定义:int x;char c=’A’;则正确的赋值表达式是(B).说明‘A’的ASCII码的十进制值为65,‘a’
的ASCII码的十进制值为97
A)x=c+’ABC’
B)x=c+32 C)x=c+’CBA’
D)x=’ABC’
36.若有定义:char c1=’A’,c2=’B’;语句printf(“%d+%d=%d”,c1,c2,c1+c2); 运行后的结果为(C)。说明:
‘A’的ASCII码的十进制值为65
A)65+65=AB B)A+B=131 C)65+66=131 D)A+B=AB
37.下面叙述错误的是(A)。
A)算术运算符中只有“*”、“/”优先级高于关系运算符
B)模运算符“%”是C语言基本的算术运算符
C)算术运算符中不包含“=”运算符
D)自加和自减运算符只能用于变量,而不能用于常量或表达式
38.下面叙述正确的是(A )。
A)强制类型转换运算的优先级高于算术运算
B)若a和b是整型变量,(a+b)++是合法的
C)'A'*'B' 是不合法的
D)"A"+"B"是合法的
39.下面关于算术运算符的叙述,错误的是(D )。
A)%(模运算符)的运算对象只能为整型量
B)算术运算符的结合方向是"自左至右"
C)自加和自减运算符的结合方向是"自右至左" 其运算对象不包