《2022年C语言期中测验试题及答案.pdf》由会员分享,可在线阅读,更多相关《2022年C语言期中测验试题及答案.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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()
2、 int r,m,n; scanf(%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.
3、 下面程序的功能是在一个正整数的各数字中找出最大者,如 4721,最大数为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) ;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 5 页 - - - - - - - - - - return 0; 31. 若 s 是 int型变量,且
4、s 6,则下面表达式的值为 1。s%2+(s+1)%2 选择题14. 以下定义语句,编译时会出现编译错误的是AA. char a= “a”; B. char a= 0;C. char a= a;D. char a= x2d; 15. 以下程序中的变量已正确定义for(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. 有输入语句
5、 :int a,b,c; scanf(a=%d,b=%d,c=%d, &a, &b, &c); 为使变量 a 的值为1,b 的值为 3,c 的值为 2, 从键盘输入数据的正确形式应当是( 注:# 表示空格 ) DA. 132 B. 1,3,2 C. a=1#b=3#c=2 D. a=1,b=3,c=2 2. 已知: char a=a ;float b=;double c=41 ;int d ;则执行语句d=a+b+c;后变量d的数据类型为AA. int B. char C. float D. double3. 设整型变量x 和 y 的值均为7,则表达式“ x/(y-4)”的值是CA. 3 B.
6、 3 C. 2 D. 14. 设字符型变量ch 中存放字符 A ,则执行 ch+5 后, ch 中的字符是BA. A B. B C. F D. G6. 若变量 a 的数据类型为double ,执行下面两条语句后:a=;printf(%d,a);输出的数据或判断正确的是:DA. 3 B. 4 C. D. 输出格式错误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
7、);编程题20. 程序调试及改错:改正程序中的错误,不要改动主函数,不得增行或删行。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 5 页 - - - - - - - - - - 【问题描述】本程序计算:y=1-1/22-1/32-1/42- -1/m2, 改正程序中的错误,不要改动主函数,不得增行或删行。#include int main() int m, i double y=;scanf( “%d ”, m); for(i=2;i=m; i+) y-=i*i;printf( “the r
8、esult is: %fn”, y ); return 0;修改为:#include int main() int m, i; double y=; scanf(%d, &m); for(i=2;i=m; i+) y-=(i*i); printf(the result is: %lf n,y ); return 0;23. 编程实现:输入整数a 和 b,若 a2+b2大于 100,则输出 a2+b2百位及以上的数据,否则输出两数之和。参考程序如下:#includeint main() int a,b,temp; scanf(%d%d,&a,&b); temp=a*a+b*b; if(temp1
9、00) 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 R精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 5 页 - - - - - - - - - - S T U VW X YZ AB参考程序如下:#inc
10、ludeint main() int i,n,j;scanf(%d,&n); char c=A; for(i=1;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
11、); 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+;break;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 5 页 - - - - - - - - - - default:E+; printf(A(90-100):%dn,A); printf(B(80-89):%dn,B); printf(C(70-79):%dn,C); printf(D(60-69):%dn,D); printf(E(0-59):%dn,E);return 0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 5 页 - - - - - - - - - -