C语言程序设计练习题.2.
C语言程序设计练习题
一、选择题(每小题2分,共40分,答案必须填写半角大写字母ABCD)
1. 若a是float型变量,b是unsigned型变量,以下输入语句( C )是合法的。
A) scanf("%6.2f%d",&a,&b)B) scanf("%f%n",&a,&b)
C) scanf("%f%3o",&a,&b)D) scanf("%f%f",&a,&b)
2. 设以下变量均为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,x+y)D) (x=6,x+1,y=x,y+1)
3.设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为( C )。
A) int B)float C)double D)不确定
4. 设有说明:char w; int x; float y; double z; 则表达式w*x+z-y 值的数据类型为( D )。P54 必定的转换:char,short→int float→double 而int类型级别比double低,所以转换int也要转换成double然后运算,最后结果为double型。
A)floatB) charC) intD) double
5.若给定条件表达式(x)? (a++):(a--), 则表达式x ( C )。
A) 和(x==0)等价B) 和(x==1)等价
C) 和(x!=0)等价D) 和(x!=1)等价
6. C语言中while和do-while循环的主要区别是( A )
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循控制条件严格 ×
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合句
7. 若有说明:int a[10];,则对a数组元素的正确引用是( D )
A) a[10]B)a[3.5] C)a(5) D)a[10-10]
9.设i和x 都是int类型,则以下for循环( A )。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A) 最多执行者10次B) 最多执行者9次
C) 是无限循环D) 循环体一次也不执行
10. 以下对二维数组a进行初始化的语句错误的是( C )
A) int a[2][3]={0};
B) int a[][3]={{1,2},{0}};
C) int a[2][3]={{1,2},{3,4},{5,6}};
D) int a[][3]={1,2,3,4,5,6};
11.下面描述正确的是( D )。
A) 两个字符串所包含的字符个数相同时,才能比较字符串 ×
B) 字符个数多的字符串比字符个数少的字符串大 ×
C) 字符串"stop"与"Stop"相等 ×
D) 字符串"that"小于字符串"the"
12. 以下不正确的说法是( B )。
A) 实参可以是常量、变量或表达式
B) 形参可以是常量、变量或表达式
C) 实参可以是任意类型
D) 形参应与其对应的实参类型一致
13.下面函数调用语句中含有实参个数为( B )。
func((exp1,exp2),(exp2,exp4,exp5));
A) 1B)2C)3D)4
15.设有下面的语句和说明,则下列叙述正确的是( D )。
char s[]="china"; char *p; p=s;
A) s和p完全相同
B) 数组s中的内容和指针变量P的内容相同
C) s数组长度和P所指向的字符串长度相同
D) *p和s[0]相同
16.若有说明:int a[3][4];,则对a数组元素正确引用是( C)。
A) a[2][4]B) a[1,3]C) a[1+1][0]D) a(2)(1)
17.设n=10,i=4,则赋值运算 n%=i+1执行后,n 的值是( A )。A) 0B) 3C) 2D) 1
18.一个C语言程序是由( B )。A) 一个主程序和若干子程序组成B) 函数组成 P6C) 若干过程组成D) 若干子程序组成
19.凡是在C语言中函数未指定存储类别的局部变量,其隐含的存储类别为( A )。
A) 自动B) 静态C) 外部D)寄存器
20.变量的指针,其含义是指该变量的( B )。
A) 值B)地址 C)名 D)一个标志
22.在C语言中,要求运算数必须是整型的运算符是( D )。
A) /B) ++C) !=D) %