C语言习题集参考答案.docx
- 文档编号:18332485
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:39
- 大小:39.44KB
C语言习题集参考答案.docx
《C语言习题集参考答案.docx》由会员分享,可在线阅读,更多相关《C语言习题集参考答案.docx(39页珍藏版)》请在冰点文库上搜索。
C语言习题集参考答案
C语言习题集
一、程序设计基本概念
1、以下叙述正确的是:
__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_B_。
A)有0个或多个输入。
B)有0个或多个输出。
C)有穷性。
D)可行性。
3、以下叙述中正确的是___C__。
A)C语言比其它语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的,具有其它语言的一切优点。
4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档 B)语言 C)程序 D)系统
6、用高级程序设计语言编写的程序称为__C__。
A)目标程序 B)可执行程序 C)源程序 D)伪代码
7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序 B)编译程序 C)驱动程序 D)链接程序
8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
二、C程序设计初步
1、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_mainencludesin B)if–maxturbo C)txtREAL3COM D)intk_2_001
2、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int
3、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5 B)3.14159E C).5E-3 D)E15
4、若以下选项中的变量已正确定义,则正确的赋值语句是_C__。
A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3;
5、设有定义:
floata=2,b=4,h=3;以下C语言表达式中与代数式
计算结果不相符的是__B__。
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
6、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
7、下列选项中可以作为C语言中合法整数的是__C__。
A)10110B B)0386 C)0Xffa D)x2a2
8、下列选项中非法的表达式是__D___。
A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1
9、有以下程序:
main(){inta;charc=10;floatf=100.0;doublex;
a=f/=c*=(x=6.5);
printf(“%d%d%3.1f%3.1f\n”,a,c,f,x);}
程序运行后的输出结果是_B__。
A)16516.5B)1651.56.5 C)1651.06.5 D)2651.56.5
10、设有以下定义:
inta=0;doubleb=1.25;charc=’A’;
#defined2
则下面语句中,错误是__D__。
A)a++; B)b++; C)c++; D)d++;
11、设有如下程序段:
intx=2002,y=2003;
printf(“%d\n”,(x,y));
则以下叙述正确的是__D__。
A)输出语句中格式说明的个数少于输出项的个数,不能正确输出。
B)运行时产生出错信息。
C)输出值为2002。
D)输出值为2003。
12、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入的是__B__。
A)x=x*100+0.5/100.0 B)x=(x*100+0.5)/100.0
C)x=(int)(x*100+0.5)/100.0 D)x=(x/100+0.5)*100.0
13、要求以下程序功能是计算:
main(){intn;floats;s=1.0;
for(n=10;n>1;n--)s=s+1/n;
printf(“%6.4f\n”,s);}
程序运行后输出结果错误,导致错误结果的程序行是__C__。
A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf(“%6.4f\n”,s);
14、在一个C程序中__B__。
A)main函数必须出现在所有函数之前。
B)main函数可以在任何地方出现。
C)main函数必须出现在所有函数之后。
D)main函数必须出现在固定位置。
15、下列叙述中,正确的是__D__。
A)C语言中既有逻辑类型也有集合类型。
B)C语言中没有逻辑类型但有集合类型。
C)C语言中有逻辑类型但没有集合类型。
D)C语言中既没有逻辑类型也没有集合类型。
16、下列关于C语言用户标识符的叙述中正确的是__B__。
A)用户标识中可以出现下划线和中划线(减号)。
B)用户标识符中不可以出现中划线,但可以出现下划线。
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头。
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头。
17、下列关于单目运算符++、--的叙述中正确的是__D__。
A)它们的运算对象可以是任何变量和常量。
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量。
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量。
D)它们的运算对象可以是char型变量、int型变量和float型变量。
18、有以下程序:
main(){inti=10,j=1;printf(“%d,%d\n”,i--,++j);}
执行后输出结果是__B_。
A)9,2B)10,2 C)9,1 D)10,1
填空题
1、以下sum函数的功能是计算下列级数之和。
,请给函数中的各变量正确赋初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
_________s=1.0;a=1;b=1;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;}
2、若有语句:
inti=-19,j=i%4;printf(“%d\n”,j);
则输出结果是__-3___。
(注:
%运算结果的符号与%前面数据的符号相同)
同步练习
1、一个C语言的源程序中,___A__。
A)必须有一个主函数 B)可能有多个主函数
C)必须有除主函数外其它函数 D)可以没有主函数
2、C语言程序总是从_C__开始执行。
A)第一条语句 B)第一个函数 C)主函数 D)子程序
3、对C语言源程序执行过程描述正确是__A__。
A)从main函数开始执行。
B)从程序中第一个函数开始执行,到最后一个函数结束。
C)从main函数开始执行,到源程序最后一个函数结束。
D)从第一个函数开始,到main函数结束。
4、以下选项中合法的用户标识符是__B__。
A)longB)_2TestC)3DmaxD)for
5、以下对C语言的描述中正确是__C___。
A)C语言源程序中可以有重名的函数。
B)C语言源程序要求每行只能书写一条语句。
C)注释可以出现在C语言源程序中的任何位置。
D)最小的C语言源程序中没有任何内容。
6、在C语言中,不正确的int类型常数是__A__。
A)32768 B)0 C)037 D)0xAF
7、以下选项中属于C语言的数据类型是__C__。
A)复数型 B)逻辑型 C)双精度型 D)集合型
8、下列变量中定义合法的是__A__。
A)shor_a=1-1e-1;B)doubleb=1+5e2.5;C)longdo=0xfdal;D)float2_and=1-e-3;
9、C语言中运算对象必须是整形的运算符是__A__。
A)%=B)/C)=D)*=
10、设有intx=11;,则表达式(x++*1/3)的值是__A__。
A)3 B)4 C)11 D)12
11、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C__。
A)1 B)2 C)2.0 D)12
12、若有以下程序段:
intc1=1,c2=2,c3;c3=1.0/c2*c1;,则执行后,c3中的值是_A__。
A)0 B)0.5 C)1 D)2
13、执行下列程序的输出结果是_A__(小数点后只定1位)。
main(){doubled;floatf;longm;inti;
i=f=m=d=20/3;
printf(“%d%ld%f%f\n”,i,m,f,d);}
A)666.06.0B)6666.76.7C)666.06.7D)666.76.0
14、设有以下的变量定义:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是__A__。
A)a+=a-=(b=4)*(a=3)B)x%(-3)C)a=a*3=2D)y=float(i)
15、执行下列程序后的输出结果是_C__。
注:
此题应注意C
main(){doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf(“%d\n”,d*y);}
A)3B)3.2C)0D)3.07
16、若变量已正确定义并赋值,下面符合C语言语法的表达式是_B___。
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
17、假定有以下变量定义:
intk=7,x=12;,则值为3的表达式是_D__。
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
18、设x和y均为int型变量,则下列语句:
x+=y;y=x-y;x-=y;的功能是__D__。
A)把x和y按从大到小排列 B)把x和y按从小到大排列
C)无确定结果 D)交换x和y中的值
19、设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32)后,x的值为_C_。
A)4 B)16 C)32 D)52
二、填空题
1、以下程序的输出结果是____。
0
voidmain(){unsignedshorta=65536;intb;printf(“%d\n”,b=a);}
2、若有定义:
inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是__3__。
c=(a-=(b-5));c=(a%11)+(b=3);
3、设有以下变量定义,并已赋确定的值,charw;intx;floaty;doublez;
则表达式:
w*x+z-y年求得的数据类型为__double或双精度型__。
三、顺序结构
典型考试题
1、以下4个选项中,不能看作一条语句的是_D__。
A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0)m=a;n=2;
2、有以下程序:
main(){intx=102,y=012;
printf(“%2d,%2d\n”,x,y);}
执行后输出结果是__C__。
A)10,01 B)02,12 C)102,10 D)02,10
3、有定义语句:
intx,y;,若要通过语句scanf(“%d,%d”,&x,&y);使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是__C__。
A)11 12<回车> B)11, 12<回车> C)11,12<回车> D)11,<回车> 12<回车>
4、若有以下程序段(n为八进制数)
intm=32767,n=;printf(“%d,%o\n”,m,n);
执行后输出结果是__A__。
A)32767,32767 B)32767, C)32767,77777 D)32767,
5、若有以下程序段:
intm=0xabc,n=0xabc;
m-=n;
printf(“%X\n”,m);
执行后输出的结果是__C__。
A)0X0 B)0x0 C)0 D)0XABC
6、有以下程序段:
intm=0,n=0;charc=’a’;
scanf(“%d%c%d”,&m,&c,&n);
printf(“%d,%c,%d\n”,m,c,n);
若从键盘上输入:
10A10<回车>,则输出结果是__A__。
A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0
7、设有定义:
inta,*pa=&a;,以下scanf语句中能正确为变量a读入数据的是____。
A)scanf(“%d”,pa); B)scanf(“%d”,a); C)scanf(“%d”,&pa); D)scanf(“%d”,*pa);
填空题
1、有以下语句段:
intn1=10,n2=20;
printf(“_____”,n1,n2);\nn1=%d\nn2=%d
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
2、若有以下程序:
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<回车>____。
3、若有以下程序:
此题要注意
main(){inta=4,b=3,c=5,t=0;
if(a
if(a printf(“%d%d%d\n”,a,b,c);} 执行后输出结果是_503____。 练习 1、若有变量a,i已正确定义,且i已正确赋值,合法的语句是_B___。 A)a==1 B)++i C)a=a++=5 D)a=int(i) 2、有如下程序: main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);} 运行该程序的输出结果是__D__。 A)3 4 B)4 2 C)4 3 D)3 3 3、下列程序的运行结果是__B__。 main(){inta=2,c=5;printf(“a=%d,b=%d\n”,a,c);} A)a=%2,b=%5 B)a=2,b=5 C)a=d,b=d D)A=%d,b=%d 4、以下说法中正确的是__D__。 A)#define和printf都是C语句。 B)#define是C语句,而printf不是。 C)printf是C语句,但#define不是。 D)#define和printf都不是C语句。 5、以下程序的输出结果是__D__。 main(){intk=17;printf(“%d,%o,%x\n”,k,k,k);} A)17,21,0x11 B)17,17,17 C)17,0x11,021 D)17,21,11 6、若有说明: long*p,a;则不能通过scanf语句正确给输入项读入数据的程序段是_A__。 A)*p=&a;scanf(“%ld”,p); B)p=(long*)malloc(4);scanf(“%ld”,p); C)scanf(“%ld”,p=&a);C)scanf(“%ld”,&a); 7、以下叙述正确是__D__。 A)输入项可以是一个实型常量,如: scanf(“%d”,3.5)。 B)只有格式控制,没有输入项,能正确输入数据到内存,如: scanf(“a=%d,b=%d);。 C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf(“%4.2f”,&f)。 D)当输入数据时,必须指明变量的地址,例如: scanf(“%f”,&f);。 8、以下程序的输出结果是__D__。 main(){inta=12,b=12;printf(“%d%d\n”,--a,++b);} A)1010 B)1212 C)1110 D)1113 填空题 1、若想通过以下输入语句使得a=5.0,b=4,c=3,则输入数据的形式应该是_5.0,4,c=3<回车>或5,4,c=3<回车>_。 ……. intb,c;floata; scanf(“%f,%d,c=%d”,&a,&b,&c); …….. 2、有4条语句: x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,写出一条同一功能的赋值语句(不得与列举的相同)__x+=1;__。 3、以下程序的输出的结果是_261__。 main(){inta=177;printf(“%o\n”,a);} 4、以下程序的输出结果是_2,1___。 main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf(“%d,%d\n”,a,b);} 四、选择结构 典型考题 1、以下程序段中与语句k=a>b? (b>c? 1: 0): 0;功能等价的是__A__。 A)if((a>b&&(b>c))k=1;elsek=0; B)if((a>b)||(b>c))k=1;elsek=0; C)if(a<=b)k=0;elseif(b<=c)k=1; D)if(a>b)k=1;elseif(b>c)k=1;elsek=0; 2、有以下程序: main(){chark;inti; for(i=1;i<3;i++){ scanf(“%c”,&k);switch(k){case‘0’: printf(“another\n”);case‘1’: printf(“number\n”);}}} 程序运行时,从键盘输入: 01<回车>,程序执行后的输出结果是__C_。 case穿透 A)another number B)another number another C)another number number D)number number 3、有以下程序: main(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d\n”,x,y,z);} 程序执行后的输出结果是__B__。 A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5 4、有定义语句: inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是C。 A)if(c elseif(b elsex=3; B)if(a<3)x=3; elseif(a<2)x=2; elsex=1; C)if(a<3)x=3; if(a<2)x=2; if(a<1)x=1; D)if(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题集 参考答案