C语言模拟试题二.docx
- 文档编号:23797896
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:14
- 大小:18.73KB
C语言模拟试题二.docx
《C语言模拟试题二.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题二.docx(14页珍藏版)》请在冰豆网上搜索。
C语言模拟试题二
单选题:
(本大题共40小题,每题1.5分,共60分)
1、以下程序的输出结果是
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
2、表达式:
10!
=9的值是___
A.true
B.非零值
C.0
D.1
答案:
D
3、以下程序的输出结果是_____
main()
{char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str));
}
A.6
B.7
C.11
D.12
答案:
A
4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系
的表达式为________。
A.a<>0
B.!
a
C.a=0
D.a!
=0
答案:
D
5、以下程序输出结果是
main ( )
{ int m=5;
if (m++ > 5) printf ("%d\n",m);
else printf ("%d\n",m--);
}
A.7
B.6
C.5
D.4
答案:
B
6、在下列选项中,构成死循环的程序段是
A.inti=100
B.for(;;);
C.intk=1000;
D.ints=36
答案:
B
7、请读程序片段(字符串内没有空格字符):
printf("%d\n", strlen("ATS\n012\1\\"));
上面程序片段的输出结果是
A.11
B.9
C.10
D.8
答案:
B
8、下面程序的输出是
main()
{ int x=10,y=3;
printf("%d\n",y=x/y);}
A.0
B.1
C.3
D.不确定的值
答案:
C
9、以下程序的输出结果是
main()
{
int x=10,y=10;
printf("%d %d\n",x--,--y);
}
A.1010
B.99
C.910
D.109
答案:
D
10、在C语言中,当while语句中的条件为( )时,结束该循环.
A.0
B.1
C.TRUE
D.非0
答案:
A
11、以下说法中正确的是____。
A.在一个函数内部的复合语句中定义的变量可以在本函数范围内有效
B.不同函数中使用相同名字的变量时,代表的是相同的变量
C.寄存器变量是全局变量
D.一个函数内部定义的变量,只能在本函数范围内有效
答案:
D
12、判断两个字符串S1 和 S2 相等的正确语句是____
A.if(S1=S2)
B.if(S1==S2)
C.if(strcpy(S1,S2))
D.if(strcmp(S1,S2)==0)
答案:
D
13、C语言中运算对象必须是整型数的运算符是:
__
A.%
B.\
C.%和\
D.**
答案:
A
14、在C语言中,一维数组的定义方式为:
类型说明符 数组名_________
A.[常量表达式]
B.[整型表达式]
C.[整型常量]或[整型表达式]
D.[整型常量]
答案:
D
15、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是
main()
{int *p,*q,a,b;
p=&a;
printf("input a:
");
scanf("%d",*p);
}
A.*p表示的是指针变量p的地址
B.*p表示的是变量a的值,而不是变量a的地址
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
答案:
B
16、C语言规定,在一个源程序中,main函数的位置( )
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
答案:
C
17、下面四个选项中,均是不正确的八进制数或十六进制数的选项是
A.0160x8f018
B.0abc0170xa
C.010-0x110x16
D.0a127ff-123
答案:
D
18、以下选项中合法的字符常量是
A."B"
B.'\010'
C.68
D.D
答案:
B
19、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
A.INPUTx、y、z;
B.scanf("%d%d%d",&x,&y,&z);
C.scanf("%d%d%d",x,y,z);
D.read("%d%d%d",&x,&y,&z);
答案:
B
20、以下选项中,非法的字符常量是( )
A.'\t'
B.'\17'
C."n"
D.'\xaa'
答案:
C
21、以下定义语句中,错误的是
A.inta[]={1,2};
B.char*a[3];
C.chars[10]="test";
D.intn=5,a[n];
答案:
D
22、有如下程序
main( )
{
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
运行该程序的输出结果是
A.34
B.42
C.43
D.33
答案:
D
23、与 y=(x > 0?
1:
x < 0?
-1:
0);的功能相同的if语句是
A.if(x>0)y=1;elseif(x<0)y=-1;elsey=0;
B.if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;
C.y=-1if(x)y=1;elseif(x==0)y=0;elsey=-1;
D.y=0if(x>-0)if(x>0)y=1;elsey=-1;
答案:
A
24、下列程序的运行结果是
#include < stdio.h >
main()
{ int a=2,c=5;
printf("a=%d,b=%d\n",a,b);
}
A.a=%2,b=%5
B.a=2,b=5
C.a=d,b=d
D.a=%d,b=%d
答案:
B
25、以下选项中属于C语言的数据类型是
A.复数型
B.逻辑型
C.双精度型
D.集合型
答案:
C
26、以下程序的输出结果是
main( )
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2)printf("%d ",p[i]);
}
A.52
B.51
C.53
D.97
答案:
C
27、能正确表示a和b同时为正或同时为负的逻辑表达式是
A.(a>=0‖b>=0)&&(a<0‖b<0)
B.(a>=0&&b>=0)&&(a<0&&b<0)
C.(a+b>0)&&(a+b<=0)
D.a*b>0
答案:
D
28、下面程序把数组元素中的最大值放入a[0]中。
则在if 语句中的条件表达式应该是
main( )
{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;
for(i=0;i < 10;i++,p++)
if(________) *a=*p;
printf("%d",*a);
}
A.p>a
B.*p>a[0]
C.*p>*a[0]
D.*p[0]>*a[0]
答案:
B
29、将三个数排序需要比较( )次。
A.2
B.3
C.4
D.不确定
答案:
B
30、若有说明:
“double a;”,则正确的输入语句应该是( )
A.scanf("%lf",a);
B.scanf("%f",&a);
C.scanf("%lf",&a)
D.scanf("%le",&a);
答案:
D
31、以下说法中,正确的是( )
A.#define和printf都是C语言语句
B.#define是C语言语句,而printf不是
C.printf是C语言语句,而#define不是
D.#define和printf都不是C语言语句
答案:
C
填空题:
(本大题共16小题,每题1.5分,共24分)
1、下面程序的输出是______
inttun(intnum)
{intk=1;
do{
k=k*num%10;
num=num/10;
}while(num);
return(k);
}
main()
{intn=26;
printf("%d\n",tun(n));
}
答案:
2
2、把数组元素按顺序存放的过程称为_________.
答案:
排序
3、计算表达式6*7%2+7%2*5的值是________.
答案:
5
4、写出下面各个逻辑表达式的值,设a=3,b=4,c=5
1)!
(x=a)&&(y=b)&&0
2)a||b+c&&b-c
3)!
(a>b)&&!
c||1
答案:
0,1,1
6、下面程序的功能是:
计算1到10之间奇数之和及偶数之和,请填空。
#include
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<10;i+=2)
{a=a+i;
____________________
c=c+b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c);
}
答案:
b=i+1
7、若有以下定义,则计算表达式y+=y-=m*=y后的y值是___________
intm=5,y=2;
答案:
-16
8、当a=3,b=2,c=1时,表达式f=a>b>c的值是_________
答案:
0
9、若有定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为_________
(x+y)%2+(int)a/(int)b
答案:
1
15、以下程序的输出结果是___________。
﹟include﹤stdio.h﹥
voidmain()
{
doublea=123.123789
printf("%8.6f,%8.3f,%14.8f﹨n",a,a,a);
答案:
123.123789,123.124,123.12378900
程序设计题:
(本大题共3小题,考生任选2道作答,每题8分,共16分)
1、编程序求出2+4+8+16+32+…这样的数之和。
如果累加数大于500时,则程序终止并输出结果。
答案:
#include
main()
{
inti=2,sum=0;
while(sum<=500)
{
sum=sum+i;
i=i*2;
}
printf("\n%d",sum);
}
参考答案:
510
2、猴子摘桃。
3、一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:
6=1+2+3,则6就是一个完数。
求出200到500之间所有的完数之和。
答案:
#include
main()
{
inti,j;
intNum,Num2=0;
for(i=200;i<=500;i++)
{
Num=0;
for(j=1;j
if(i%j==0)
Num=Num+j;
if(Num==i)
Num2=Num2+i;
}
printf("%d",Num2);
}
参考答案:
496
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题