C语言程序设计试题第2套山东建筑大学.doc
- 文档编号:230227
- 上传时间:2022-10-07
- 格式:DOC
- 页数:5
- 大小:76.50KB
C语言程序设计试题第2套山东建筑大学.doc
《C语言程序设计试题第2套山东建筑大学.doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题第2套山东建筑大学.doc(5页珍藏版)》请在冰豆网上搜索。
C语言程序设计试题(第2套)
一、单项选择题(45分,每题3分)
1.构成一个C程序的是_______。
A、一个主函数和若干个非主函数
B、若干个主函数和若干个非主函数
C、一个主函数和最多一个非主函数
D、若干个主函数和最多一个非主函数
2.以下选项中合法的字符常量是_______。
A、"B"B、'B'C、68D、'\B'
3.在C语言中,不合法的实数是_______。
A、1.23B、e-5C、3.245E3D、-.187
4.已知a是int型变量,下面不正确的赋值语句是_______。
A、a=65; B、a=1.2; C、a="a"; D、a='A'+32;
5.广义地说,为解决一个问题而采取的方法和步骤,称为_______。
A、迭代 B、增量 C、递归 D、算法
6.以下叙述中正确的是_______。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"{"和"}"只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分
7.若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是_______。
w=1;x=2;y=3;z=4;
k=(w w: x; k=(k k: y; k=(k k: z; A、1 B、2 C、3 D、4 8.以下程序段,说法正确的是_______。 x=-1; do { x=x*x; } while(! x); A、是死循环 B、循环执行二次 C、循环执行一次 D、有语法错误 9.用语句floatx[3][100];定义数组x后,则下标最大的一个数组元素是 A、x[3][100]B、x[2][99]C、x[2][100]D、x[3][99] 10.若i、j已定义为int型,则以下程序段中,循环体的总的执行次数为_______。 for(i=5;i>0;i--) for(j=0;j<4;j++) {n=n+1;} A、20 B、24 C、25 D、30 11.以下程序编译、运行的结果是 A、5,5B、5.0,5.0C、5.05.0D、55 #defineMIN2 #defineMAX7 main() {printf("%d,%d\n",MIN+3,MAX-MIN);} 12.下列符号中可以作为函数名的是_______。 A、x—aB、sysfC、5acD、$bc 13.以下正确的函数形式是_______。 A、doublefun1(intx,inty) B、fun1(intx,y) {z=x+y;returnz;} {intz; returnz;} C、fun1(x,y) {intx,y;doublez; z=x+y; returnz;} D、doublefun1(intx,inty) {doublez; z=x+y;returnz;} 14.以下程序的输出结果是 A、20B、30C、21D、31 main() {inta[5]={10,20,30,40,50},*p; p=&a[1]; printf("%d",*p++); } 15.修改高级语言源程序的是_______。 A、调试程序B、连接程序C、编译程序D、编辑程序 二.程序填空题(20分,每空2分) 1.实现以下数学关系 -1(x<0) y=0(x=0) 1(x>0) 的程序如下,请填空。 main() {floatx;inty; scanf("%f",&x); if(①)y=-1; if(x==0)y=0; if(②)y=1; printf("%d\n",y); } 2.以下函数用以求x的y次方,y为正整数。 请填空。 doublefun(doublex,doubley) {inti;doublep=1; for(i=1;i③;i++) p=④; return(p); } 3.求数组所有元素的积,请填空。 main() {ints,i,a[4]={1,2,3,4}; s=⑤; for(i=0;i<4;i++) s=⑥; printf("%d\n",s); 4.以下函数用于找出一个2×4矩阵中的最大元素值,请填空。 max_value(intarr[][4]) {inti,j,max; max=arr[0][0]; for(i=0;i<2;i++) for(j=0;j<⑦;j++) if(arr[i][j]>max) max=⑧; return(max); } 5.将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段,请填空。 含有switch语句的程序段: ints,t,m; t=(int)(s/10); switch(t) {case10: m=5;break; case9: m=4;break; case8: m=3;break; case7: m=2;break; case6: m=1;break; default: m=0; } 含有非嵌套if语句的程序段: ints,m; if((s<110)&&(s>=100))m=5; if((s<100)&&(s>=90))m=4; if((s<90)&&(s>=80))m=3; if((s<80)&&(s>=70))⑨; if((s<70)&&(s>=60))⑩; if((s<60)||(s>=110))m=0; 三.程序运行结果题(20分,每题4分) 阅读下列各程序,将程序编译、运行输出的结果写在题目右边。 1.写出程序运行的结果: main() { floata=2.5,b=3.5; intx=3,y=2,p; p=(x+y)%2+(int)a/(int)b; printf("p=%d\n",p); } 2.写出程序运行的结果: main() { inti,j; i=2; j=4; printf("%d,%d\n",i,j); printf("%d,%d\n",i++,j--); } 3.写出程序运行的结果: main() {intnum=0; while(num<=2) {num++; printf(“%d\n”,num); } } 4.写出程序运行的结果: main() {inti,j,a[2][3]={1,2,3,4,5,6}; for(i=0;i<2;i++) for(j=2;j>=0;j--) printf("%d",a[i][j]); } 5.写出程序运行的结果: voidsub(intx,inty,int*z) {*z=y-x;} main() {inta,b,c; sub(10,5,&a); sub(7,a,&b); sun(a,b,&c); printf("%d,%d,%d\n",a,b,c); } 四、程序设计题(30分,每题10分) 认真阅读题目,按要求编写完整的C语言程序。 1.输入圆的半径r,求圆周长L,圆面积s。 要求用scanf输入数据,再计算,然后输出计算结果。 圆周率PI取3.14。 2.给出一个大于0的百分制整数成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。 大于或等于90分为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,小于60分为“E”。 3.编写一个循环结构的程序,求数列前20项之和: ——————————————————————————— 本套题的参考答案: 一.单项选择题(30分,每题2分) 1A6A11A 2B7A12B 3B8C13D 4C9B14A 5D10A15D 二.程序填空题(20分,每空2分) ①x<0②x>0③<=y④p*x⑤1 ⑥s*a[i]⑦4⑧arr[i][j]⑨m=2⑩m=1 三.程序阅读题(20分,每题4分) 1p=122,43143216545-5,-12,-7 2,42 3 四.1.本题10分。 main() {floatPI,r,L,s; printf("Pleaseenterr: \n"); scanf("%f",&r,); PI=3.14; L=2*PI*r; s=PI*r*r; printf("L=%f\n",L); printf("s=%f\n",s); } 2.本题10分。 main() {intp; scanf("%d",&p); switch(p/10) {case10: case9: printf("A\n″);break; case8: printf("B\n″);break; case7: printf("C\n″);break; case6: printf("D\n″);break; default: printf("E\n″);break; } } 3.本题10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 试题 山东 建筑 大学