2013年春C程序设计期中试卷.doc_第1页
2013年春C程序设计期中试卷.doc_第2页
2013年春C程序设计期中试卷.doc_第3页
2013年春C程序设计期中试卷.doc_第4页
2013年春C程序设计期中试卷.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

浙 江 大 学 城 市 学 院浙江大学城市学院2012 2013 学年第二学期期中考试试卷C程序设计基础与实验开课单位: 计算分院 ;考试形式:闭卷;考试时间: 2013 年 5 月 5 日;所需时间: 120 分钟注:试卷不用交,只交答题卷,请在答题卷上答题。一、 判断题 (本大题共10题,每题1分,共10分)1、 赋值号左边一定是是变量。Y2、 p=+n+5;和p=5+n+;是否等价。N3、 关系表达式 a=bc 等价于 a=bc。N4、 逻辑表达式 C&d 的值为 1。Y5、 if(n)和if(n!=0)不等价。N6、 在switch语句中,case后面可以是带变量的表达式。N7、 for(表达式1;表达式2;表达式3)循环体;,for循环语句先执行“表达式1”,再执行“表达式2”,如果“表达式2”条件成立,执行“表达式3”,然后执行“循环体”。N8、 for循环一定可以用while循环实现,反之亦然。Y9、 返回语句return能立即从所在的函数退出,把值返回到原来调用的函数去继续执行。Y10、 阶乘函数调用写成fact(int n)是否正确?N二、 单选题 (本大题共10题,每题2分,共20分)11、 在C语言中,要求运算数必须是整型的运算符是 。A. /B. +C. !=D. %12、 除“!”以外,以下运算符优先顺序的描述中正确的是 。A. 关系运算符算术运算符赋值运算符逻辑与运算符B. 逻辑运算符关系运算符算术运算符赋值运算符C. 赋值运算符逻辑与运算符关系运算符算术运算符D. 算术运算符关系运算符赋值运算符b) a=b; c=a; if(c!=a) c=b; printf(%d,%d,%dn,a,b,c); A. 5,5,5B. 7,5,5C. 7,5,7D. 7,5,316、 下列语法正确的程序段是 。程序段1:程序段2:float n,i;float n,i=1;scanf(%f,&i);scanf(%d,&i);switch(i)switch(i)case 1: n=i+1;case i2: n=i+1;case 2: n=i+2; break;case i=3: n=i+2; break;default: n=i+3;default: n=i+3;程序段3:程序段4:float n,i;float n,i;scanf(%f,&i);scanf(%f,&i);switch(int(i)switch(int)i)case 1: n=i+1;case 1: n=i+1;case 2: n=i+2;case 2: n=i+2; break;default: n=i+3;default: n=i+3;A. 程序段1B. 程序段2C. 程序段3D. 程序段417、 若变量定义int i; double sum=0,下列1+2+10正确的程序段是 。A. for(i=1; i=10; i+);B. for(i=1, i=10, i+) sum=sum+i;sum=sum+i; printf(%lf ,sum);printf(%f,sum);C. for(i=1; i=10; i+)D. for(i=1, i=10, i+); sum=sum+i;sum=sum+i; printf(%f,sum);printf(%f,sum);18、 设 int k=10;,以下 while 循环执行次数是 。 while (k%10!=0) k=k-1;A. 执行10次B. 执行1次C. 无限循环D. 一次也不执行19、 C语言中while和do-while循环的主要区别是 。A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句20、 以下正确的函数是 。A. double fun(int x, int y) B. double fun(int x, int y) int z; z=x+y;z=x+y;return z;return z; C. double fun(x, y)D. double fun(int x, int y)int x,y; double z; int x, y; double z;z=x+y; return z;z=x+y; return z; 三、 填空题(每题2分,共20分)1)、 程序功能是统计学生成绩,输入一个正整数 n,再输入 n 个学生的百分制成绩,统计各等级成绩的个数。成绩等级分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59)。,请填空。 21 int main(void) int i, mark, n; int na, nb, nc, nd, ne; scanf(%d,&n); na = nb = nc = nd = ne = 0; for(i = 1; i =90&mark=80)nb+;else if(mark=70)nc+;else if(mark=60)nd+; 23 ne+; printf(%d%d%d%d%dn, na,nb,nc,nd,ne);return 0;21 A. #include B. #include C. #include D. #include 22、A. while B. elseC. if D. switch23、A. else(mark=0)B. else(mark60)C. else if(mark60)D. else2)、 求s的前n项之和(保留小输2位)。该序列从第2项起,每一项的分子是前一项分子与分母之和,分母是前一项的分子。#include void main() int a,b,c,i,n,flag; double item, s; 24 a=2; b=1; scanf(%d, &n);for(i=1; i=n; i+) 25 。 s=s+item; 26 。 flag=-flag; printf(s=%lfn,s);24、A. flag=1, s=1;B. flag=1, s=0;C. flag=0; s=0;D. flag=1; s=1;25、A.item=1.0*a/b;B. item=flag*1.0*a/b;C. item=flag*a/b; D. s=0; item=flag*1.0*a/b;26、A. c=a; a=b; b=c;B. b=a; c=a+b; a=c;C. c=a+b; a=b; b=c;D. c=a+b; b=a; a=c;3)、 程序功能是根据以下的近似公式,计算e的值,精度为eps(精确到最后一项的绝对值小于eps),请填空。#include int main(void) int i; double item,sum,fact,eps; 27 scanf(%lf, &eps); for(i=2; 28 ; i+) sum=sum+item; 29 item=1/fact; printf(%.2fn,sum);return 0;27、A. item=1,sum=0,fact=1;B. item=1,sum=0,fact=0;C. item=0,sum=1,fact=1;D. item=1,sum=1,fact=1;28、A. itemepsB. item=epsC. fabs(item) 1E-5D. fabs(item)=1E-529、A. item=fact*i;B. item=item*i;C. fact=fact*i;D. fact=item*fact; 4)、 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。#include void main()int a,max= 0; scanf(%d,&a); while( 30 )if(maxa) max=a; scanf(%d,&a);printf(%d,max); 30、A. a=0B. a C.!a=1D. !a四、 程序阅读题(每题3分,共30分)31、 以下程序运行后的输出结果是 #include void main(void)int a = 2, b = 3, c = 1, d;d = a + b c;printf(%d,d);31、A. 0B. 1 C.3D. 532、 以下程序运行后的输出结果是 #include int main(void)int x=3,y=2;if(!x!=0) y+;else if(x=0)if (x) y=y+10;else y=y+20;printf(%dn,y);A. 3B. 22 C. 23 D. 233、 以下程序运行时,输入3,输出结果是 。#include void main()int s;scanf(%d,&s);switch(s)case 1:printf(%d,s+5);case 2:printf(%d,s+4); break;case 3:printf(%d,s+3);default:printf(%d,s+1);break;A. 4B. 6C. 64D. 4634、 执行下列程序段后,输出的结果是 。#include void main()int a=1,b=11;dob=b%2;a=a+b;while (b1);printf(%dn,a);A.2 B. 3C. 4D. 535、 执行下列程序段后,输出的结果是 。#include voidmain(void)intnum=0,s=1;while(num=2)num+; s+=num;printf(%dn,s);A.1 B.4C. 7D. 1036、 以下程序运行后的输出结果是 。#include void main() int a,sum=0;for(a=1;a=10;a+)if(a%2=3) break;sum=sum+a;printf(%d,sum);A. 25B.35C. 45D. 5537、 以下程序运行后的输出结果是 。#include void main() int a,sum=0;for(a=1;a=10;a+)if(a%3=1)continue;sum=sum+a;printf(%d,sum);A. 31B. 33C. 27D. 3538、 以下程序运行后的输出结果是 。#include void main(void) int i,j,m=0; for(i=1; i=3; i+)m+;for(j=i+1; j4; j+)m+; printf(%d,m);A. 5B. 6C. 7D. 839、 以下程序运行后,输出结果是 。#include void main(void) int i; double sum=0, fact_s(int n); for(i=1; i = 3; i+)sum = sum + fact_s(i);printf(%.0f,sum); double fact_s(int n) static double f; f = f * 10 + n; return f;A. 321B. 123C. 136D. 不确定值40、 以下程序运行后,输出结果是 。#include double f;void main(void)int i; double fact_s(int n);f=0; for(i=1; i = 5; i+)fact_s(i);printf(%.0f,f); double fact_s(int n) f = f + n; return f;A. 0B. 5C. 15D. 不确定值五、 程序设计题(每题10分,共20分,附加题另加分)41、 编程:要求从键盘上输入一个数给x,计算并输出函数y的值。y= x2 +3x+5 5x 0x5 6x-7 x042、 编程,输入n个数,求n个数的偶数之和,要求定义一个判断奇偶数的函数even (n)。43、 附加题:黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数)例如,对三位数207:第1次重排求差得:720027693;第2次重排求差得:963369594;第3次重排求差得:954459495;以后会停留在495这一黑洞数。如果三位数的3个数字全相同,一次

温馨提示

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

最新文档

评论

0/150

提交评论