

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档标准文案C 语言程序设计期末综合练习题模拟试题一一、单选题1在每个 C 语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。A.mai nB.MAINC.nameD.fu nction2.每个 C 语言程序文件的编译错误分为(B )类。A. 1B. 2C. 3D. 43.字符串a+b=12n的长度为( B )。A. 6B. 7C. 8D. 94.在 switch 语句的每个 case 块中, 假定都是以 break 语句结束的, 则此 switch 语句容易被改 写为 (D )语句。A.forB.whileC.doD.if5.在下面的 do-while 循环语句中,其循环体语句
2、被执行的次数为( C )。in t i=0; do i+; while(i5)的相反表达式为(x ! =0 | y=5) 或:(x | y=5)。6 .若 x=5,y=10,则 x!=y 的逻辑值为(1(真,true)。7 .假定二维数组的定义为int a35; ”则该数组所占存储空间的字节数为(60)。&使用iypedef char BB1050;”语句定义(BB )为含有 10 行 50 列的二维字符数组类型。9.字符串a:xxkfile.txt的长度为(15)。10 .假定 p 所指对象的值为 25 , p+1 所指对象的值为 46,则*+p 的值为(46)。11.假定一个数据对
3、象为 int*类型,则指向该对象的指针类型为(int)。12 .假定一个结构类型的定义为struct Aint a,b; A* c; ”则该类型的理论长度为(12)。实用文档标准文案13.假定要访问一个结构对象x 中的数据成员 a,则表示方式为(x.a)。三、写出下列每个程序运行后的输出结果1.#includevoid mai n() int i,j,k=0;for(i=0; i5; i+)for(j=i; j5; j+) k+;prin tf(%dn,k);152. #includevoid mai n() int x=20;int i=2; while(ix) if(x%i=0) pri
4、ntf(%d ,i); x/=i; i+;253. #includevoid mai n() int a8二70,63,54,95,40,75,90,66;int i, s=0;for(i=0; i=70 & ai=90) s+=ai; prin tf(s=%dn,s);s=2354. #includeint WF(int x, int y) x=x+y;y+=x;retur n x+y;void mai n() int x=3, y=5;prin tf(%dn,WF(x,y);21实用文档标准文案5. #includeint LA(i nt *a, i nt n) int i,s=0
5、;for(i=0;i n ;i+) s+=ai; return s;void mai n() int a5=1,2,3,4,5;int b二LA(a,5)+LA(a+1,3);prin tf(b=%dn,b);b=24四、写出下列每个函数的功能1.int SG(int x) x 为大于等于 2 的整数int i=2;if(x=2 | x=3) return 1;while(i*i=x) if(x%i=0) break;i+;if(i*idata;f二f-n ext;while(f) if(f-datax) x=f-data;f二f-n ext;return x;假定 struct IntNod
6、e 的结点类型定义为:struct In tNode int data; struct In tNode* n ext;函数功能:求出并返回由 f 所指向的单链表中所有结点的最大值。实用文档标准文案五、按照题目要求编写程序或函数1编写一个主函数,计算1+3+32+ .+310的值并输出,假定分别用i,p,s 作为循环变量、累乘变量和累加变量的标识符。答:#i ncludevoid mai n()int i;int p=1;int s=1;for(i=1;i=10;i+) p*=3; s+=p;prin tf(%dn,s);2 .根据函数原型“ int FF(int a, int n),编写函数
7、定义,计算并返回数组 an中所有元素之和答:int FF(int a, int n)int i,sum=0;for(i=0; i=6? 3: 8); ”语句后 a 的值为(8)。8.假定一维字符指针数组的定义为“char* a5;”,则该数组占用的存储空间的字节数为(20)。9.假定二维数组的定义为“ double aMN;”,则数组元素的行下标取值范围在(0M-1)之间。10. 空字符串的长度为(0 )。A. 3B. 5C. 8D. 10实用文档标准文案11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为12. 若 p 指向 X,贝 U( p)与 x 的表示是等价的
8、。13. 直接访问表达式(*fp).score所对应的间接访问表达式为(fp-score )。、写出下列每个程序运行后的输出结果1.#inelude void main() int i,s=0; for(i=1;i6;i+) s+=i*i; printf(S=552.#include#define N 6void mai n()int i,aN=2,5,8,10,15,21;for(i=0; iN; i+)if(ai%5=0) pri ntf(%d ,ai);prin tf(n);5 10 153.#include#i ncludevstri ng.hvoid mai n() int i;un
9、 sig ned int len=0;char* a5=stude nt,worker,cadre,soldier, n123;for(i=0; ile n) len二strle n( ai);prin tf(le n=%dn,le n);Len=74.#includevoid mai n()int a,b;for(a=2,b=3; a15;) prin tf(%d %d ,a,b);a=a+b;b=a+b;2 3 5 8 13 215.#includevoid LE(i nt* a, i nt* b) n” ,s); s=%d实用文档标准文案int x=*a;*a=*b; *b=x;实用文档
10、void mai n() int x=15, y=26;LE(&x, &y);prin tf(%d %dn,x,y);26 15四、写出下列每个函数的功能1.#includeint SA(i nt a, i nt b) if(ab) return 1;else if(a=b) return 0;else return -1;函数功能:判断 a 和 b 两个数的大小。若 a 大于 b,返回 1;若 a 等于 b,返回 0;若 a 小 于 b,返回-1o2.void Output(struct IntNode *f)/f 为单链表的表头指针if(!f) return;while(f
11、) prin tf(%d ,f-data);f二f-n ext;prin tf(n);假定 struct IntNode 的类型定义为:struct In tNode int data; struct In tNode* n ext;函数功能:遍历输出由 f 所指向的单链表中每个结点的值。五、按题目要求编写函数1 .编写一个函数,函数原型为int fun4(char* ptr); ,请采用 while 循环求出由字符指针 ptr 所指 向的字符串中包含的小写英文字母的个数,并把这个值作为函数值返回。答:1. int fun4(char* ptr)int n=0;while(*ptr) if(*
12、ptr=a & *ptr=z) n+;ptr+;标准文案实用文档标准文案return n;2.编写一个主函数,计算并输出表达式1+22+32+.+102的值。答:2.#i nclude Void mai n()int i,s=0;for(i=1;i0 & x=10)的相反表达式为(A )。A.x10B.x10C.x=0 | x0 & x103.当处理一个问题时的循环次数已知时,最好采用( A )循环来解决。A.forB.whileC.do-whileD.switch4 .假定 i 的初值为 0,则在循环语句“while(i5 的相反表达式为(x+yname 改写成对应的
13、直接访问表达式为(三、写出下列每个程序运行后的输出结果1. #in cludevoid mai n() int n=6, y=1;while (n_) y+=3;prin tf(y=%dn,y);运行结果:y=192. #in cludevoid mai n()int i,s=0;for(i=1;i8;i+) if(i%2=0 | i%3=0) s+=i;prin tf(s=%dn,s);运行结果:S=153. #in cludevoid mai n() char a=abcdbfkgamd;int i1=0, i2=0, i=0;while(ai) if(aive) i1+; else i2
14、+;i+;prin tf(%d %dn,i1,i2);运行结果:7 44. #in cludevoid mai n() int a8=4,8,12,16,20,24,28,32;int *p=a;do prin tf(%d ,*p);p+=3; while(pa+8);prin tf(n);(p).name)。实用文档标准文案运行结果:416 285. #i ncludestruct Worker char n ame15; i nt age; double pay;void mai n() struct Worker a4=abc,20,2420,defa,50,3638,ghi n,40,
15、2560,jklt,36,2375;int i, s=0;for(i=0; i=b & a=c) retur n a;if(b=a & b=c) retur n b;return c;函数功能:求出 a,b,c 三个数中的最大值并返回。2. i nt* LI(i nt n) in t* a=malloc (n *sizeof( in t);int i;for(i=0;i=0 & *a=9) n+;实用文档标准文案a+;return n;2 .编写一个主函数,计算并输出表达式1+22+32+.+n2的值,假定正整数答:2. #includevoid mai n()int
16、n ,i, s=0;scan f(%d,&n);for(i=1; i0 | y=5)的相反表达式为(B )。A.x=0 | y!=5B.x0 | y!=5D.x0 & y=53 .循环体至少被执行一次的循环语句为( C )。A.forB.whileC. do-while D.任一种循环4.假定 n 的值为 5,则表达式 n+的值为(B )。A. 6 B. 5 C. 4 D. 76 .假定一个函数原型为“ char* func(int n),则该函数的返回类型为(A. int B.i nt*C.charD.char*7.假定 a 为一个字符数组名,则元素 ai的指针访问方式为(
17、Bn 的值由键盘输入。实用文档标准文案A.a+lB.*(a+i)C.&a+lD.*a+i8 .假定有语句为“ int *p=calloc(10+20,sizeof(int);,则 p 所指向的动态数组中所包含的元素个数 为(C )。A. 10 B. 20 C. 30 D. 409 .十进制数 50 表示成符合 C 语言规定的八进制数为(D )。A. 20 B.32C. 62 D. 06210 .若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为(C )。A.r+B.ab+C. rb+ D.wb+二、填空题I.在一个 C 语言程序文件中,
18、若要包含另外一个头文件或程序文件,则应使用的预处理命令为(#include)。2 .用于从键盘上为变量输入值的标准输入函数的函数名为(scanf )。3 .假定一个枚举类型的定义为“enum RAab,ac,ad,ae;,则 ac 的值为(1 )。4.double 类型的长度为(8 )。5 .执行 int x=45,y=13;printf(%d,x/y);语句序列后得到的输出结果为(3 )。6 .把表达式 x=x+y 转换成复合赋值表达式为(x+=y)。7.假定 x 的值为 5,则执行“a=(!x? 10: 20);语句后 a 的值为(20 )。&假定一维字符指针数组的定义为char*
19、 a8; ”则该数组占用的存储空间的字节数为(32 )。9.假定二维数组的定义为“double aMN;,则数组元素的行下标取值范围在(0M-1 )之间。10 .空字符串的长度为(0 )。II.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为(0 )。实用文档标准文案12 .若 p 指向 x,则(p)与 x 的表示是等价的。13 .直接访问表达式(*fp).score 所对应的间接访问表达式为(三、写出下列每个程序运行后的输出结果1.#includevoid mai n() int i,j,k=O;for(i=0; i5; i+)for(j=i; j5; j+) k+;p
20、rin tf(%dn,k);输出结果:152.#includevoid mai n() int x=20;int i=2;while(ix) if(x%i=0) pri ntf(%d ,i); x/=i;i+;输出结果:2 53.#includevoid mai n() int a8=76,63,54,95,40,75,90,66;int i, s=0;for(i=0; i=70 & ai=90) s+=ai;prin tf(s=%dn,s);输出结果:s=2414.#includeint WF(int x, int y) x=x+y;y+=x;retur n x+y;void mai
21、 n() fp-score)。实用文档标准文案int x=3, y=8;prin tf(%dn,WF(x,y);输出结果:305. #i ncludeint LA(i nt *a, i nt n) int i,s=0;for(i=0;i n ;i+) s+=ai;return s;void mai n() int a5=1,2,3,4,5;int b二LA(a,5)+LA(a+2,3);prin tf(b=%dn,b);输出结果:b=27四、写出下列每个函数的功能1.int WC(int a, int n, int k) int i, c=0;for(i=0;i=k) c+;return c;
22、函数功能:统计并返回一维整型数组an中大于等于 k 的值的个数。2. void QA(struct Worker a, i nt n)int i;for(i=0; i n; i+)scan f(%s %d %f, ai. name, & ai.age, & ai.pay);假定结构类型 struct Worker 的定义如下:struct Worker char name15; int age; float pay;函数功能:从键盘上为具有 struct Worker类型的数组 an输入 n 个记录。五、按题目要求编写函数1 .根据函数原型 double Mean(double
23、 aMN,int m,int n)”,编写函数定义,要求返回二维数组中所有元素的平均值。假定在计算过程中采用变量v 存放累加值和最后的平均值。am n实用文档标准文案答:1. double Mean(double aMN,int m,int n)int i,j;double v=0.0;for(i=0; im; i+)for(j=0; jn; j+) v+=aij;v/=m* n;return v;2 .根据函数原型“ int MM(int a,int m),编写函数定义,计算并返回数组am中元素最大值和最小值之差。答:2. int MM(int a,int m)int i,x1,x2;x 仁
24、 x2=a0;for(i=1; ix1) x1=ai;if(ai5 的相反表达式为 X+Yname 改写成对应的直接访问表达式为(p).name。、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)24、 #include void main() |int n=6, y=1; while( n_) y+=3+n; prin tf(y=%dn,y);答案: y=3425、 #i ncludevoid mai n()int i,s=0;for(i=1;i10;i+) if(i%3=0 | i%4=0) s+=i;prin tf(s=%dn,s);答案:s=3026、 #include
25、void main() |char a=abcfkgamd; inti 仁 0, i2=0, i=0; while(ai) if(aie) i1+; else i2+;i+;prin tf(%d %dn,i1,i2);应调用的52。实用文档标准文案答案:5427、 #includevoid main() |int a9=2,4,8,12,16,20,24,28,32;int *p=a; |do prin tf(%d ,*p);P+=3; while(pa+9);prin tf(n);答案:2122428、 #includestruct Worker char n ame15; int age;
26、 double pay; void main() |struct Worker a4=abc,20,2400,defa,50,3600,ghin ,40,2500,jklt,36,3200;int i, s=0;for(i=0; i=b & a=c) retur n a;if(b=a & b=c) retur n b; return c;答案:求出 a,b,c 三个数中的最大值并返回。30、 int* Ll(int n) int* a=malloc( n*sizeof(i nt);int i;for(i=0;i=0 & *a=9) n+;a+;return n;32、编
27、写一个主函数,计算并输出表达式 1+22+32+.+n2的值,假定正整数 n 的值由键盘 输入。答案:#i ncludevoid mai n() int n ,i, s=0;scan f(%d,&n);for(i=1; iscore。24,ttinc-udeAsfdphvforA5二+)k+r:pimf(=%2n=k=25,ttinc-udesfdio hvvoidmainoinfXH2O?infnNwhi-e(Ax)宀if(x%iHH0)宀pinff(=%d=三x、ll.2+26,ttinc-udeAsfdphvvoidmain()宀infaooH宀76b354o54p75CDooo2kin 二SHO 八27,ttinc-udesQ:io hv实用文档标准文案五、按题目要求编写函数(每小题6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025飞机常识考试题及答案
- 台球俱乐部会员活动参与制度
- 数字化转型对企业人力资源管理的影响
- 基于AI的汽车仿真软件教学创新探索
- 校园消防安全颜料画图片(3篇)
- 消防安全校园作业图片(3篇)
- 叙永消防安全进校园(3篇)
- 网络诈骗案例课件
- 火锅店服务员岗位职责与流程
- 网络型课件的步骤
- 高考改革培训
- 寺庙法会活动方案
- 2025至2030中国过程中的电机和驱动器行业产业运行态势及投资规划深度研究报告
- 粮食机收减损培训课件
- 2025年河北中考生物真题含答案
- 单位保洁服务方案(3篇)
- 血透患者高钾血症护理查房讲课件
- 2025年山东高考化学试卷真题及答案详解解读(精校打印)
- 道德与法治作业设计感悟
- 健康教育中医养生课件
- 小学生编织手工课件
评论
0/150
提交评论