收藏 分销(赏)

电大C语言程序设计形成性考核册答案缩写本.doc

上传人:精*** 文档编号:4645455 上传时间:2024-10-08 格式:DOC 页数:34 大小:109.50KB
下载 相关 举报
电大C语言程序设计形成性考核册答案缩写本.doc_第1页
第1页 / 共34页
电大C语言程序设计形成性考核册答案缩写本.doc_第2页
第2页 / 共34页
电大C语言程序设计形成性考核册答案缩写本.doc_第3页
第3页 / 共34页
电大C语言程序设计形成性考核册答案缩写本.doc_第4页
第4页 / 共34页
电大C语言程序设计形成性考核册答案缩写本.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。一、 选择题1. 在每个C语言程序中都必须包含有这样一个函数, 该函数的函数名为( A) 。Amain BMAIN Cname Dfuntion2C语言原程序文件的缺省扩展名为( A) 。Acpp Bexe Cobj DC3由C语言目标文件连接而成的可执行的缺省扩展名为( B) 。Acpp Bexe Cobj DC4程序运行中需要从键盘输入多于一个数据时, 各数据之间应使用( D) 符号作为分隔符。A空格或逗号 B逗号或回车 C回车或分号 D空格或回车5每个C语言程序的编译错误分为( B) 类。A1 B2 C3 D46设x 和y 均

2、为逻辑值, 则x & y为真的条件是( A) 。A它们均为真 B其中一个为真 C它们均为假 D其中一个为假7设有语句”int a=12;a+=a*a;”, 则执行结束后, a 的值为( C) 。A12 B144 C156 D2888x0 & x=10的相反表示式为( A) 。Ax10 Bx10 Cx=0 | x0 & x109字符串”a+b=12n”的长度为( B) 。A6 B7 C8 D910在下列符号常量定义中。错误的定义语句格式为( C) 。Aconst M1=10; Bconst int M2=20; Cconst M3 10 Dconst char mark=3;11带有随机函数的表

3、示式rand()%20的值在( C) 区间内, A119 B120 C019 D02012当处理特定问题时的循环次数已知时, 一般采用( A) 循环来解决。Afor Bwhile Cdo-while Dswitch13在switch语句的每个case块中, 假定都是以break语句结束的, 则此switch语句容易被改写为( B) 语句。Afor Bif Cdo Dwhile14for语句能够被改写为( D) 语句。A复合 Bif Cswitch Dwhile15下面循环语句执行结束后输出的i值为( B) 。for(int i=0;in/2)coutiendl;break;An/2 Bn/2+

4、1 Cn/2-1 Dn-116在下面循环w语句中内层循环体S语句的执行次数为( D) 。for(int i=0;in;i+) for(int j=i;jn;j+)S;An2 B(n+1)/2 Cn(n-1)/2 Dn(n+1)/217在下面的do循环语句中, 其循环体被执行的次数为( A ) 。int i=0;do i+;while(i*i10);A4 B3 C5 D21. 在下面的一维数组定义中, ( C) 语句有语法错误。Aint a=1,2,3; Bint a10=0; Cint a; Dint a5;n2在下面的二维数组定义中, ( C) 语句是正确的。Aint a5; Bint a5

5、; Cint a3=1,3,5,2; Dint a(10)3假定一个二维数组的定义语句为”int a34=3,4,2,8,6;”, 则元素a12的值为( C) 。A2 B4 C6 D84假定一个二维数组的定义语句为”int a34=3,4,2,8,6;”, 则元素a21的值为( A) 。A0 B4 C8 D65将两个字符串连接起来组成一个字符串时, 选用( C) 函数。Astrlen() Bstrcap() Cstrcat() Dstrcmp()选择题1. 在下面的( C) 函数声明语句存在语法错误。AAA(int a,int b); BAA(int ,int) CAA(int a;int b

6、) DAA(int a,int)2在下面的( C) 不能作为函数的返回类型。Avoid Bint Cnew Dlong3下面正确的函数原型语句是( B) 。Aint Function(void a); Bvoid Function(int);Cint Function(a); Dvoid int(double a);4函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为( B) 个。A1 B2 C4 D55下面的标识符中, ( C) 是文件级作用域。A函数形参 B语句标号 C外部静态类标识符 D自动类标识符6下面的标识符中, ( B) 具有全局级作用域。A函

