2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷)_第1页
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷)_第2页
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷)_第3页
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷)_第4页
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计 ( B 卷)(本试卷考试时间 120 分钟) 一、单选题 1. 关于C程序的主函数,以下描述中正确的是:_ 。A. C程序的第一个函数称为主函数,程序从该函数开始运行。B. C程序可以有多个主函数,程序从第一个主函数开始运行。C. C程序可以没有主函数,程序从第一个函数开始运行。D. C程序的主函数即是main函数,程序从该函数开始运行。2. 字符变量a与b分别初始为S与B,正确的语句是:_ 。A. char a,b=S,B;B. char a=S, char b=B;C. char a=S, b=B;D. char a=S, b=B;3. 设有int n2010; 要求屏幕上显示“n=2010”结果,正确的语句是:_ 。 A. printf( n );B. printf( n=, n );C. printf( n=, %d, n );D. printf( n=%d, n );4. 设有变量定义:int a=5, b=8;当执行完语句:b= ab ? a: b - 1; 之后,变量 a和 b的值为 _。A. 5和5B. 5和7C. 5和8D. 5和95. 设int n; 判断“n不为0”的表达式是:_。A. n=0B. !(n=0)C. n=!0D. n!=06. 若有定义: float w; int num; char s; 则合法的switch语句是_。A. switch(w) case 1.0: printf(*n); case 2.0: printf(*n); B. switch(num); case 1 printf(*n); case 2 printf(*n); C. switch(s) case a: printf(*n); case b: printf(*n); default: printf(n);D. switch(num+1) case 1: printf(*n); case 1: printf(*n); default: printf(n); 7. 以下语句中,循环次数不为10次的语句是_。A. for(i=1;i10;i+);B. i=1;doi+;while(i0) -i;D. for(i=10; i=1; i-;8. 用于for循环体中的continue语句的作用是_。A. 终止程序执行B. 终止循环继续C. 结束本次循环D. 重新执行循环9. 若要定义一个int型二维数组a,并使其各元素具有初值: 2 3 0 0 4 0 5 0 0 0 0 0 则正确的定义语句是_。 A. int a=2,3,0,0,4,0,5,0,0,0,0,0;B. int a4= 2,3,0,0,4,0,5,0,0,0,0,0;C. int a34= 2,3,4,5;D. int a=2,3,0,0,4,0,5,0,0,0,0,0;10. 设有语句:int x=0,1,2,3,4,5,6,7,8,9, *p=x+5; while(*p+next; p-next=q-next; free(q);B. q=p-next; free(q); p-next=p-next-next;C. p-next=p-next-next; q=p-next; free(q);D. p-next=q-next; q=p-next; free(q);二、程序填空题 1. 程序运行时,输入整数n(0n10)后,输出一个字符金字塔。如输入4,则输出: A ABC ABCDE ABCDEFG源程序:#include void main() int k,j,n; scanf(%d, _1_); for(k=1;k=n; _2_) for(j=1;j=n+1-k;j+) putchar( );/* 输出空格 */ for(j=1;j=2*k-1;j+) printf(%c,_3_); printf(n); getchar(); /*程序暂停,按任意键继续 */2. 输入一个长度小于80的字符串,将字符串中所有小写字母转换为相应的大写字母,大写字母转换为相应的小写字母,其它字符不变,最后输出该字符串。运行示例 输入字符串:abc+ABC=? 转换后的字符串:ABC+abc=?源程序: #include #include void main() int n; _1_; char str80; printf(输入字符串: ); gets(_2_); n= strlen(str); for(i=0; _3_;i+) if(stri=a& stri=A& stri=Z) stri=stri+32; printf(转换后的字符串: ); puts(str); getchar(); /*程序暂停,按任意键继续 */ 3. 输入学生成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。函数getmax(array,n)功能是,在有n个元素的一维数组array中找出最大值并返回。运行示例:输入成绩: 90 80 77 65 -1Max = 90源程序:#include #define MAXNUM 50int getmax(int array,int n) int k, max; max = _1_; for (k = 1; k n; k+) if (max arrayk) max = arrayk; return _2_;void main( ) int k, x; int markMAXNUM; printf(输入成绩:); k = 0; scanf(%d, &x); while(k =0 & x 0) printf(Max = %dn, _5_);/* 输出最高分 */ else printf(No marks!n); getchar(); /*程序暂停,按任意键继续 */三、操作题(一)程序调试题1. 程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_1.C文件和C_2_1.EXE文件)保存到指定目录中。功能说明:利用公式e = 1 + 1/1! + 1/2! + + 1/n! + 求前n项的e值。如输入:4则输出:2.又输入:10则输出:2.带错误原程序(见C_2_1.C):#include main() int n,i; float e,a; scan(%d,&n); e=a=1.0; for (i=1;i=n;i+) a*=i; e+=1a; printf(%fn,e); getchar(); /* 本句没错,程序暂停,按任意键继续 */2. 程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_2.C文件和C_2_2.EXE文件)保存到指定目录中。功能说明:程序从键盘输入一行16进制字符串(字母必须大写),调用hexvalue函数转换为10进制,并输出转换结果。如输入:1A则输出:26又输入:1AF8则输出:6904带错误原程序(见C_2_2.C):#include long hexvalue(char *str) long data=0; int n,i; for (i=0;stri!=0,i+) if (stri=0 & stri=A | stri=F) n=stri-A+10; else break; data=data*10+n; return data;main() char s80; scanf(%s,s); printf(%ld,hexvalue(s); getchar(); /* 本句没错,程序暂停,按任意键继续 */3. 程序调试题3调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_3.C文件和C_2_3.EXE文件)保存到指定目录中。功能说明:程序从键盘输入一个整数n,将数组a的11个元素向左循环n次后输出。如输入:3则输出:3 4 5 6 7 8 9 10 0 1 2带错误原程序(见C_2_3.C):#include main() int a10=0,1,2,3,4,5,6,7,8,9,10,n,i,j,p; scanf(%d,&n); for(i=1;in;i+) p=a0; j=0; while(j10) aj=aj+1; j+; a10=p; for(i=0;i=10;i+) printf(%d ,a(i); getchar(); /* 本句没错,程序暂停,按任意键继续 */(二)编程题1编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_1.C文件和C_4_1.EXE文件)保存到指定目录中。功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):(1)输入10个成绩(浮点数类型,数组名记为a);(2)计算并输出累加和(记为sum)与平均值(记为ave),均保留一位小数;(3)将ave及以上的成绩归为A档,ave以下的成绩归为B档,统计并输出A、B两档的人数。运行示例:输入:55.5 99.5 50.0 90.0 88 59.5 48 60 78.0 66.5输出:Sum=695.0, Ave=69.5, A=4, B=62编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_2.C文件和C_4_2.EXE文件)保存到指定目录中。功能说明:编写程序,通过以下步骤验证一个正整数是否符合特定的规则:(1)输入一个4位的正整数n,将n分拆成a与p,a为n的低两位,p为n的高2位;(2)计算a的所有因子之和,记为s(当1ia时,如果a是i的倍数,则i是a的因子);(3

温馨提示

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

评论

0/150

提交评论