C语言考试题库及答案1范本模板.docx
《C语言考试题库及答案1范本模板.docx》由会员分享,可在线阅读,更多相关《C语言考试题库及答案1范本模板.docx(99页珍藏版)》请在冰豆网上搜索。
![C语言考试题库及答案1范本模板.docx](https://file1.bdocx.com/fileroot1/2022-11/27/744367e6-9164-416f-a104-1073bacd23c7/744367e6-9164-416f-a104-1073bacd23c71.gif)
C语言考试题库及答案1范本模板
C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)
1、下面程序的输出是___D______
#include〈stdio。
h〉
voidmain()
{intk=11;
printf("k=%d,k=%o,k=%x\n”,k,k,k);
}
A)k=11,k=12,k=11B)k=11,k=13,k=13
C)k=11,k=013,k=0xbD)k=11,k=13,k=b
2、在下列选项中,不正确的赋值语句是__D______。
A)++t;B)n1=(n2=(n3=0));
C)k=i=j;D)a=b+c=1;
3、下面合法的C语言字符常量是______A____。
A)'\t’B)"A"C)65D)A
4、表达式:
10!
=9的值是________D____。
A)trueB)非零值C)0D)1
5、C语言提供的合法的数据类型关键字是_____B____。
A)DoubleB)shortC)integerD)Char
6、字符(char)型数据在微机内存中的存储形式是__D__.
A)反码B)补码C)EBCDIC码D)ASCII码
7、C语言程序的基本单位是_____C______.
A)程序行B)语句C)函数D)字符
8、设inta=12,则执行完语句a+=a-=a*a后,a的值是____D____
A)552B)264C)144D)-264
9、执行下面程序中的输出语句后,输出结果是____B__.
#include〈stdio。
h〉
voidmain()
{inta;
printf("%d\n”,(a=3*5,a*4,a+5));
}
A)65B)20C)15D)10
10、下面程序的输出是____B______.
#include〈stdio.h〉
voidmain()
{intx=023;
printf(”%d\n”,—-x);
}
A)17B)18C)23D)24
11、下面程序的输出的是_____C____。
#includeh>
voidmain()
{intx=10,y=3;
printf(”%d\n",y=x/y);
}
A)0B)1C)3D)不确定的值
12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.
#include〈stdio.h>
voidmain()
{charch1,ch2;
ch1='A’+’5'-’3’;
ch2='A’+'6'—'3’;
printf(”%d,%c\n”,ch1,ch2);
}
A)67,DB)B,CC)C,DD)不确定的值
13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.
A)a〈〉0B)!
aC)a=0D)a
14、以下程序的输出结果是____D_____。
#includevoidmain()
{intx=10,y=10;
printf("%d%d\n",x--,-—y);
}
A)1010B)99C)910D)109
15、设有如下定义:
intx=10,y=3,z;
则语句
printf(”%d\n",z=(x%y,x/y));
的输出结果是_____D_____.
A)1B)0C)4D)3
16、为表示关系x≥y≥z,应使用C语言表达式___A___.
A)(x〉=y)&&(y>=z)B)(x〉=y)AND(y〉=z)
C)(x>=y〉=z)D)(x〉=y)&(y〉=z)
17、C语言中非空的基本数据类型包括____B____.
A)整型,实型,逻辑型B)整型,实型,字符型
C)整型,字符型,逻辑型
D)整型,实型,逻辑型,字符型
18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf(”%d”,(x,y));
上面程序片段的输出结果是____A___.
A)200B)100
C)100200D)输出格式符不够,输出不确定的值
19、阅读下面的程序
#includeh>
voidmain()
{
charch;
scanf(”%3c”,&ch);
printf("%c",ch);
}
如果从键盘上输入
abc〈回车〉
则程序的运行结果是__A_____。
A)aB)bC)cD)程序语法出错
20、阅读下面的程序
#includeh>
voidmain()
{
inti,j;
i=010;
j=9;
printf(”%d,%d”,i—j,i+j);
}
则程序的运行结果是____D____。
A)1,19B)-1,19C)1,17D)—1,17
21、阅读下面的程序
#includeh〉
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf(”%d,%d,%d,%d”,i,j,m,n);
}
程序的运行结果是______C____。
A)8,10,8,10B)9,11,8,10
C)9,11,9,10D)9,10,9,11
22、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.
A)0B)144C)12D)-264
23、若已定义inta,则表达式a=10,a+10,a++的值是__B_。
A)20B)10C)21D)11
24、阅读下面的程序
#include〈stdio。
h〉
voidmain()
{
inti,j;
scanf(”%3d%2d",&i,&j);
printf(”i=%d,j=%d\n”,i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.
A)i=123,j=4567B)i=1234,j=567
C)i=1,j=2D)i=123,j=45
25、下面程序的输出结果是____D____。
#include〈stdio.h〉
voidmain()
{
inta=-1,b=4,k;
k=(++a<=0)&&(b--〈=0);
printf(”%d,%d,%d\n”,k,a,b);
}
A)1,1,2B)1,0,3C)0,1,2D)0,0,3
26、下面程序的输出结果是____A____。
#includeh>
voidmain()
{
inta=5,b=3;
floatx=3。
14,y=6.5;
printf("%d,%d\n”,a+b!
=a-b,x<=(y—=6.1));
}
A)1,0B)0,1C)1,1D)0,0
27、执行下面程序段后,输出结果是____A____.
inta;
intb=65536;
a=b;
printf("%d\n",a);
A)65536B)0C)—1D)1
28、若有以下定义和语句:
inta=010,b=0x10,c=10;
printf(”%d,%d,%d\n",a,b,c);
则输出结果是____B_____.
A)10,10,10B)8,16,10C)8,10,10D)8,8,10
29、已知有double型变量x=2.5,y=4。
7,整型变量a=7,
则表达式x+a%3*(int)(x+y)%2/4的值是_____B____.
A)2。
4B)2。
5C)2。
75D)0
30、若已定义x和y是整型变量,x=2;,则表达式y=2。
75+x/2的值是____C____.
A)5.5B)5C)3D)4。
0
31、以下程序的输出结果是____D____.
#include
voidmain()
{
inta=12,b=12;
printf("%d,%d\n",—-a,++b);
}
A)10,10B)12,12C)11,10D)11,13
32、设有以下语句:
intx=10;x+=3+x%(3),则x的值是。
____A_____
A)14B)15C)11D)12
33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__。
A)1B)6。
0C)2。
0D)1.0
34、表达式5!
=3的值是____D____.
A)TB)非零值C)0D)1
35、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____。
A)0B)1C)12D)6
36、若有定义intx=3,y=2和floata=2.5,b=3。
5,则表达式:
(x+y)%2+(int)a/(int)b的值是__D__.
A)0B)2C)1。
5D)1
37、在C语言中,以下叙述不正确的是_____A____.
A)在C程序中,无论是整数还是实数,都能被准确无误的表示
B)在C程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的生存期相同
D)C语言中变量必须先定义后引用
38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____。
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字或下划线中的任意一种
39、设有说明:
charw;intx;floaty;doublez;则表达式:
w*x+z-y值的数据类型是___D____.
A)floatB)charC)intD)double
40、一个C语言的执行是从_____A______.
A)本程序的主函数开始,到本程序的主函数结束
B)本程序的第一个函数开始,到本程序的最后一个函数结束
C)本程序的主函数开始,到本程序的最后一个函数结束
D)本程序的第一个函数开始,到本程序的主函数结束
41、设a为整型变量,不能正确表达数学关系10A)10〈a<15B)a==11||a==12||a==13||a==14
C)a〉10&&a〈15D)!
(a<=10)&&!
(a〉=15)
42、下列程序执行后的输出结果是_____C____。
#include
voidmain()
{inta=5,b=60,c;
if(a〈b)
{c=a*b;printf(”%d*%d=%d\n”,b,a,c);}
else
{c=b/a;printf(”%d/%d=%d\n",b,a,c);}
}
A)60/5=12B)300C)60*5=300D)12
43、如果c为字符型变量,判断c是否为空格不能使用____A____。
(假设已知空格ASCII码为32)
A)if(c==’32')B)if(c==32)
C)if(c=='\40')D)if(c==’’)
44、运行下面程序时,若从键盘输入"3,5#includeh>
voidmain()
{
intx,y;
scanf("%d,%d",&x,&y);
if(x==y)
printf(”x==y");
elseif(x>y)
printf("x>y”);
else
printf(”x}
A)3〈5B)5>3C)x>yD)x〈y
45、运行下面程序时,若从键盘输入数据为”6,5,7#include
voidmain()
{inta,b,c;
scanf("%d,%d,%d”,&a,&b,&c);
if(a〉b)
if(a>c)
printf("%d\n”,a);
else
printf("%d\n”,c);
else
if(b>c)
printf("%d\n",b);
else
printf("%d\n",c);
}
A)5B)6C)7D)不定值
46、执行下面程序时,若从键盘输入"2〈CR>",则程序的运行结果是____A____.
#includevoidmain()
{intk;charcp;
cp=getchar();
if(cp〉=’0'&&cp〈=’9’)
k=cp—’0’;
elseif(cp>='a'&&cp〈=’f')
k=cp—’a'+10;
elsek=cp—’A'+10;
printf(”%d\n”,k);
}
A)2B)4C)1D)10
47、运行下面程序时,从键盘输入"2。
0〈CR>”,则输出结果是___B_____。
#include〈stdio。
h>
voidmain()
{floata,b;
scanf(”%f”,&a);
if(a〈0。
0)b=0。
0;
elseif((a〈0.5)&&(a!
=2。
0))b=1.0/(a+2.0);
elseif(a<10.0)b=1。
0/2;
elseb=10。
0;
printf("%f\n”,b);
}
A)0。
000000B)0。
500000
C)1。
000000D)0。
250000
48、执行下面程序后,运行结果是____A____。
#include〈stdio。
h〉
voidmain()
{intx=41,y=1;
if(x%3==0&&x%7==0)
{y+=x;printf("y=%d\n”,y);}
else
{y=x;printf(”y=%d”,y);}
}
A)y=41B)y=43C)y=42D)y=1
49、运行下面程序时,从键盘输入”12,34,9”,则输出结果是___A___。
#includeh〉
voidmain()
{intx,y,z;
scanf("%d,%d,%d”,&x,&y,&z);
if(xif(y〈z)printf(”%d\n”,z);
elseprintf(”%d\n",y);
elseif(x〈z)printf("%d\n”,z);
elseprintf(”%d\n",x);
}
A)34B)12C)9D)不确定的值
50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___。
#includeh〉
voidmain()
{charch;
ch=getchar();
switch(ch)
{case'H':
printf(”Hello!
\n");
case’G':
printf(”Goodmorning!
\n”);
default:
printf("Bye_Bye!
\n");
}
}
A)Hello!
B)Hello!
GoodMorning!
C)Hello!
D)Hello!
Goodmorning!
Bye_Bye!
Bye_Bye!
51、执行下列程序段后的输出结果是_____A____.
intx=1,y=1,z=1;
x+=y+=z;
printf(”%d\n”,xy:
x);
A)3B)2C)1D)4
52、设ch是char型变量,值为’A',则表达式ch=(ch〉=’A’&&ch〈='Z')?
ch+32:
ch的值是__B___。
A)ZB)aC)zD)A
53、下面程序的输出结果是____C____。
#includeh〉
voidmain()
{intx=8,y=-7,z=9;
if(xif(y〈0)z=0;
elsez—=1;
printf(”%d\n”,z);
}
A)8B)1C)9D)0
54、运行下面程序时,若从键盘输入”5〈CR〉",则程序的输出结果是_____B___。
#includeh>
voidmain()
{inta;
scanf("%d”,&a);
if(a++>5)printf("%d\n",a);
elseprintf(”%d\n”,a——);
}
A)7B)6C)5D)4
55、运行下面程序时,若从键盘输入”3,4#include〈stdio。
h〉
voidmain()
{inta,b,s;
scanf("%d,%d”,&a,&b);
s=a;
if(s〈b)s=b;
s=s*s;
printf("%d\n",s);
}
A)14B)16C)18D)20
56、下列程序的执行结果是_____D____。
#include〈stdio。
h〉
voidmain()
{intx=0,y=1,z=0;
if(x=z=y)
x=3;
printf("%d,%d\n”,x,z);
}
A)3,0B)0,0C)0,1D)3,1
57、假定等级和分数有以下对应关系:
等级:
A分数:
85~100
等级:
B分数:
60~84
等级:
C分数:
60以下
对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____。
A)switch(grade)
{
case’A’:
printf("85——100\n");
case'B’:
printf("60-—84\n”);
case'C':
printf("60以下\n”);
default:
printf("等级错误!
\n");
}
B)switch(grade)
{
case’A':
printf(”85-—100\n");break;
case’B':
printf("60—-84\n”);
case’C':
printf(”60以下\n");
default:
printf("等级错误!
\n");
}
C)switch(grade)
{
case’A’:
printf(”85—-100\n”);break;
case’B’:
printf(”60—-84\n");break;
case’C':
printf("60以下\n");
default:
printf(”等级错误!
\n");
}
D)switch(grade)
{
case’A':
printf("85——100\n");break;
case'B':
printf("60--84\n”);break;
case'C':
printf("60以下\n");break;
default:
printf("等级错误!
\n”);
}
58、能够完成如下函数计算的程序段是__B____。
┌-1x〈0
y=┤0x=0
└1x〉0
A)y=1;B)if(x〉=0)
if(x!
=0)if(x〉0)y=1;
if(x>0)y=1;elsey=0;
elsey=0;elsey=-1;
C)y=0;D)y=—1;
if(x〉=0)if(x>0)y=1;
if(x>0)y=1;elsey=0;
elsey=—1;
59、有如下程序
#include
voidmain()
{floatx=5。
0,y;
if(x〈0.0)y=0.0;
elseif(x<10。
0)y=1。
0/x;
elsey=1。
0;
printf("%f\n",y);
}
该程序的输出结果是____C_____.
A)0.000000B)0.50000
C)0。
200000D)1.000000
60、以下程序的执行结果是___B_____。
#include〈stdio.h〉
voidmain()
{intx=1,y=0;
switch(x)
{
case1:
switch(y)
{
case0:
printf(”first\n");break;
case1:
printf(”second\n”);break;
}
case2:
printf("third\n”);
}
}
A)firstB)first
secondthird
C)firstD)second
third
61、以下程序的执行结果是____A____。
#include〈stdio.h>
voidmain()
{inta,b,c,d,x;
a=c=0;
b=1;
d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)x=15;
elsex=25;
printf("d=%d\n",d);
}
A)d=20B)d=10C)d=15D)25
62、有如下程序:
#include〈stdio。
h>
voidmain()
{inta=2,b=—1,c=2;
if(a〈b)
if(b<0)c=0;
elsec++;
printf("%d\n”,c);
}
该程序的输出结果是___C_____.
A)0B)1C)2D)3
63、下列程序执行后的输出结果是____B____。
#include〈stdio。
h〉
voidmain()
{intx,y=1,z;
if((z=y)〈0)x=4;
elseif(y==0)x=5;
elsex=6;
printf("%d,%d\n”,x,y);
}
A)4,1B)6,1C)5,0D)出错信息
64、有如下程序
#includ