7、数形参 B全局变量 C内部静态类标识符 D自动变量符7假定p是一个指向float型数据的指针, 则p+1所指数据的地址比p所指数据的地址大( C ) 字节。A1 B2 C4 D88假定a为一个字符数组名, 则a8的地址比该数组的首地址大( B ) 个字节。A4 B8 C16 D329假定a为一个数组名, 则下面的( B ) 表示有错误。Aai B*a+ C*a D*(a+1)10用calloc函数创立具有10个整型元素的一维数组的正确语句是( C ) 。Aint *p=calloc(10,2); Bint *p=callo(10;Cint *p=calloc(10,4); Dint *p=ma

8、lloc(10);11假定变量m定义为”int m=7;”, 则定义p的正确语句为( B ) 。Aint p=&m; Bint *p=&m; Cint &p=*m; Dint *p=m;12假定k是一个double类型的变量, 则定义指向k的变量p的正确语句为( B ) 。Adouble p=&k; Bdouble *p=&k;Cdouble &p=*k; Dchar *p=”Thank you!”;13假定一条定义语句为”int a10,x,*pa=a;”, 若要把数组a中下标为3的元素赋值给x, 则不正确的语句为( D ) 。Ax=pa3; Bx=*(a+3); Ca=a3; Dx=*pa

9、+3;14假定有定义”int b10;int *pb;”, 则不正确的赋值语句为( C ) 。Apb=b; Bpb=&b0; Cpb=b+2; Dpb=b5;15假定指针变量p定义为”int *p=new int(100);”, 要释放p所指向的动态内存, 应使用语句( D ) 。Adeletep; Bdelete *p; Cdelete &p; Ddelete p;16假定指针变量p定义为”int *p=calloc(30,sizeof(int);”, 要释放p所指向的动态内存, 应使用语句( D ) 。Adeletep; Bdeldete(p); Cfreep; Dfree(p);选择题1

10、.假定有”struct BOOKchar title40;float price;struct BOOK *book;”, 则不正确的语句为( A) 。Astruct BOOK *x=malloc(book); Bstruct BOOK x=”C+ Programming”,27.0; Cstruct BOOK *x=malloc(sizeof(BOOK); Dstruct BOOK *x=&book;2.假定有”struct BOOKchar title40;float price; book;”, 则正确的语句为( B) 。Astruct BOOK x=&book; Bstruct BOO

11、K *x=&book;Cstruct BOOK x=calloc(BOOK); Dstruct BOOK *x=BOOK;3表示文件结束的符号常量为( C) 。Aeof BEof CEOF Dfeof4C语言中系统函数fopen()是( D) 一个数据文件的函数。A读取 B写入 C关闭 D打开5从一个数据文件中读入以换行符结束的一行字符串的函数为( B) 。Agets() Bfgets() Cgetc() Dfgetc()6向一个二进制文件写入信息的函数fwrite()带有( D) 参数。A1 B2 C3 D4单选题( 每小题2分, 共20分) 1. 由C语言源程序文件编译而成的目标文件的默认

12、扩展名为( D )。 A. cpp B. c C. exe D. obj 2设x和y均为逻辑值, 则x | y为假的条件是x和y( C )。 A. 均为真 B. 其中一个为真 C. 均为假 D. 其中一个为假 3. 枚举类型中的每个枚举常量的值都是一个( A ) 。 A. 整数 B. 浮点数 C. 字符 D. 记录 4. 循环语句”for(i=0; i5的相反表示式为_x+yb | b=5的相反表示式为_a5 | by逻辑值为_false_。35若x=5,y=10, 则x=y逻辑值为_true_。36假定x=5, 则执行”a=(x?10:20);”语句后a的值为_10_。37执行”typede

13、f int DataType;”语句后, 在使用int定义整型变量的地方都能够使用_DataType_来定义整型变量。38在switch语句中, 每个语句标号所含保留字case后面的表示式必须是_整型_。39作为语句标号使用的C保留字case和default只能用于_switch_语句的定义体中。40在switch语句时, 在进行作为条件的表示式求值后, 将从某个匹配的标号位置起向下执行, 当碰到下一个标号位置时( 停止/不停止) _不停止_执行。41若do循环的”尾”为”while(+ib)_7与结构成员访问表示式(*fp).score等价的表示式是_fp-score_。二、 填空题( 每小

14、题2分, 共26分) 1. 在一个C语言程序文件中, 若要包含另外一个头文件或程序文件, 则应使用的预处理命令为_#include_。 2. 用于从键盘上为变量输入值的标准输入函数的函数名为_scanf_。 3. 假定一个枚举类型的定义为”enum RAab,ac,ad,ae;”, 则ad的值为_2_。 4int类型的长度为_4_。 5. 执行”int x=45,y=8;printf(%d,x/y);”语句序列后得到的输出结果为_5_。 6. 把表示式x=x+y转换成复合赋值表示式为_x+=y_。 7. 假定x的值为5, 则执行”a=(x=6? 3: 8);”语句后a的值为_8_。 8. 假定

15、一维字符指针数组的定义为”char* a5;”, 则该数组占用的存储空间的字节数为_20_。 9. 假定二维数组的定义为”double aMN;”, 则数组元素的行下标取值范围在_0M-1_之间。 10. 空字符串的长度为_0_。 11. 在所有函数定义之外定义的变量, 若没有被初始化则系统隐含对它所赋的初值为_0_。 12. 若p指向x, 则_*p_与x的表示是等价的。 13. 直接访问表示式(*fp).score所对应的间接访问表示式为_fpscore_。三、 写出下列每个程序运行后的输出结果1. #includevoid main() int x=5;switch(2*x-3) case

16、 4:printf(%d ,x); case 7:printf(%d ,2*x+1); case 10:printf(%d ,3*x-1);break; default:printf(%s ,defaultn); printf(%sn,switch end.);输出结果为: 11 14 switch end.Press any key to continue2. #includevoid main() int i,s=0; for(i=1;i=6;i+) s+=i*i; printf(s=%dn,s);输出结果为: s=91.Press any key to continue3. #inclu

17、devoid main() int i,s1=0,s2=0; for(i=0;i10;i+) if(i%2)s1+=i; else s2+=i; printf(%d %dn,s1,s2);输出结果为: 25 20.Press any key to continue4. #includevoid main() int n=10,y=1; while(n-)y+;y+; printf(y=%dn,y);输出结果为: y=21.Press any key to continue5. #includevoid main() int f,f1,f2,i; f1=f2=1; printf(%d %d ,f

18、1,f2); for(i=3;i=10;i+) f=f1+f2; printf(%d ,f); if(i%5=0)printf(n); f1=f2; f2=f; printf(n);输出结果为: 1 1 2 3 58 13 21 34 55Press any key to continue6. #include#includevoid main() int i,n; for(n=2;n=20;n+) int temp=(int)sqrt(n);/sqrt(n)求出n的平方根并取整 for(i=2;itemp)printf(%d ,n); printf(n);输出结果为: 2 3 5 7 11

19、13 17 19Press any key to continue7. #include#includeconst int M=20;void main() int i,c2,c3,c5; c2=c3=c5=0; for(i=1;i=M;i+) if(i%2=0)c2+; if(i%3=0)c3+; if(i%5=0)c5+; printf(%d %d %dn,c2,c3,c5);输出结果为: 10 6 4Press any key to continue8. #include#includeconst int M=20;void main() int i,s; for(i=1,s=0;i15

20、;i+) if(i%2=0 | i%3=0)continue; printf(%d ,i); s+=i; printf(%dn,s);输出结果为: 1 5 7 11 13 37Press any key to continue三、 写出下列每个程序运行后的输出结果1. #includevoid main() int a10=12,39,26,41,55,63,72,40,83,95; int i,i1=0,i2=0; for(i=0;i10;i+) if(ai%2=1)i1+;else i2+; printf(%d %dn,i1,i2);输出结果为: 6 4Press any key to c

21、ontinue2. #include#includevoid main() int i; char *a5=student,worker,cadre,soldier,peasant; char *p1,*p2; p1=p2=a0; for(i=0;i0)p1=ai; if(strcmp(ai,p2)0)p2=ai; printf(%s %sn,p1,p2);输出结果为: worker cadrePress any key to continue3. #includeint a10=4,5,6,15,20,13,12,7,8,9;void main() int i,s0,s1,s2; s0=s1

22、=s2=0; for(i=0;i10;i+) switch(ai%3) case 0:s0+=ai;break; case 1:s1+=ai;break; case 2:s2+=ai;break; printf(%d %d %dn,s0,s1,s2);输出结果为: 42 24 33Press any key to continue4. #includevoid main() char a=abcdbfbgacd; int i1=0,i2=0,i=0; while(ai) if(ai=a)i1+; if(ai=b)i2+; i+; printf(%d %d %dn,i1,i2,i);输出结果为:

23、 2 3 11Press any key to continue5. #includevoid main() int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int ii=0,jj=0; int i,j; for(i=0;i3;i+) for(j=0;jm)m=aij;ii=i;jj=j; printf(%d %d %dn,ii,jj,aiijj);输出结果为: 2 1 12Press any key to continue6. #includevoid main() int a,b; for(a=1,b=2;b50;) printf(%d %d ,a,b); a=a+b; b=a+b; printf(n);输出结果为: 1 2 3 5 8 13 21 34Press any key to continue四、 写出下列每个函数的功能1. #includeint SA(int a,int b) if(ab)return 1; else if(a=b)return 0; else return -1;函数功能为: 根据实参a大于、 等于或小于实参b, 返回1,0或-1

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 远程教育/电大

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服