




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对外经济贸易大学2000-2001学年第一学期C语言程序设计期末考试试卷学院/系 班级_姓名_成绩_一、选择题(每小题2分,共40分)1 组成C语言程序的是【 】(A) 子程序 (B) 过程 (C) 函数 (D) 主程序和子程序2 若有以下定义和语句,且0i10,则对数组元素的错误引用是【 】 int a=1,2,3,4,5,6,7,8,9,0; int *p,i; p=a; (A) *(a+i) (B) ap-a (C) p+i (D) *(&ai)3 若有下列定义,则对a数组元素地址的正确引用是【 】 int a5,*p=a; (A) &a5 (B) p+2 (C) a+ (D) &a4 若有以下定义和语句,则输出结果是【 】 char s12=a book!; printf(d,strlen(s); (A) 12 (B) 8 (C) 7 (D) 6 5 以下程序的结果是【 】main() unsigned int a=3, b=10; printf(dn,a 1); (A) 13 (B) 12 (C) 5 (D) 16 以下程序的运行结果为【 】 #define PT 3.5 #define S(x) PT*x*x main() int a=1, b=2; printf(4.1f n,S(a+b); (A) 7.5 (B) 10.5 (C) 14.0 (D) 31.57 C语言中,文件由【 】 (A) 记录组成 (B) 由数据行组成 (C) 由数据块组成 (D) 由字符序列组成8 typedef long int BIGGY;的作用是【 】 (A) 建立了一种新的数据类型 (B) 定义了一个整型变量 (C) 定义了一个长整型变量 (D) 说明了一个新的数据类型标识符9 若有以下的说明、定义和语句,则值为31的表达式是【 】 struct wc int a; int *b; *p; int x0=11,12,x1=31, 32; static struct wc x2=100, x0, 300, x1; p=x; (A) *p - b (B) *(+p) - b (C) *(p+) - b (D) (+p) - a10与 int *p4;定义等价的是【 】 (A) int p4; (B) int * p ; (C) int * (p4); (D) int (*p)4;11 若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为【 】 (A) p1=&ch; scanf(%c, p1); (B) p2=getchar(); (C) p3=(char*)malloc(1); scanf(%c, p3); (D) p4=&ch; *p4=getchar();12-14 下面程序的输出分别是:main() char *s2=sceg; s2+; printf(%cn, *s2); /* 【 】*/ printf(%cn, *(s2+1); /* 【 】*/ printf(%cn, *s2+1); /* 【 】*/12-14、A) a B) b C) c D) d E) e15 设 a=2, b=3, 执行表达式 c = b* = a-1; 变量 c 的值是【 】(A) 5 (B)3 (C) 2 (D) 416-17 执行下面程序的输出结果分别是【 】、【 】 void change ( int x, int m ) static char ch = 0123456789; int I = 0, r ; char b80; while ( x ) r = x % m; x /= m; bI+ = chr; bI = 0; printf(%sn, b); main( ) change( 42, 2 ); change (42, 8 ); 16) (A) 010101 (B) 101010 (C) 10101 (D) 0101017) (A) 52 (B) 25 (C) 40 (D) 2418 以下程序的输出是【 】 #include main() int i,j,k,a=3,b=2; i = (-a = b+) ? -a : +b; j = a+;k=b; printf(i=d,j=d, k=dn,i,j,k); (A) i=2,j=1,k=3 (B) i=1,j=1,k=2 (C) i=4,j=2,k=4 (D) i=1,j=1,k=319 以下程序的输出是【 】 #include main( ) static int a43 = 1,2,3,4,5,6,7,8,9,10,11,12; int *x4 = a0, a1, a2, a3 ; int j, *p; p = x; p+; for (j=2; j=0; j-) printf(“%3d”, *(*(p)+j); 19) (A) 3 2 1 (B) 1 2 3 (C) 6 5 4 (D) 4 5 620 以下程序的输出是【 】try(int a) static int x = 3; x = x+1; return x+a; main( ) int a, x=2; for(a = 0; a = 1; a+) x=try(x); printf(%dn,x); A) 5B) 7C) 10D)11二、写出程序运行结果(共20分) 1写出程序运行结果(6分) #include main( ) int k = 0; char c = A;do switch(c+) case A: k+; break; case B: k-; case C: k+=2; break; case D: k%2; continue; case E: k=k*2; break; default: k=(c?1:0); k+; printf(“%c k = %dn”,c-1, k); while (c 1 b 1); printf(d %on, b, b);3 以下程序段的两个printf输出结果分别是【 】,【 】(4分)union int a3; long b; char c4; s;s.a0 = 0x39; s.a1 = 0x38;printf(“%lxn”,s.b);printf(“%dn”,s.c1);4已知数组a的首地址是65482,写出运行结果 (10分)main() static int a32=1,3,5,7,9,11; int *p, (*k)2; p=a0; k=a; printf(%un,a); printf(%un,*(*(a)+1); printf(%un,p+2); printf(%un,*(p+2); printf(%un,*p+); printf(%un,(*p)+1); printf(%un,*(k+2); printf(%un,*(*(k+2);三 程序填空(20分)1、(10分)函数index(): 从指针变量p所指的字符串中找指针变量q所指的字符串的位置,若找不到则输出0,例如 当string1为abcdef, string2为cde, 则输出3, string2为cdf, 则输出0.6main() char 【1】 printf(“Input string1 and string2”); 【2】 printf(“%dn”,【3】);index(char *p, char *q) char *pp, *qq; int i; for(i=1, pp=p; *pp!=0; i+, pp+) for(【4】 *qq=*pp & *qq!=0;pp+, qq+); if(【5】) return i; return 0;1)A) s120, s220, *p=s1, *q=s2;B) *p, *q; C) *p=s120, *q=s220;D) s1 , s2 , *p=s1, *q=s2;2)A) gets(s1, s2);B) gets(*p, *q); C) gets(p, q);D) gets(p), gets(q);3)A) index(*p, *q);B) index(s1 , s2 ); C) index(p, q);D) index(*s1, *s2);4)A) qq=q;B) pp=p; C) ;D) pp=p, qq=q;5)A) !*qqB) qq=0 C) *qqD) *pp=02、(10分)以下程序名为cat.c,其功能是将命令行中所列的文件依次在屏幕上显示,每显示完一个文件内容后,用户按任意键,则显示下一个文件,如果命令行中所列的文件不能打开或没有给出文件名,则显示相应的信息,命令的格式为:cat filename1 filename2 1)A) fgetc(fptr) B)getchar(fptr)C)fgetc(fp)D)getchar(fp)2)A) argv B)*argvC)*argvD)*argv3)A) argc = 1 B)argc=1C)argc=0D)argv=14)A) &fp B)*fp C)argvi D)fp 5)A) fclose(argvi)B)rewind(argvi) C) fclose(fp)D)rewind(fp)#includestdio.hvoid cat(FILE *fptr) int c; while(c=【1 】)!=EOF) putchar(c);main(argc,argv)int argc;char 【2 】;FILE *fp; int i; if(【3 】) printf(缺少参数n);exit(0); for(i=1;iargc;i+) if(fp=fopen(argvi,r)=NULL) printf( %s无法打开n,argvi); else printf(/*文件:%s */n,argvi); cat(【4 】); 【5 】; printf(按任意键显示下一文件n); getchar(); 四 程序填空(12分)1) 以下程序段用以统计链表中元素的个数。其中first指向链表第一个结点,count用来统计结点个数,请填空。 struct link char data; struct link *next; ; struct link *p, *first; int count=0; p=first; while(【 1 】) 【 2 】; p= 【 3 】; 2)函数fun( )的功能是将字符串str按照字符顺序从小到大进行排序,并删除重复的字符, 然后返回该字符串 。【 4 】fun( char *str) char *p, *q, *r, c; for(p=str;*p;p+) r=p; for(q=p+1;*q;q+) if(【 5 】) r=q; if(r!=p) c=*r; *r=*p; *p=c; for(p=str;*p;p+) for(q=p+1;*p=*q;q+); strcp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 象棋知识培训教案课件
- 2025年安防产品购销合同书标准范本
- 2025版人工智能产业融资合作协议合同范本
- 2025大连二手房地产抵押贷款服务合同
- 2025年度生态农业产品店铺装修补贴及农产品直销合同
- 2025不锈钢玻璃地弹门工程环保验收及排放合同
- 2025版融资租赁合同违约责任及处理办法
- 2025版智能物流国内货物公路运输服务合同模板
- 请假条说课课件
- 2025制片合同产品样本
- 如何做好新闻选题课件
- 初中语文七年级现代文阅读理解精选:说明文20篇(含答案)
- 爱心妈咪小屋使用登记表
- (完整版)建筑构造课件
- (完整word版)博爱宠物医院危重病治疗协议书
- 大学语文课件(完整版)
- (研究生)商业伦理与会计职业道德ppt教学课件(完整版)
- 油浸式变压器(电抗器)检修规范
- 屈光不正的处方原则讲义
- 高等教育法规概论知识点汇总
- 管理人员安全教育培训
评论
0/150
提交评论