c语言题库.docx
《c语言题库.docx》由会员分享,可在线阅读,更多相关《c语言题库.docx(82页珍藏版)》请在冰豆网上搜索。
c语言题库
C语言题库
1.能将高级语言编写的源程序转换成目标程序的是_B_____。
A)编辑程序 B)编译程序 C)解释程序 D)链接程序
您的答案是:
B参考答案是:
B
2.以下选项中合法的用户标识符是____B__。
A)long B)_2Test C)3Dmax D)A.dat
您的答案是:
B参考答案是:
B
3.以下叙述正确的是D
A)可以把define和if定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
D)define和if都不能定义为用户标识符
您的答案是:
D参考答案是:
D
4.以下叙述正确的是C
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚、具有其他语言的一切优点
您的答案是:
C参考答案是:
C
5.在一个C语言程序中C
A)main函数必须出现在所有函数之前
B)main函数必须出现在所有函数之后
C)main函数可以在任何地方出现
D)main函数必须出现在固定位置
您的答案是:
C参考答案是:
C
6.一个C语言程序是由C组成的。
A)一个主程序和若干子程序B)若干子程序C)函数D)若干过程
您的答案是:
C参考答案是:
C
7.以下叙述中正确的是(B)
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
您的答案是:
B参考答案是:
B
8.下列关于C语言用户标识符的叙述中正确的是C
A)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
B)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
C)用户标识符中不可以出现中划线,但可以出现下划线
D)用户标识符中可以出现下划线和中划线(减号)
您的答案是:
C参考答案是:
C
9.以下说法中正确的是C
A)C语言程序总是从第一个定义的函数开始执行
B)C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
您的答案是:
C参考答案是:
C
10.一个C程序的执行是从A
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
您的答案是:
A参考答案是:
A
11.随着微型机的普及,出现了众多的C语言版本,这些版本间相互__兼容______,即它们的语句功能基本__一致_______。
参考答案是:
兼容、一致
12.当用户用编辑器将C语言程序录入到计算机后,就建立了一个________,C源文件______被计算机
直接执行。
参考答案是:
C源文件、不能
13.C语言允许对________、_______、和________这些计算机功能中的基本成分进行操作。
参考答案是:
位、字节、地址
14.C语言提供了丰富的结构化语句,直接支持________、_______、和_______三种基本程序结构。
参考答案是:
顺序、分支、循环
15.C语言程序是由一系列________所组成。
_________是C语言独立的子程序。
参考答案是:
.函数、函数
16.C语言不包含依赖硬件的输入/输出语句,其输入/输出功能是由独立于C语言的_______来实现的。
参考答案是:
库函数
17.良好的程序设计风格是程序具备________、__________、___________的基本保证。
参考答案是:
可靠性、可读性、可维护性
18.正确的算法要求组成算法的规则和步骤的意义是_______,不能存在_______。
这些规则指定的操
作是________,必须按算法_______操作顺序执行,并能在执行_______步骤后给出正确结果。
参考答案是:
惟一的、二义性、有序的、指定的、有限
19.C语言的标识符主要用来表示_______、________、_________和_______等的名字,是只起标识
作用的一类符号。
C语言中的保留字都用________表示。
参考答案是:
常量、变量、函数、类型、小写英文字母
20.C语言文件的编译与执行可分成源文件________、________、________、与_______四个阶段。
参考答案是:
编辑、编译、连接、执行
21..C语言允许用户根据自已的需要定义一些标识符,这类标识符主要由________、________以
及_________构成,但开头字符一定是_________或_____________。
参考答案是:
英文字母、数字、下划线、字母、下划线
22.C语言系统中定义了很多不同的头文件,以满足用户对不同种类函数的________。
参考答案是:
调用
23.C语言源文件的扩展名为_________或________。
参考答案是:
.c、.cpp
24.一个C语言程序由一个或多个________组成,但一个C语言程序必须含有一个名为______的主函
数。
参考答案是:
函数、Main
基本数据类型及其运算
1.英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为D
A)50B)66C)52D)68
您的答案是:
D参考答案是:
D
2.若变量a是int类型,并执行了语句:
a=‘A’+1.6;,则正确的叙述是D
A)a的值是字符CB)a的值是浮点型
C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。
您的答案是:
D参考答案是:
D
3.以下程序段的输出结果是C
inta=1234;
printf("%2d\n",a);
A)12B)34
C)1234D)提示出错、无结果
您的答案是:
C参考答案是:
C
4.以下选项中不属于C语言的类型的是D
A)signedshortintB)unsignedlongint
C)unsignedintD)longshort
您的答案是:
D参考答案是:
D
5.若有说明语句:
inta,b,c,d=0;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A
A)scanf("%d%d%d",&a,&b,&c);B)scanf("%d%d%d",&a,&b,&d);
C)scanf("%d%d%d",a,b,d);D)scanf("%d%d%d",a,b,*d);
您的答案是:
A参考答案是:
A
6.在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是D
A)a=20000+20000;B)a=4000*10;
C)a=30000+10000;D)a=4000L*10L;
您的答案是:
D参考答案是:
D
7.若定义:
inta,则printf("%d\n",a=0==4>5);的输出结果为B
A)无确定值B)1C)0D)5
您的答案是:
B参考答案是:
B
8.以下程序的输出结果是C
main()
{inta=5,b=4,c=6,d;
printf("%d\n",d=a>b?
(a>c?
a:
c):
b);
}
A)5B)4C)6D)不确定
您的答案是:
C参考答案是:
C
9.以下程序的输出结果是B
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A)1B)0C)非0的数D)-1
您的答案是:
A参考答案是:
A
10.在32位计算机中,一个字长所占的字节数为___C__。
A)1 B)2 C)4 D)8
您的答案是:
C参考答案是:
C
11.以下选项中合法的实型常数是_C_____。
A)5E2.0 B)E-3 C).2E0 D)1.3E
您的答案是:
C参考答案是:
C
12.以下非法的赋值语句是__C___。
A)n=(i=2,++i); B)j++; C)++(i+1); D)x=j>0;
您的答案是:
C参考答案是:
C
13.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。
A)6.500000 B)6 C)5.500000 D)6.000000
您的答案是:
D参考答案是:
D
14.已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选
项中正确的输入语句是______。
A)scanf("%2d%2d%2d",&i,&j,&k);
B)scanf(""%d%d%d",&i,&j,&k);
C)scanf("%d,%d,%d",&i,&j,&k);
D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);
您的答案是:
C参考答案是:
C
15.与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是_____。
A)3*x^n/(2*x-1)
B)3*x**n/(2*x-1)
C)3*pow(x,n)*(1/(2*x-1))
D)3*pow(n,x)/(2*x-1)
(说明:
pow(x,n)函数的作用是返回x的n次方,该函数的定义放在math.h头文件
中。
您的答案是:
C参考答案是:
C
16.设有定义:
longx=-123456L;,则以下能够正确输出变量x值的语句是______。
A)printf("x=%d\n",x);
B)printf("x=%ld\n",x);
C)printf("x=%8dL\n",x);
D)printf("x=%LD\n",x);
您的答案是:
B参考答案是:
B
17.若有以下程序:
main()
{intk=2,i=2,m;
m=(k+=i*=k);printf("%d,%d\n",m,i);
}
执行后的输出结果是______。
A)8,6 B)8,3 C)6,4 D)7,4
您的答案是:
C参考答案是:
C
18.已有定义:
intx=3,y=4,z=5;,则表达式!
(x+y)+z-1&&y+z/2的值是______。
A)6 B)0 C)2 D)1
您的答案是:
D参考答案是:
D
19.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。
A)void B)int C)float D)double
您的答案是:
D参考答案是:
B
20.以下符合C语言语法的实型常量是()
A)1.2E0.5B)3.14.159EC).5E-3D)E15
您的答案是:
C参考答案是:
C
21.以下4组用户定义标识符中,全部合法的一组是()
A)_mainB)IfC)txtD)int
enclude-maxREALk_2
sinturbo3COM_001
您的答案是:
A参考答案是:
A
22.若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1=26.8%3B)1+2=x2C)x3=0x12D)x4=1+2=3;
您的答案是:
C参考答案是:
C
23.设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是()
A)a++;B)b++C)c++;D)d++;
您的答案是:
D参考答案是:
D
24.设有定义:
floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相
符的是()
A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)
您的答案是:
B参考答案是:
B
25.有以下程序
main()
{
intx=102,y=012;
printf("%2d,%2d\n",x,y);
}执行后输出结果是()
A)10,01B)002,12C)102,10D)02,10
您的答案是:
C参考答案是:
C
26.有以下语句段
intn1=10,n2=20;
printf("【7】",n1,n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
参考答案是:
n1=%d\nn2=%d\n
27.若从键盘输入58,则以下程序输出的结果是。
main()
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
参考答案是:
585858
28.以下程序的输出结果是。
main()
{inta=177;
printf("%o\n",a);
}
参考答案是:
261
29.以下程序的输出结果是。
main()
{inta=0
a+=(a=8);
printf("%d\n",a);
}
参考答案是:
16
30.以下程序输出的结果是。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
参考答案是:
0
31.若有语句
inti=-19,j=i%4;
printf("%d\n",j);
则输出的结果是。
参考答案是:
-3
32.若有程序
main()
{inti,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入
参考答案是:
i=10,j=20
33.若有以下程序
main()
{intp,a=5;
if(p=a!
=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
执行后输出结果是
参考答案是:
1
34.若有以下程序
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a,a=b,b=t;
if (a<c)t=a,a=c,c=t;
printf("%d%d%d\n",a,b,c);
}
执行后输出结果为
参考答案是:
5 3 4
35.以下4个选项中,不能看作一条语句的是
A){;}B)a=0,b=0,c=0;C)if(a>0);D)if(b==0)m=1;n=2;
参考答案是:
D
程序结构控制
1.以下说法中正确的是:
A.C语言程序总是从第一个定义的函数开始执行.
B.在C语言程序中,要调用的函数必须在main()函数中定义.
C.C语言程序总是从main()函数开始执行.
D.C语言程序中的main()函数必须放在程序的开始部分.
您的答案是:
C参考答案是:
C
2.设inta=1,b=2,c=4;经过表达式(c=a!
=b)&&(a==b)&&(c=b)运算后,a、b和c的值分别是
A.1,2,0B.1,2,1
C.1,2,2D.1,2,3
您的答案是:
B参考答案是:
B
3.以下程序的输出结果是
main()
{charx=040;
printf("%o\n",x<<1);
}
A)100B)80C)64D)32
您的答案是:
A参考答案是:
A
4.设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b)"后使a为‘A’,b为‘B’,从键盘上
的正确输入是:
A)‘A’‘B’B)‘A’,‘B’C)A=A,B=BD)a=A,b=B
您的答案是:
D参考答案是:
D
5.假定所有的变量均已正确定义,下列程序段运行后x的值是:
a=b=c=0;
x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
A)34B)4C)35D)3
您的答案是:
B参考答案是:
B
6.以下说法中正确的是:
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
您的答案是:
D参考答案是:
D
7.下列语句中,错误的是:
A)while(x=y)5;B)dox++while(x==10);
C)while(0);D)do2;while(a==b);
您的答案是:
B参考答案是:
B
8.循环语句for(x=0,y=0;(y!
=123)||(x<4);x++);的执行次数为:
A)无限次B)不确定C)4D)3
您的答案是:
A参考答案是:
A
9.以下程序中,while循环的循环次数是
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(i==5)break;
i++;
}
.....
}
A)1B)10
C)6D)死循环,不能确定次数
您的答案是:
D参考答案是:
D
10.以下程序的输出结果是
main()
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
您的答案是:
A参考答案是:
A
11.若i,j已定义为int类型,则以下程序段中内循环的执行次数是:
for(i=5;i;i--)
for(j=0;j<4;j++){...}
A)20B)24C)25D)30
您的答案是:
A参考答案是:
A
12.若执行下面的程序时,从键盘上输入3和4,则输出的结果是:
main()
{inta,b,s;
scanf("%d,%d",&a,&b);
s=a;
if(a<b)
s=b;
s=s*s;
printf("%d",s);
}
A)14B)16C)18D)20
您的答案是:
B参考答案是:
B
13.C语言中,整数-8在内存中的存储形式是:
A)1111,1111,1111,1000B)1000,0000,0000,1000
C)0000,0000,0000,1000D)1111,1111,1111,0111
您的答案是:
D参考答案是:
D
14.设x和y均为int型变量,则执行下面的循环后,y的值为:
a=1;b=10;
do{b-=a;a++;}
while(b--<0);
A)9B)-2C)-1D)8
您的答案是:
D参考答案是:
D
15.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{
case0:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
程序运行后的输出结果是
A)022111B)021021C)000122D)012
您的答案是:
C参考答案是:
C
16.main()
{
inta=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++);
else
printf("%d",++d);
printf("%d\n",d);
}
程序运行后的输出结果是
A)2B)3C)43D)44
您的答案是:
A参考答案是:
A
17.若变量已正确定义,要求程序段完成求5!
的计算,不能完成此操作的程序段是
A)for(i=1,p=1;i<=5;i++)p*=i;
B)for(i=1;i<=5;i++){p=1;p*=i;}
C)i=1;p=1;while(i<=5){p*=i;i++;}
D)i=1;p=1;do{p*=i;i++;}while(i<=5);
您的答案是:
B参考答案是:
B
18.有以下程序
main()
{unsignedinta;
intb=-1;
a=b;
printf("%u",a);
}
程序运行后的输出结果是
A)-1B)65535C)32767D)-32768
参考答案是:
B
19.main()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);
}
A)1B)1C)1D)l
222
33
4
参考答案是:
B
20.#include
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;
}
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21B)32C)33D)11
您的答案是:
B参考答案是:
B
21.在C语言中,实现循环的语句有if-goto语句,()语句,()语句和()语句
参考答案是:
while,dowhile,for
22.break只能用于()语句和()语句.
参考答案是:
switch,循环
23.在循环控制中,break语句用于(),continue语句用于().
参考答案是:
提前结束循环,执行循环后的语句.
提前结束本次循环,开始下一轮循环.
24.在内存中存储”A”要占用()个字节
参考答案是:
2
25.设for(k=0;k<0;k++)++k;则该循环共执行()次
参考答案是:
0
2