2012~13(2)\\"程序设计II\\"期末试卷(1)
更新时间:2023-12-02 11:57:01 阅读量: 教育文库 文档下载
_…__…__…__…__…__…__…__…__…_:……姓名…_ _……__…__…__…__…__…__…_:…号线.学…._ …__…__…__…__…__…__订 .__…__…:…级…班… …_ _…__装_..__…__…__…__…__…__…__…__…:…业…专… _…__…__…__…__…__…__…:…级…年……诚信应考 考出水平 考出风格
浙江大学城市学院
2012 — 2013 学年第 二 学期期末考试试卷
《 程序设计II 》
开课单位: 计算学院 ;考试形式:闭卷;考试时间:_2013__年__7__月_1_日; 所需时间: 120 分钟 题序 一 二 三 四 五 六 七 八 总 分 得分 评卷人
注:请在答题卷上答题,答案写在试卷上无效。
一.单项选择题(本大题共10题,每题1分,共10分。) 1、下列叙述中错误的是( )。
A)C 语言源程序经编译后生成后缀为.obj 的目标程序
B)C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C)用C 语言编写的程序称为源程序,它以ASCII 代码形式存放在一个文本文件中 D)C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 2、假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是( )。
A)b*100+a*10+c B)a*100+b*10+c
C)b+a+c D)bac 3、有如下程序,该程序的执行结果是( )。
int main(void)
{ int i,sum=0;
for(i=1; i<=3; i++) sum+=i++; printf(\ return 0; }
A)2 B)3
C)4 D)5
4、在嵌套使用if 语句时,C 语言规定else 总是( )。
A)和之前与其具有相同缩进位置的if 配对 B)和之前与其最近的if 配对 C)和之前与其最近的且不带else 的if 配对 D)和之前的第一个if 配对 5、下述对C语言字符数组的描述中错误的是( )。
第1页,共8页
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较
6、若有定义 int n=2,*p=&n,*q=p; 则以下非法的赋值语句是( )。 A)p=q; B)*p=*q; 7、下列叙述中错误的是( ) 。
C)n=*q;
D)p=n;
A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NULL 8、以下选项中,不能定义s为合法的结构变量的是( )。 A) struct abc { double a;
B) struct { double a;
char b[10]; char b[10];
} s; } s; C) struct ABC D) struct s { double a; char b[10]; };
{ double a; char b[10]; };
struct ABC s;
9、若有定义“int *p[3];”,则以下叙述中正确的是( )。
A)定义了一个基类型为int的指针变量p,该变量具有3个指针
B)定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针 C)定义了一个名为*p的整型数组,该数组含有3个int类型元素 D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素 10、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要 求的函数调用是( )。
A)fopen(\ C)fopen(\
B)fopen(\D)fopen(\
二.填空题(本大题共10题,每题1分,共10分。) 1、程序设计语言必须具有 和数据处理的能力。 2、C语言的直接可执行文件是通过 和连接生成的。
3、条件“20 4、设有int w='A', x=14, y=15; 则执行w=((x || y)&&(w<'a')); 后,w的值为 。 5、若有定义 char *s=”123456”; 则执行语句strcpy(s+2,s+4);后,strlen(s)的值为 。 6、在stdio.h中定义了NULL的值为0,EOF的值为 。 7、有以下定义,printf(“%d”, m.n /m.m.n);的输出结果是__________。 struct s1{ char c1, c2; int n; }; struct s2{ 第2页,共8页 int n; struct s1 m; } m = {1, {?A?, ?B?, 2} }; 8、下面程序的运行结果是__________。 #include int x[5]={2,4,6,8,10}, *p, **pp; p = x; pp = &p; printf(”%d\\n”, *(++(*pp))); return 0; } 9、执行下列程序段后,变量i的值应为 __________。 #define MA(x, y) ( x*y ) i = 5; i = MA(i, i + 1) – 7; 10、当下列程序段执行完后,变量j的值为____________。 int i, j; for(i=0; i<3; i++) for(j=0; j<4; j++) if(j>i) break; 三.程序阅读题(本大题共5题,每题4分,共20分。) 1、以下程序的运行结果是__________ 。 #include int x ,a = 0,b = 0; for(x=0; x<2; x++){ switch(x) { case 0: b++; break; case 1: a++; case 2: a++; b++; } printf(\ } return 0; } 2、写出下面程序的运行结果。 #include { float s[6]={1, 3, 5, 7, 9}; 第3页,共8页 float x; int i; scanf(“%f”, &x); for (i=4 ; i>=0; i--) if(s[i]>x) s[i+1]=s[i]; else break; printf(\return 0; } (1) 如果输入4,则输出__________。 (2) 如果输入5,则输出__________。 3、以下程序的运行结果是__________。 #include int main(void) { int a, *p; a = 10; p = &a; f(p); printf(“%d\\n”, a); f(p); printf(“%d\\n”, ++*p); return 0; } 4、写出下面程序的运行结果。 #include { switch(g){ case 0: return 0; case 1: return 1; case 2: return 2; } return fib(g-1) + fib(g-2); } int main(void) { int k; 第4页,共8页 k = fib(4); printf(\ return 0; } (1) 以上程序的输出结果为__________。 (2) 如果将第8行改为:return fib(g-1) + fib(g-3); 则输出结果为__________。 5、写出下面程序的运行结果。 (1)下面程序的运行结果是________。 #include { char t, a[]=\ int i, j, n=strlen(a); for( i = 1; i < n; i++ ) for (j = 0; j < n-i; j++ ) if (a[j] > a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } puts(a); } (2) 下面程序的运行结果是________。 #include { char t, a[]=\ int i, j, n=strlen(a); int flag; for( i = 1; i < n; i++ ){ flag=0; for (j = 0; j < n-i; j++ ) if (a[j] > a[j+1]){ flag=1; t=a[j]; a[j]=a[j+1]; a[j+1]=t; } if(flag==0) break; } printf(\ } 四.程序填空题(本大题共10空,每空2分,共20分。) 1、下列程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。 int main(void ) { int x[10],a[9],i; 第5页,共8页 for(i=0; i<10; i++) scanf(\ for( (1) ; i<10; i++ ) a[i-1]=x[i]+ (2) ; for(i=0; i<9; i+ +) printf(\ printf(\ return 0; } 2、下列程序先消除输入字符串的前后空格,再判断是否是“回文”(即字符串正读和倒读都是一样),若是则输出YES,否则输出NO。 #include char s[80], ch, *p, *q; int i, j, n; gets(s); p = ___(3)___; while ( *p == ? ?) ___(4)___; n = strlen(s); q = ___(5)___; while ( *q == ? ?) q--; while ( p p++; q--; } if ( p 3、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件中形成文本文件,并将字符的个数写到文件尾部。 #include ____(7)_____; char ch, fname[32]; int count=0; printf(\:\ if((fp=fopen(fname ,\ printf(\:%s \\n\} 第6页,共8页 printf(\:\\n\ while((ch=getchar())!=?#?) { ____(9)______; count++; } fprintf(____(10)_____,\fclose(fp); return 0; } 五.程序改错题 (本大题共3题,第1题2分,第2、3题各4分,共10分。) 1、指出程序中代码错误的标号并改成正确的代码,本小题有1处错误。 输入三角形的3条边a, b, c,如果能构成一个三角形,输出面积。 #include double a,b,c, area,s; scanf( \ /*----1----*/ if( a + b > c || b + c > a || a + c > b) /*----2----*/ { s = ( a + b + c ) / 2; area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c )); printf(\ /*----3----*/ } return 0; } 2、指出程序中代码错误的标号并改成正确的代码,本小题有2处错误。 在数组a的元素中查找与x相同的元素,如果找到,输出x在数组a中的下标位置;如果没有找到,输出“没有找到与x相同的元素!”。 #include int i, x, n; int a[10]; scanf(\ for(i = 0; i < n; i++) scanf(\ /*----1----*/ scanf(\ for(i = 0; i < n; i++) /*----2----*/ if(a[i] != x) /*----3----*/ break; if(i >= n) /*----4----*/ printf( \没有找到与%d相等的元素!\\n\ else printf( \和%d相同的数组元素是a[%d] = %d\\n\ /*----5----*/ 第7页,共8页 return 0; } 3、指出程序中代码错误的标号并改成正确的代码,本小题有2处错误。 从键盘上输入5个字符串(每个字符串长度小于80个字符),输出其中最长的字符串,如果有多个,只输出最前面的那个字符串。 #include int n=5,i,index=0; /*----1----*/ char mstr[5][80]; /*---2----*/ for(i=0;i scanf(\ /*----3----*/ for(i=1; i { if(strlen(mstr[index]) <= strlen(mstr[i]) ) /*----4----*/ index = i; } puts( mstr[i] ); /*--5---*/ } 六.程序设计题(本大题共3题,每题10分,共30分。) 1、 编写程序,输入一个双精度数x,计算y的值(保留3位小数)。可调用数学函数 (平方根函 数是sqrt)。 (x+1)2 + 1/x x<0 y = 0 x=0 x x>0 2、 输入一个整数n(n<10),然后输入n个学生信息(每个学生信息包括3项:学号、姓名、 成绩)存入数组a,再输入一个学号,在数组中查找该学号,找到输出该学生信息,没找到输出Not Found。 3、 输入一个字符串,先比较该字符串中数字字符个数是否大于英文字母(包括大小写)个数, 如果大于,则将这些数字字符合成一个整数后输出。其中要求自定义一个函数int judge(char *s),用于判别字符串中数字字符个数是否大于英文字母(包括大小写)个数,大于返回1,否则返回0。 例如:字符串为”a1B2c34”,则输出1234 字符串为”a1B2c3”,则无输出 第8页,共8页 _…__…__…__…__…__…__…__…__…_:……姓名…_ _……__…__…__…__…__…__…_:…号线.学…._ …__…__…__…__…__…__订 .__…__…:…级…班… …_ _…__装_..__…__…__…__…__…__…__…__…:…业…专… _…__…__…__…__…__…__…:…级…年……诚信应考 考出水平 考出风格 浙江大学城市学院 2012 — 2013 学年第 二 学期期末考试答题卷 《 程序设计II 》 开课单位: 计算学院 ;考试形式:闭卷;考试时间:_2013__年__7__月_1_日; 所需时间: 120 分钟 题序 一 二 三 四 五 六 总 分 得分 评卷人 得分 一.单项选择题(本大题共10题,每题1分,共10分。) 1 2 3 4 5 6 7 8 9 10 得分 二.填空题(本大题共10题,每题1分,共10分。) 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 得分 三.程序阅读题(本大题共5题,每题4分,共20分。) 1、 2、 第1页,共4页 3、 4、 5、 得分 四.程序填空题(本大题共10空,每空2分,共20分。) (1) (3) (5) (7) (9) 得分 (2) (4) (6) (8) (10) 五.程序改错题 (本大题共3题,第1题2分,第2、3题各4分,共10分。) 1、 错误标号: 正确代码: 2、 错误标号: 正确代码: 错误标号: 正确代码: 3、 错误标号: 正确代码: 错误标号:正确代码: 第2页,共4页 六.程序设计题(本大题共3题,每题10分,共30分。) 得分 1、 得分 2、 第3页,共4页 得分 3、 第4页,共4页
正在阅读:
2012~13(2)\\"程序设计II\\"期末试卷(1)12-02
物价调查报告12-12
新年短信-新年短信大全02-07
无机及分析化学课后习题第十章答案11-03
码头自查报告01-17
上海市2016届高三5月适应性考试(三模)英语试题 Word版含答案 - 图文10-14
党员学习心得体会2022年8篇04-03
推广普通话倡议书怎么写附范文08-13
- 1谈国有林场&quot;十二五&quot;产业发展思路
- 2《迷人的\\"where\\"》微课程设计方案 - 图文
- 3抗"疫"期间思想汇报5篇
- 4培根的\\"On studies\\"的原文及译文赏析
- 5用古文表达"我想你",文气十足!
- 6ARM汇编中关于\\".word\\"伪指令的概念
- 7(2015)\\"微观经济学A\\"习题(6)
- 8GHOST时出现\\"AGHOSTERR.TXT\\"问题的解决方法1
- 9GHOST时出现\\"AGHOSTERR.TXT\\"问题的解决方法1
- 10利用空客飞机的\\"AIDS\\"系统排除飞机故障 - 图文
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- quot
- 程序设计
- 期末
- 试卷
- amp
- 2012
- 13
- II
- 2016年山东职业院校技能大赛
- 2014第二十一届广州酒店用品展参展商名录
- 《绿色循环低碳港口考核评价指标体系(施行)》4 - 图文
- 时代光华 商业模式的力量
- 国学经典教育实施方案
- 浅谈现浇空心楼板设计及施工 - 图文
- 5研发中心知识产权管理制度
- EH油系统说明书 - 图文
- 第三章 审计证据 章节练习和答案解析
- 大学物理仿真实验具体操作指导 - 图文
- 福建师大2014年秋西方经济学作业作业2
- 6.消防工程施工合同范本(2013)
- 写给女儿
- 飞机维护基础知识考题
- 广西桂林市2017届中考物理二模试卷(附答案)$787337
- 软课题研究思路参考--包含研究大纲、范例等
- 1-第一章X射线物理课后习题答案
- 二年级上册语文课后反思(整册反思全)
- 12管道穿跨越工程
- 吉林省投资担保公司名录2018版216家 - 图文