




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2017年下学期 高考部二年级 期中考试C语言程序设计试卷姓名:_ 班级:_一、选择题(请将正确选项填入括号里,每题5分,共计120分)(1) 若ch为char型变量,k为int型变量(已知字符a的ASCII码值十进制数为97),则执行下列语句后的输出为( )ch=a;k=12;printf(“%x,%o,”,ch,ch,k);printf(“k=%dn”,k);A) 因变量类型与格式描述符的类型不匹配,输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) 61,141,k=% dD) 61,141,k=%12(2) 设m1、m2、m3、m4为整型变量,将16赋值给m1与m3,将18赋值给m2与m4,则下面语句所对应的正确输入方式为 ( )scanf(“%d%d”,&m1,&m2);scanf(“%d,%d”,&m3,&m4);A) 1618 B) 16 18 C) 16,18 D) 16 181618 16 18 16,18 16,18(3) 运行下面程序,输出是 ( )#includemain() int m=4; do printf(“%d”,m+=m-=2); while(!(m-); printf(“n”); A) 0 B) 2 C) 4 D) 无限循环(4) 下面正确的赋值语句是 ( ) A) i+; B) a=1,b=2 C) a=b=5 D) y=int(x);(5) 下面程序的运行结果是 ( ) #include main() int i; for (i=1;i=5;i+) if(i%2) printf(“*”); else continue; printf(“#”);printf(“$n”); A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$(6) 下列程序输出为 ( ) main() int a=9; a+=a-=a+a; printf(“%dn”,a);A) 18 B) 9 C) -18 D) -9(7) 下面程序输出为 ( ) #include main() int i,j,k,m=3,n=2; i=(-m=n+)?- -m:+n; j=m+; k=n;printf(“%d,%d,%dn”,i,j,k); A) 2,1,3 B) 1,1,2 C) 4,2,4 D) 1,1,3(8) 下列程序执行后的循环次数为 ( ) #include main() int k=2;while(k=0)k-; A) 无限次 B) 0次 C) 1次 D) 2次(9) 下面程序运行结果为 ( )#include main() int i,j,x=0; for(i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue; x+; x+; printf(“x=%dn”,x); A) x=4 B) x=8 C) x=6 D) x=12(10) 下面程序的输出是 ( ) #include main() int i,j,s=0; for (i=0;i16;i+=4) for(j=3;j20;j+=4) s+; printf(“%dn”,s); A) 12 B) 15 C) 20 D) 34(11) 下列程序输出为 ( )#include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%dn”,a,b); A) a=1,b=0 B) a=2,b=1 C) a=1,b=1 D) a=2,b=2(12) 以下程序段是 ( ) x=-1; do x=x*x; while(!x);A) 是死循环 B) 循环执行三次 C) 循环执行一次 D) 循环执行零次(13) 下面程序的输出为 ( )#includemain() int k=10; while(k-); printf(“%dn”,k); A) 0 B) 1 C) -1 D) 死循环(14) 以下选项中,与k=n+完全等价的表达式是 ( )A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1(15) 有以下程序段int n=0,p;do scanf(“%d”,&p);n+; while(p!=12345&n3);此处do-while循环的结束条件是 ( )A) p的值不等于12345并且n的值小于3 B) p的值等于12345并且n的值大于等于3 C) p的值不等于12345或者n的值小于3 D) p的值等于12345或者n的值大于等于3(16) 已知i,sum均为整型变量,现有如下语句序列:i=1;for(;i=100;i+)sum+=i;下列选项与上述语句序列不等价的是 ( )A) for(i=1;i+) B) for(i=1;i=100;) sum+=i; sum+=i; if(i=100)break; C) i=1; D) i=1;for(;i=100;) for(;) sum+=i; sum+=i;i+; if(i=100)break; i+; (17) 运行下面程序输出为 ( )#includemain() int k=10;switch(k) case 8:k+;case 10:k+;case 20:k+;case 30:k+; printf(“%dn”,k); A) 10 B) 11 C) 12 D) 13(18) 运行以下程序时,如从键盘输入642,运行结果为 ( )#includemain() int c; while(c=getchar()!=n)switch(c-2) case 0: case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break; printf(“n”); A) 642 B) 8866 C) 88864 D) 8654(19) 有以下程序 main() int a=15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; printf(“%dn”,m); 程序运行后的输出结果是 ( )A) 1 B) 2 C) 3 D) 4(20) 下列程序的运行结果为 ( ) mian() int n=10; while(n7) n-; printf(“%d”,n); A) 10 9 8 B) 9 8 7 C)10 9 8 7 D) 9 8 7 6(21) 以下程序段的输出结果是 ( ) int a=1234;printf(“%2dn”,a);A) 12 B) 34 C) 1234 D) 提示出错,无结果(22) 以下程序的输出结果是 ( )main() int a=5,b=4,c=6,d; printf(“%dn”,d=ab?(ac?a:c):(b); A) 5 B) 4 C) 6 D) 不确定(23) 有定义语句:int a=5,b;,不能给b赋2的赋值语句是 ( )A) b=a/2; B) b=b+2; C) b=2%a; D) b=5,b=2;(24) 在下列选项中,没有构成死循环的程序段是 ( )A) int i=100;while(1)i=i%100+1;if(i100) break; D) int s=36; while(s) ; -s;C) int k=0;do+k;while(k=0);B) for(; ;); 二、程序阅读题(请将正确答案填写在相应横线处,每空计5分,共35分)(1) 有如下程序: main() char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%cn,c5,c6); 若从键盘上输入数据123 45678,则输出是_。(2) 以下程序的运行结果是_。main() int a=2,b=3,c; c=a; if(ab) c=1; else if(a=b) c=0; else c=-1;printf(%dn,c); (3) 运行下面程序,输出是_。 main() int a=10,b=5,c=5,d=5,i=0,j=0,k=0; for(;ab;+b) i+; while(a+c) j+; do k+; while(ad+); printf(%d,%d,%d,i,j,k); (4) 下面程序运行时的输出结果是_。main() int i=0,s=0; do s+=i+;while(i6); printf(%dn,s); (5) 以下程序运行后的输出结果是_。main() int x=10,y=20,t=0; if(x=y) t=x; x=y; y=t; printf(%d,%dn,x,y); (6) 输入1 2 3 4 5 -1,写出运行结果_。main() int k=0,n; do scanf(“%d”,&n); k+=n; while(n!=-1);printf(“k=%d n=%dn”,k,n); (7) 下列程序的输出结果是_。main() int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); 3、 程序编程题(请将程序完整填写至相应横线处,每空5分,共计25分)(1)下面程序的功能是:输入三个整数给a,b,c,把b的值赋给a,c的值赋给b,a的值赋给c,交换后输出a,b,c的值。例如:读入a=10,b=20,c=30后,交换成a=20,b=30,c=10。将程序补充完整。 # include main() int a,b,c,t; printf(Enter a,b,c:); scanf(%d%d%d,_); _;a=b;b=c;_ _; printf(a=%d,b=%d,c=%dn,a,b,c); (2)下面程序的功能是用dowhile语句求11000中满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印五个数,完整程序。 main() int i=1,j=0; do if (_) printf(“%4d”,i) j=j+i; if(_) printf(“n”); i=i+1; while(i1000); 4、 程序改错题(根据题目要求,将错误行标出并改正于方框中,每处5分,共20分)1.下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A、E、I、O、U,不分大小写)的个数。例如:输入“THIS is a boot”,则应输出 1 0 2 2 0。下列程序中有两处错误,请发现并改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。L1#include L2void fun(char s , int num5)L3 int k, i=5,j=0;L4 for(k=0;k=0)L16 numi+;L17 L18L19main()L20 char s181; int num15, i;L21 printf(nPlease enter a string: );L22 gets(s1);L23 fun(s1, num1);L24 for(i=0;i5;i+) printf(%d ,num1i);L25printf(n); 2.下列给定程序中,函数fun的功能是:求出如下分数列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出8.391677。下列程序中有两处错误,请发现并改正程序中的错误,使它能得出正确结果。注意:不得增行或删行,也不得更改程序结构。L1#include L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学课程标准考试及答案
- 2025年贵州省安顺市公需课培训(专业技术人员继续教育)试题及答案
- 2025年贵州二级建造师考试试题库(答案+解析)
- 职业培训考试题目及答案
- 安全教务培训课件
- 高一开学考试试题及答案
- 商业合同履行守信承诺书(6篇)
- 语文高二月考试卷及答案
- 大学三级考试a卷真题及答案
- 软件开发笔试题目及答案
- 农村厕所改建技术培训-三格化粪池式厕所课件
- 砖混框架房屋拆除专项施工方案
- 学生学习力评价量表
- 藏餐培训教学计划5篇
- 技术需求征集表
- 三年级上册美术课件-第1课 五星红旗我为你骄傲|辽海版
- 中职心理健康教育第一课-PPT课件
- 文化引领学校特色化课程体系的建构
- 安全现场文明施工措施费用清单
- 蓝色多瑙河(课堂PPT)
- 生物波能量与养生健康知识问答手册
评论
0/150
提交评论