c语言复习(答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言复习(答案)
模拟复习
一、选择题
1.C语言提供合法的数据类型关键字是( B ) 。
A. Double
B. short
C. while
D. temp
2.对于下列各字符串,请选取择正确的标识符( A ) 。
A. _123
B. for
C. 5abc
D. I_$
3.在C语言中,错误的转义字符是 ( A ) 。
A. '\091'
B. '\\'
C. '\0'
D. '\''
4.C语言中运算对象必须是整型的运算符是( A )。
A. %
B. /
C. =
D. <=
5.设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b 和c的值分
别是 ( B ) 。
A. 2,1,2
B. 2,0,3
C. 2,2,3
D. 2,1,3
6.以下不符合C语言语法的赋值语句是( D ) 。
A. i++;
B. i+=i=5;
C.k=(2*4,k*4);
D. float(i)=y;
7.设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的
数据类型为( C )。
A. int
B. float
C. double
D.不确定
8.单精度数x=3.0,y=4.0,下列表达式中y的值为9.0的是( B )。
A. y/=x*27/4
B. y+=x+2.0
C. y-=x+8.0
D. y*=x-3.0
9.已知变量int x=1,a=0,b=0; 执行下列程序段后a,b的值为( A ) 。
switch(x) { case 0 : b++;
case 1 : a++;
case 2 : a++;b++ ;
}
A. a=2,b=1
B. a=1,b=1
C. a=1,b=0
D. a=2,b=2
10.为避免在嵌套的条件语句if—else 中产生二义性,C语言规定:else
子句总是与( B )配对。
A. 缩排位置相同的if
B. 其之前最近的且尚未配对的if
C. 其之后最近的if
D. 同一行上的 if
11.已知:int a[ ][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( B ) 。
A. 2
B. 3
C. 4
D. 无确定值
12.判断char型变量m是否为小写字母的正确表达式是( D )
A. ‘a’<=m<=‘z’
B. (m>=a)&&(m<=z)
C. (m>=‘a’)||(m<=‘z’)
D. m>=‘a’&&m<=‘z’
13.已知变量float x=1.2,y=23.41;int z=345;要使输出为x=1.20, y=23.4,
z=345(中间无空格),则应使用语句printf(“__C____”,x,y,z);
A. %4.2f,%5.1f,%5d
B.%4.2f,%4.1f,%5d
C. %4.2f,%4.1f,%2d
D.%4.1f,%4.1f,%2d
14.以下叙述正确的是( C ) 。
A. do-while循环不能用其他语句构成的循环来代替
B. while循环只能用break语句退出
C. do-while循环在while后的表达式为0时结束循环
D. for循环只能用于循环次数已经确定的情况
15.以下程序的执行结果是( B )。
void main()
{ int x=3;
do{ printf(“%d”, x); }while(!x);
A. 2
B. 3
C. 4
D. 陷入死循环
16.以下程序的输出结果是( A )。
void main()
{ char i;
for(i='A';i<'I';i++,i++)
printf(“%c”, i);
}
A. ACEG
B. ACEGI
C. ABCDEFG
D.编译通不过
17.若有以下程序片段,输出结果是 ( C ) 。char str[]=“ab\n\012\\\””;
printf(“%d", strlen(str));
A. 3
B. 4
C. 6
D. 12
18.下面程序段的运行结果是( C )。
char a[7]=”abcdef”,b[4]=”ABC”; int i; strcpy(a,b);
for(i=0;i<7;i++)
printf(“%c”,a[i]);
A. ABCdef
B. ABC
C. ABC ef
D. ABC def
19.不能对二维数组a进行正确初始化的语句是( B )。
A. int a[2][3]={0};
B. int a[2][3]={{1,2},{3,4},{5,6}};
C. int a[][3]={{1,2},{0}};
D. int a[][3]={1,2,3,4,5,6};
20.设有以下宏定义: #define Y(m,n) m*n
若定义int s; 且令s=Y(2+1,3+5),
则变量s的值为( C )。
A. 12
B. 24
C. 10
D. 11
21.若有以下定义int a[5],*p=a; 则a数组元素地址的正确引用是( B ) 。
A. &a[5]
B. p+2
C. a++
D. &a
22.在C语言中,寄存器变量存储类型的说明符是( B )。
A. auto
B. register
C. static
D.extern
23.一个C程序的执行是从( A )。
A. 本程序的main函数开始,到main函数结束
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C. 本程序的main函数开始,到本程序文件的最后一个函数结束
D. 本程序文件的第一个函数开始,到本程序main函数结束
24.若使用一维数组名作函数实参,则以下正确的是( B )