




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2010春 第二部分 C语言程序设计一、选择题(用答题卡答题,答案依次填在2130答题号内,共10分)21. C语言规定,在一个源程序中main函数的位置 (21) 。A必须在最开始 B必须在最后C必须在预处理命令的后面 D可以在其他函数之前或之后22. 以下选项中, (22) 是C语言关键字。 A printf Binclude Cfun Ddefault23. 已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为 (23) 。A. 0 B. 3 C. 3.5 D. 424. 设指针变量占2个字节的内存空间,若有声明“char *p=123;int c;”,则执行语句“c=sizeof(p);”后,c的值为 (24) 。A. 1 B. 2 C. 3 D. 425. 已知有声明“int a=3,b=4;”,下列表达式中合法的是 (25) 。 A. a+b=7 B. a=b=0 C. a=|b| D.(a+)+ 26. 已知有声明“char s20=Hello;”,在程序运行过程中,若要想使数组s中的内容修改为“Good”,则以下语句中能够实现此功能的是 (26) 。 As=Good; Bs20=Good;Cstrcat(s,Good); Dstrcpy(s,Good);27. 已知有声明“int a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;”,若需要引用值为12的数组元素,则下列选项中错误的是 (27) 。A*(a+2)+3 B*(*(a+2)+3) C*(a2+3) Da2328. 已知有声明“int n; float x,y;”,则执行语句“y=n=x=3.89;”后,y的值为 (28) 。A. 3 B. 3.0 C. 3.89 D. 4.029. 已知有声明“int a=12,b=15,c;”,则执行表达式“c=(a|(b-=a)”后,变量b和c的值分别为 (29) 。A3,1 B15,12 C15,1 D3,1230. 下列叙述中,正确的是 (30) 。AC语言中的文件是流式文件,因此只能顺序存取文件中的数据。B调用fopen函数时若用“r”或“r+”模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。C当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据。D无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖。二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)l 基本概念1 数学式所对应的C语言表达式为pow(x, (1) )。2 已知有声明“char ch=g;”,则表达式ch= ch-a+A的值为字符 (2) 。3 在C语言系统中,如果一个变量能正确存储的数据范围为整数-3276832767,则该变量在内存中占 (3) 个字节。4 已知有声明 “int a32=1,2,3,4,5,6,*p=a0;”,则执行语句“printf(%dn,*(p+4);”后的输出结果为 (4) 。5 已知有声明和语句“int a;scanf(a=%d,&a);”,欲从键盘上输入数据使a中的值为3,则正确的输入应是 (5) 。 l 阅读程序6 以下程序运行时输出到屏幕的结果为 (6) 。#include#define MAX(A,B) AB ? 2*A : 2*Bvoid main() int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); printf(%dn,t);7. 以下程序运行时输出到屏幕的结果是 (7) 。 #include void main( ) int a=1,b=2; a+=b; b=a-b; a-=b; printf(%d,%dn,a,b);8. 以下程序运行时输出到屏幕的结果是 (8) 。#include void swap(int a,int b) int t; if(ab)t=a,a=b,b=t;void main() int x=13, y=11, z=12; if(xy) swap(x,y); if(xz) swap(x,z); if(yz) swap(y,z); printf(%dt%dt%dn, x,y,z);9. 以下程序运行时输出到屏幕的结果第一行是 (9) ,第二行是 (10) ,第三行是 (11) 。#include int g(int x,int y) return x+y ; int f(int x,int y) static int x=2; if(y2) x=x*x; y=x; else y=x+1; return x+y;void main( ) int a=3; printf(%dn,g(a,2); printf(%dn,f(a,3); printf(%dn,f(a,2);10. 以下程序运行时输出到屏幕的结果是 (12) 。#include void fun(int m,int n) if(m=n) printf(%d,m); else fun(m+1,n); printf(%d,m);void main( ) fun(1,2); 11. 以下程序运行时输出到屏幕的结果第二行是 (13) ,第四行是 (14) 。 #define N 6void main() int i, j, aN+1N+1; for(i=1;i=N;i+) aii=1;ai1=1; for (i=3; i=N; i+) for(j=2;ji; j+) aij=ai-1j-1+ai-1j; for(i=1; i=N; i+) for(j=1; j=i; j+) printf(%4d, aij); printf(n); 12. 以下程序运行时输出到屏幕的结果第一行是 (15) ,第二行是 (16) 。#include void fun(char *p1,char *p2);void main() int i; char a=54321; puts(a+2); fun(a,a+4); puts(a);void fun(char *p1,char *p2) char t; while(p1p2) t=*p1;*p1=*p2;*p2=t; p1+=2,p2-=2; 13. 以下程序运行时输出到屏幕的结果第一行是 (17) ,第二行是 (18) 。#include typedef struct int x,y; direction;int visible(direction s,direction A,direction B,direction C) direction p1,p2; int d; p1.x=B.x-A.x; p1.y=B.y-A.y; p2.x=C.x-A.x; p2.y=C.y-A.y; d = s.x*p1.x*p2.x + s.y*p1.y*p2.y; printf(%4dn, d); return d0;void main( ) char *ss=invisible,visible; direction s=1,1,T=1,1,A=0,0,B=2,1; puts(ssvisible(s,T,A,B);l 完善程序14. 以下程序的功能是:统计一个字符串中数字字符“0”到“9”各自出现的次数,统计结果保存在数组count中。例如,如果字符串为“1enterschar4543123564879ffgh”,则统计结果为: 1:2 2:1 3:2 4:3 5:2 6:1 7:1 8:1 9:1。试完善程序以达到要求的功能。#include void fun(char *t,int count) char *p=t; while( (19) ) if(*p=0&*p=9) count (20) +; p+; void main() char s80=1enterschar4543123564879ffgh; int count10=0,i; fun(s,count); for(i=0;i10;i+) if(counti) printf(%d:%d ,i,counti);15下列程序的功能是对a数组中的n个整数从小到大排序。排序算法是:第一趟通过比较将最小值放在a0中,最大值放在an-1中,第二趟通过比较将次小值放在a1中,次大值放在an-2中,依次类推,直到待排序序列为递增序列。试完善程序以达到要求的功能。#include #define N 7void sort(int a, int n) int i,j,min,max,t; for(i=0;i (21) ;i+) (22) ; for(j=i+1;jn-i;j+) if(ajamax)max=j; if(min!=i) t=amin;amin=ai;ai=t; if(max!=n-i-1) if(max=i) t=amin;amin=an-i-1;an-i-1=t; else t=amax;amax=an-i-1;an-i-1=t; void main( ) int aN=8,4,9,3,2,1,5,i; sort(a,N); printf(sorted:n); for(i=0;iN;i+) printf(%dt,ai); printf(n);16. 下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换找到的所有s2字符串。若s1字符串中没有出现s2字符串,则不做替换并使函数返回0,否则函数返回1。试完善程序以达到要求的功能。#include #include int find_replace(char s1,char s2,char s3) int i,j,k,t=0; char temp80; if(s10=0|s20=0) return t; for(i=0;s1i!=0;i+) k=0; j=i; while(s1j=s2k&s2k!=0) j+; (23) ; if(s2k=0) strcpy(temp,&s1j); (24) ; i=i+strlen(s3); (25) ; t=1; return t;void main() char line80=This is a test program and a test data.; char substr110=test,substr210=actual; int k; k=find_replace(line,substr1,substr2); if( (26) ) puts(line); else printf(not foundn);17设h1和h2分别为两个单链表的头指针,链表中结点的数据结构为:typedef struct node int data; struct node *next; NODE;sea_del函数的功能是:删除h1指向的链表中首次出现的与h2指向的链表中数据完全匹配的若干个连续结点,函数返回h1指向链表的头指针。例如,初态下,h1指向链表和h2指向链表如下图所示:124790h12470h2调用sea_del函数后h1指向链表为:1h190试完善函数sea_del以达到要求的功能。NODE *sea_del(NODE *h1,NODE *h2) NODE *p,*ph
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中考冲刺模拟化学(广西卷)(全解全析)
- 2022年2月锡林郭勒盟直机关遴选公务员面试真题回忆版
- 12师兵团职工考试试题及答案
- MnOx生物炭阴极BES修复土壤铅镉污染效能及引发抗性基因扩散机制
- 2025设备采购合同范本
- Ralfinamide-Standard-FCE-26742A-Standard-生命科学试剂-MCE
- 2025房地产买卖合同协议书范文
- 2025年简化版个人房屋租赁合同书
- 2025高级建筑设计师聘用合同标准版样本
- 小学数学五年级上册《平行四边形的面积计算》教学设计
- 2025-2030中国试验用动物模型行业市场发展趋势与前景展望战略研究报告
- 防诈骗知识培训课件内容
- 孩子抚养协议书电子版(2025年版)
- 【初中生物】光合作用(第1课时)课件-2024-2025学年人教版生物学七年级下册
- 2025-2030中国建筑信息模型(BIM)行业发展状况与前景趋势研究研究报告
- 阳光心理健康成长(课件)-小学生主题班会
- 羊肚菌种植项目可行性研究报告
- 卫健系统2025年上半年安全生产工作总结
- 麻精药品规范化管理与使用
- 庐江县2024-2025学年四下数学期末达标测试试题含解析
- 湘教版地理中考总复习教案
评论
0/150
提交评论