C语言期中测验试题及答案_第1页
C语言期中测验试题及答案_第2页
C语言期中测验试题及答案_第3页
C语言期中测验试题及答案_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、.2010-2011 C语言程序设计期中测验填空题 16. 已知:int a=5,b=6,w=1,x=2,y=3,z=4;执行语句“(a=wx)&(b=yz);”后b 的值为 619. 已知:int k= 4,a=3,b=2,c=1;则表达式“ka ? k : c=n,用m除以n,求得余数r。若r为0,则n为最大公约数;若r不等于0,则进行如下迭代:m=n,n=r,即原除数变为新的被除数,原余数变为新的除数重复算法,直到余数为0为止。余数为0时的除数n,即为原始m、n的最大公约数。)求两个正整数的最大公约数。请填空。 #include int main() int r,m,n; scanf(%

2、d%d,&m,&n); if(mn) r=m;m=n;n=r; r=m%n; while(r!=0)m=n;n=r;r= m%n; printf(%dn,n); return 0; 24. 下面程序的功能是打印100以内个位数为6且能被3整除的所有数。 #include int main ( ) int i , j ;for ( i = 0 ; i10; i + + ) j = i *10 + 6 ; if (j%3!=0) continue; printf ( “ %d “ , j ) ; 26. 构成C语言程序的基本单位是函数。28.下面程序的功能是在一个正整数的各数字中找出最大者,如47

3、21,最大数为7。请填空。 #includeint main()int n,max,t;max=0;scanf(%d,&n) ; do t= n%10 ; if(maxt ) max=t ; n= n/10 ; while( n!=0 ) ;printf( max=%dn ,max) ;return 0; 31. 若s是int型变量,且s6,则下面表达式的值为 1 。s%2+(s+1)%2 选择题 14. 以下定义语句,编译时会出现编译错误的是 AA. char a=“a”; B. char a=0;C. char a=a; D. char a=x2d; 15. 以下程序中的变量已正确定义fo

4、r(i=0;i4;i+,i+)for(k=1;kb)c=a,a=b,b=c; B. if(ab)c=a,a=b,b=c;C. if(ab)c=a;a=b;b=c; D. if(ab)c=a;a=b;b=c; 12. 以下选项中,能用作用户标示符的是CA. viod B. 8_8 C. _0_ D. unsigned 11. 有输入语句:int a,b,c; scanf(a=%d,b=%d,c=%d, &a, &b, &c); 为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是(注:#表示空格) DA. 132B. 1,3,2C. a=1#b=3#c=2D. a=1,b=

5、3,c=2 2. 已知:char a=a;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为 A A. int B. char C. float D. double3. 设整型变量x和y的值均为7,则表达式“x/(y-4)”的值是CA. 3B. 3C. 2D. 14. 设字符型变量ch中存放字符A,则执行ch+5后,ch中的字符是 BA. AB. BC. FD. G6. 若变量a的数据类型为double,执行下面两条语句后:a=3.5;printf(%d,a);输出的数据或判断正确的是:DA. 3B. 4C. 3.500000D. 输出格

6、式错误10. 若有变量定义int a; double b; 要输入数据存放在a和b中,则下面正确的输入数据的语句为:CA. scanf(%d%f,a,b);B. scanf(%d%f,&a,&b);C. scanf(%d%lf,&a,&b);D. scanf(%d%lf,a,b);编程题 20. 程序调试及改错:改正程序中的错误,不要改动主函数,不得增行或删行。 【问题描述】 本程序计算:y=1-1/22-1/32-1/42-1/m2, 改正程序中的错误,不要改动主函数,不得增行或删行。#include int main() int m, i double y=1.0; scanf(“%d”,

7、 m); for(i=2;i=m; i+) y-=1.0/i*i; printf( “the result is: %fn”, y ); return 0;修改为:#include int main() int m, i; double y=1.0; scanf(%d, &m); for(i=2;i=m; i+) y-=1.0/(i*i); printf(the result is: %lfn,y ); return 0;23. 编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位及以上的数据,否则输出两数之和。参考程序如下: #includeint main() int a

8、,b,temp; scanf(%d%d,&a,&b); temp=a*a+b*b; if(temp100) printf(%d,temp/100); else printf(%d, a+b );return 0;25. 编写程序实现:输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数7时(注意:n不得大于10),程序运行结果如下:A B C D E F GH I J K L MN O P Q RS T U VW X YZ AB参考程序如下:#includeint main() int i,n,j;scanf(%d,&n); char c=A; for(i=1;

9、i=i;j-) 或者 是 for(j=i;jZ)c=A;printf(%c ,c);c+; printf(n);return 0;30. 输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数,成绩等级分为五级,分别为A(90100),B(8089),C(7079),D(6069)和E(059) 注:用switch语句实现。参考程序如下:#includeint main() int n,score,A=0,B=0,C=0,D=0,E=0; scanf(%d,&n); for(int i=0;in;i+) scanf(%d,&score); score=score/10; switch(score) case 10: case 9:A+;break; case 8:B+;break; case 7:C+;break; case 6:D+;bre

温馨提示

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

评论

0/150

提交评论