C语言题库Word格式文档下载.docx
《C语言题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言题库Word格式文档下载.docx(69页珍藏版)》请在冰豆网上搜索。
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
2.若变量a是int类型,并执行了语句:
a=‘A’+1.6;
,则正确的叙述是D
A)a的值是字符CB)a的值是浮点型
C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。
3.以下程序段的输出结果是C
inta=1234;
printf("
%2d\n"
a);
A)12B)34
C)1234D)提示出错、无结果
4.以下选项中不属于C语言的类型的是D
A)signedshortintB)unsignedlongint
C)unsignedintD)longshort
5.若有说明语句:
inta,b,c,d=0;
,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A
A)scanf("
%d%d%d"
&
a,&
b,&
c);
B)scanf("
d);
C)scanf("
a,b,d);
D)scanf("
a,b,*d);
6.在16位C编译系统上,若定义longa;
,则能给a赋40000的正确语句是D
A)a=20000+20000;
B)a=4000*10;
C)a=30000+10000;
D)a=4000L*10L;
7.若定义:
inta,则printf("
%d\n"
a=0==4>
5);
的输出结果为B
A)无确定值B)1C)0D)5
8.以下程序的输出结果是C
main()
{inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c):
b);
}
A)5B)4C)6D)不确定
9.以下程序的输出结果是B
{inta=4,b=5,c=0,d;
d=!
a&
&
!
b||!
c;
d);
A)1B)0C)非0的数D)-1
10.在32位计算机中,一个字长所占的字节数为___C__。
A)1 B)2 C)4 D)8
11.以下选项中合法的实型常数是_C_____。
A)5E2.0 B)E-3 C).2E0 D)1.3E
12.以下非法的赋值语句是__C___。
A)n=(i=2,++i);
B)j++;
C)++(i+1);
D)x=j>
0;
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
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"
%d,%d,%d"
D)scanf("
i=%d,j=%d,k=%d"
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头文件
中。
16.设有定义:
longx=-123456L;
,则以下能够正确输出变量x值的语句是______。
A)printf("
x=%d\n"
x);
B)printf("
x=%ld\n"
C)printf("
x=%8dL\n"
D)printf("
x=%LD\n"
17.若有以下程序:
{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
18.已有定义:
intx=3,y=4,z=5;
,则表达式!
(x+y)+z-1&
y+z/2的值是______。
A)6 B)0 C)2 D)1
19.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。
A)void B)int C)float D)double
20.以下符合C语言语法的实型常量是()
A)1.2E0.5B)3.14.159EC).5E-3D)E15
21.以下4组用户定义标识符中,全部合法的一组是()
A)_mainB)IfC)txtD)int
enclude-maxREALk_2
sinturbo3COM_001
22.若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1=26.8%3B)1+2=x2C)x3=0x12D)x4=1+2=3;
23.设有以下定义
inta=0;
doubleb=1.25;
charc=’A’;
#defined2
则下面语句中错误的是()
A)a++;
B)b++C)c++;
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)
25.有以下程序
main()
{
intx=102,y=012;
%2d,%2d\n"
x,y);
}执行后输出结果是()
A)10,01B)002,12C)102,10D)02,10
26.有以下语句段
intn1=10,n2=20;
【7】"
n1,n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
n1=%d\nn2=%d\n
27.若从键盘输入58,则以下程序输出的结果是。
{inta;
scanf("
%d"
a);
if(a>
50)printf("
40)printf("
30)printf("
585858
28.以下程序的输出结果是。
{inta=177;
%o\n"
261
29.以下程序的输出结果是。
{inta=0
a+=(a=8);
16
30.以下程序输出的结果是。
{inta=5,b=4,c=3,d;
d=(a>
b>
31.若有语句
inti=-19,j=i%4;
j);
则输出的结果是。
-3
32.若有程序
main()
{inti,j;
i=%d,j=%d"
j);
i=%d,j=%d\n"
i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入
i=10,j=20
33.若有以下程序
{intp,a=5;
if(p=a!
=0)
p);
else
p+2);
执行后输出结果是
1
34.若有以下程序
{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;
%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()函数必须放在程序的开始部分.
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
3.以下程序的输出结果是
{charx=040;
x<
<
1);
A)100B)80C)64D)32
4.设a,b为字符型变量,执行"
a=%c,b=%c"
b)"
后使a为‘A’,b为‘B’,从键盘上
的正确输入是:
A)‘A’‘B’B)‘A’,‘B’C)A=A,B=BD)a=A,b=B
5.假定所有的变量均已正确定义,下列程序段运行后x的值是:
a=b=c=0;
x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A)34B)4C)35D)3
6.以下说法中正确的是:
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
7.下列语句中,错误的是:
A)while(x=y)5;
B)dox++while(x==10);
C)while(0);
D)do2;
while(a==b);
8.循环语句for(x=0,y=0;
(y!
=123)||(x<
4);
x++);
的执行次数为:
A)无限次B)不确定C)4D)3
9.以下程序中,while循环的循环次数是
{inti=0;
while(i<
10)
{if(i<
1)continue;
if(i==5)break;
i++;
.....
A)1B)10
C)6D)死循环,不能确定次数
10.以下程序的输出结果是
{inta=0,i;
for(i=1;
i<
5;
i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
A)31B)13C)10D)20
11.若i,j已定义为int类型,则以下程序段中内循环的执行次数是:
for(i=5;
i;
i--)
for(j=0;
j<
4;
j++){...}
A)20B)24C)25D)30
12.若执行下面的程序时,从键盘上输入3和4,则输出的结果是:
{inta,b,s;
scanf("
%d,%d"
s=a;
if(a<b)
s=b;
s=s*s;
s);
A)14B)16C)18D)20
13.C语言中,整数-8在内存中的存储形式是:
A)1111,1111,1111,1000B)1000,0000,0000,1000
C)0000,0000,0000,1000D)1111,1111,1111,0111
14.设x和y均为int型变量,则执行下面的循环后,y的值为:
a=1;
b=10;
do{b-=a;
a++;
while(b--<
A)9B)-2C)-1D)8
15.有以下程序
{inti;
for(i=0;
3;
switch(i)
{
case0:
i);
程序运行后的输出结果是
A)022111B)021021C)000122D)012
16.main()
inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)
d++);
else
++d);
A)2B)3C)43D)44
17.若变量已正确定义,要求程序段完成求5!
的计算,不能完成此操作的程序段是
A)for(i=1,p=1;
=5;
i++)p*=i;
B)for(i=1;
i++){p=1;
p*=i;
C)i=1;
p=1;
=5){p*=i;
D)i=1;
do{p*=i;
}while(i<
=5);
18.有以下程序
{unsignedinta;
intb=-1;
a=b;
%u"
程序运行后的输出结果是
A)-1B)65535C)32767D)-32768
19.main()
{intnum=0;
while(num<
=2)
{num++;
printf(“%d\n”,num);
A)1B)1C)1D)l
222
33
4
20.#include
{inti=0,a=0;
20)
{for(;
;
)
{if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
A)21B)32C)33D)11
21.在C语言中,实现循环的语句有if-goto语句,()语句,()语句和()语句
while,dowhile,for
22.break只能用于()语句和()语句.
switch,循环
23.在循环控制中,break语句用于(),continue语句用于().
提前结束循环,执行循环后的语句.
提前结束本次循环,开始下一轮循环.
24.在内存中存储”A”要占用()个字节
2
25.设for(k=0;
k<
k++)++k;
则该循环共执行()次
2