C语言考试题2004B.doc_第1页
C语言考试题2004B.doc_第2页
C语言考试题2004B.doc_第3页
C语言考试题2004B.doc_第4页
C语言考试题2004B.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程: C语言程序设计(B卷) 班号: 学号: 姓名: 注:考试时间为120分钟,必须在30分钟后方可交卷。 答题开始前,班长需向监考人员报告应到人数、是否有缺考、缺考人姓名、缺考原因等。答题完毕后,将答题纸交卷,试卷可自行带走。一.单项选择题 (每题3分)1. 已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法的表达式是 。 A)x%(-3) B)w+=-2 C)k=(a=2,b=5,a+b) D)a+=a-=(b=4)*(a=3)2. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位, 第三位进行四舍五入运算的正确表达式是_。 A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.03. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是_。 A)x&y B)x=y C)x|y+z&y-z D)!(xy&x!=y); B) if(x=y)x+=y; C)if(x!=y)scanf(“%d”,&x) else scanf(“%d”,&y);D)if(xy) x+; y+;5. 若有条件表达式 (exp)?a+:b-,则以下表达式中能完全等价于表达式(exp) 的是 _。 A)(exp=0) B)(exp!=0) C)(exp=1) D)(exp!=1)6. 设有以下程序段 int x=0,s=0; while(!x!=0) s=+x; printf(%d,s); 则_。 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次7. 设有程序段 t=0; while (printf(*) t+; if(t+y;x=i+) i=x; B)for ( ; ;x+=i); C)while (1) x+; D)for (i=10; ;i-) sum+=i;9. 下面程序段_。 x=3; do y=x-; if (!y) printf(x); continue; printf(#) while (1=xc)后,n的值为 ,m 的值为 。14. 若有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为_。 !(xy)+(y!=z)|(x+y)&(y-z)15. 以下程序的功能是_。 main() int num10=-10,1,-20,-203,-21,2,-2,-2,11,-21; int snum=0,i; for(i=0;i0) snum=numi+snum; printf(“ sunm=%6d”,snum); 三 程序阅读题(选择或直接给出程序的运行结果,每题4分)16. 以下程序的运行结果是_。 main() int m=5;if(m+5) printf(“%d”,m);else printf(“%d”,m-); A)4 B)5 C)6 D)717. 以下程序的运行结果是_。 #include main() int a=1,b=10;do b-=a; a+; while (b-0) ;printf (“n a=%d,b=%d”,a,b); A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9 18. 以下程序的运行结果是_ _。 main() int i=1,n=3,j,k=3;int a5=1,4,5;while (iai) i+;for(j=n-1;j=i;j-) aj+1=aj;ai=k;for (i=0;i=n;i+) printf (“%3d”,ai); 19. 以下程序的运行结果是_ _。 int x1=30,x2=40; main() int x3=10,x4=20; sub (x3,x4); sub (x2,x1); printf (“n %d,%d,%d,%d”,x3,x4,x1,x2); sub (int x,int y) x1=x; x=y; y=y1;20. 以下程序的运行结果是_ _。 #include main() char str=”cdalb”; abc (str); puts (str); abc (char *p) int i,j; for(i=j=0; *(p+i)!=0; i +) if(*(p+i)=d) *(p+j)= *(p+i); j+; *(p+j)=0; A)dalb B)cd C)dl D)c四 程序填充题 (每题5分)请在以下各程序的下划线处填上适当的内容,以使程序完整。21. 下面程序的功能是求1000以内的所有完全数。说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如, 6=1+2+3,6为完全数。 #include main() int a,i,m; for (a=1;a=1000;a+) for ( ; ia/2; i+) if(!(a%i) ; if(m= =a) printf (“%4d”,a); 22. 下面程序的功能是求100至1000之间有多少个数其各位数字之和是5。 #include main() int i,s,k,count=0; for(i=100; i =1000; i+) s=0; k= i; while ( ) s=s+k%10; k= ; if(s!=5) ; else count+; printf(“n %d”,count); 23. 下面程序的功能是给一维数组a输入任意6个整数,假设为:7 4 8 9 1 5;然后建立一 个具有以下内容的方阵并输出。 5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7 7 4 8 9 1 5 main() int a6,i,j,k,m; for(i=0; i=0; i-) k=a5; for ( ; j=0; j-) aj+1=aj; ; printf (“n”);for(m=0; m6; m+) printf (“%d”,am); 24. 下面程序的功能是将字符串a中下标值为偶数的元素由小到大排序,其它元素不变。 #include main() char a=”labchmfye”,t; int i,j; for (i=0; i7; i+=2) for (j=i+2; jaj五、程序设计题25 #include typedef struct char name10;int sex;int age; PEP;void insert (PEP *a, int n, PEP t ) int i,j; if (t.agean-1.age) return ;for (i =0;iai.age) break;for (j=n-1; ji; j-) aj=aj-1;ai=t;main() int j; PEP p,a20; FILE *fp; fp=fopen (“f1.dat”,”r”); if(!fp) exit(0); for (j=0;j20;j+) aj.age=0; while( !feof(fp) fscanf (fp,”%s%d%d”,p.nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论