C语言模拟试卷2(带答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单选题:
1、执行下面的程序段后,变量k中的值为
s[0]=k; k=s[1]*10;
A. 不定值
B. 33
C. 30
D. 10
答案: A
2、设有以下定义:
#define N 3
#define Y(n) ( (N+1)*n)
则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+
(4*5+1)
A. 出错
B. 42
C. 48
D. 54
答案: C
3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____
A. 1
B. 2
C. 2.0
D. 2.5
答案: c
4、请选出以下语句的输出结果____
printf("%d\n",strlen("\t\ 065\xff\n"))
A. 5
B. 4
C. 8
D. 输出项不合法,无正常输出
答案: B
5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的
else总是与____组成配对关系。
A. 其上面距它最近的,并且没有其他else与其配对的if相配对
B. 在同一行上的if
C. 缩排位置相同的if
D. 在其之前未配对的if
答案: A
6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y));
上面程序片段的输出结果是
A. 200
B. 100
C. 100 200
D. 输出格式符不够,输出不确定的值
答案: A
7、请读程序片段(字符串内没有空格字符):
printf("%d\n", strlen("ATS\n012\1\\"));
上面程序片段的输出结果是
A. 11
B. 9
C. 10
D. 8
答案: B
8、设有以下程序段
int x=0,s=0;
while(!x!=0) s+=++x;
printf("%d",s);
则______
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
答案: B
9、阅读下列程序:
main( )
{ int n[3],i,j,k;
for(i=0;i〈3;i++)
n[i]=0;
k=2;
for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3
for (j=0;j〈2;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
下述程序运行后输出结果是
A. 2
B. 1
C. 0
D. 3
答案: D
10、输入一个华氏温度,要求输出摄氏温度。计算公式为:
c=5/9(F-32),以下程序正确的是()
A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }
B. main() { float c,F; scanf("%f,%f",&c,&F); c=5*(F-32)/9; printf("摄氏温度是:%f\n",c); }
C. main() { float c,F; scanf("%f,%f",&c,&F); c=5%9*(F-32); printf("摄氏温度是:%f\n",c); }
D. main() { float c,F; scanf("%f,%f",&c,&F);
c=5.0/9.0(F-32); printf("摄氏温度是:%f\n",c); } 答案: B
11、以下程序的输出结果是
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
}
A. 17,021,0x11
B. 17,17,17
C. 17,0x11,021
D. 17,21,11
答案: D
12、请读程序:
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0: a++;break;
case 1: b++;break;
}
case 2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
上面程序输出结果是
A. a=2,b=1
B. a=1,b=1
C. a=1,b=0
D. a=2,b=0
答案: A
13、 C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____.
A. 单纯值传递
B. 单纯地址传递
C. 值传递和地址传递都有可能
D. 由实参传给形参,然后由形参传回给实参,即是双向传递
答案: A
14、下列不正确的转义字符是( )
A. '\\'
B. '\'
C. '\101'
D. '\0'
答案: B
15、下列语句正确的是( )
A. if(a > b > c) temp=a
B. if((a=b) > 0) temp=a
C. int a=b=c=4
D. int a;scanf(%d,a)
答案: B
16、以下说法中正确的是( )。
A. C语言程序中是从第一定义的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
答案: C
17、下列说法中正确的是____。
A. 一个数组能够存储许多不同类型的值
B. 数组的下标可以是float数据类型
C. 如果初始化值列表中的个数少于数组的元素的个数,C编译器会自动补齐
D. 初始化值列表中的值的个数多于数组元素的个数是错误的
答案: D
18、设有说明:char w;int x;float y;double z;则表达式
w*x+z-y值的数据类型为
A. float
B. char
C. int
D. double
答案: D
19、设以下变量均为int类型,则值不等于7的表达式是
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. (y=6,y+1,x=y,x+1)
答案: C
20、以下不正确的if语句形式是
A. if(x>y&&x!=y)t=x++;
B. if(x==y) x+=y;