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

付费下载

下载本文档

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

文档简介

2012年上海市高等学校计算机等级考试试卷二级C语言程序设计(A卷)(本试卷考试时间120分钟)一、单选题(本大题10道小题,每小题1分,共10分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。1。在一个C语言源程序中,main()函数的位置_________.答案:CA。必须在最前面B。必须在其它函数之前C.可以在任意位置D。必须在最后面2.设有变量定义:inta[]={5,6,1,3,7},c,i;当执行完语句:for(i=c=0;i<5;i++){if(a[i]%3==0)continue;c++;}之后,c的值是_____。答案:CA.1B。2C。3D。43。以下程序运行结果为_______#definePII3#defineS(x)PII*x*xmain(){inta=1,b=2,c;c=a+b;printf(”%d\n",S(c));}答案:BA.9B.27C。7D。104。若有变量定义:inta[4],*p=a;则以下对数组a的元素不正确的引用是_____。答案:DA.*aB。*(p+1)C.p[1]D。a[4]5.设有变量定义:intd[50],*p=&d[0];下面表达式中________的计算结果为int类型的数值(非地址).答案:DA.p+=1B。p++C。&d[2]D.p—d6。为了判断两个字符串s1和s2是否相等,应当使用_____。答案:DA。if(s1==s2)B。if(s1=s2)C。if(strcpy(s1,s2))D。if(strcmp(s1,s2)==0)7.设有变量定义intn;charstr[80];与函数调用:n=hex2dec(str);则函数hex2dec正确的函数说明应该是_______.答案:AA。inthex2dec(charstr[]);B.voidhex2dec(charstr[]);C。inthex2dec(charstr);D.voidhex2dec(charstr);8。设有以下结构体定义及初始化,表达式(stu[0].score+stu[1]。score)/2的结果是_______。structstudent{intnum;floatscore;}stu[2]={90,91.5,93,92.5};答案:CA.91.0B。91.5C。92.0D。92.59.在C语言中,将文件内部的位置指针重新指向一个流(数据流/文件)的开头的库函数是_______。答案:BA.fgetcB。rewindC.fscanfD。fread10.若建立了以下链表结构,head,p,q是指向结点的指针,以下_____组语句的功能是输出如下图所示的中间结点(数据为E的结点)的数据项.答案:BA.q=p;printf(”%c”,q-〉data);B.q=p->next;printf(”%c”,q-〉data);C。q=p;printf(”%c”,q);D.q=p-〉next;printf("%c",q);二、程序填空题(本大题2道小题,每空2.5分,共20分)。1.程序完成以下功能:对x=1,2,.。。,10,求函数f(x)=x—10cos(x)-5sin(x)的最大值,并将该值写到新建文件data.txt中。#include<stdio。h〉#include<math。h>voidmain(){FILE*p;floatf(float),max,x;if((p=fopen("___1____",”w”))==NULL){printf("cannotopenFILE\n");exit(0);}max=f(1);for(x=2;x〈=10;x++)if(___2____<f(x))max=f(x);fprintf(p,”%.3f",max);fclose(___3____);}floatf(floatx){___4____;y=x—10*cos(x)—5*sin(x);returny;}1):【data.txt】2):【max】3):【p】4):【doubley】【floaty】2.在输入的字符串中删除小写字母t,并统计被删除字母的个数。如输入:gt=5xt—6ty则输出:删除后的串为:g=5x-6y删除个数:3#include〈stdio.h> #include〈string.h>intf(chars[]){ inti=0,___1____;while(s[i]!='\0’) if(___2___==’t'){strcpy(s+i,s+i+1);c=c+1;} else i++; ___3____;}voidmain(){ints;charstr[80];gets(str);s=f(___4____);printf("删除后的串为:");puts(str);printf("删除个数:%d",s);}1):【c=0】2):【s[i]】【*(s+i)】3):【returnc】【returnc;】【return(c)】【return(c);】4):【str】三、操作题(一)程序调试题(3小题,第1,2小题各3处错,第3小题4处错,每改正1处得3分,共30分)1.程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括B_2_1.C文件和B_2_1。EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入8个学生计算机二级考试的成绩(成绩可能有小数),统计并输出成绩合格的学生的人数。程序对有小数的成绩应也能够正确处理.例如输入:71.54664。58294537948 则输出:5带错误原程序(见C:\KS\B_2_1.C):#include〈stdio。h>intmain(){inti,c;floatscore[8];c==0;for(i=0;i<8;i++){scanf("%d”,&score[i]);if(score[i]≥60)c++;}printf("%d\n”,c);getchar();/*本句无错;暂停程序,按任意键继续*/}2。程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括B_2_2。C文件和B_2_2.EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入一个字符串(长度不超过80),然后用选择法按照字符顺序从小到大进行排序,最后输出排序后的字符串.例如输入:ca39t6k 则输出:369ackt带错误原程序(见C:\KS\B_2_2。C):#include〈stdio.h>#include<string。h〉intmain(){charstr[81],*p,*q,*minq;gets(str[81]);for(p=str;*p!=’\0’;p++)//用选择法按照字符顺序从小到大进行排序{for(q=minq=p;*q!='\0';q++)//用minq指向本趟排序字符值最小的字符的位置if(*q>*minq)minq=q;if(minq!=p)//字符值最小的字符不在希望的位置上,则交换{c=*minq;*minq=*p;*p=c;}}puts(str);getchar();/*本句无错;暂停程序,按任意键继续*/}3。程序调试题3调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果.将结果(包括B_2_3。C文件和B_2_3。EXE文件)保存到目录C:\KS\中。功能说明:函数mysum的功能是计算n个整数中数值在70~80之间(含70和80)的整数的和,程序从键盘输入8个整数,通过调用函数mysum计算这8个整数中数值在70~80之间的整数的和,然后输出。例如输入:2371568594786380 则输出:sum=229带错误原程序(见C:\KS\B_2_3。C):#include<stdio.h〉floatmysum(intb[],intn){floats;inti;for(i==0;i〈n;i++)if(70〈=b[i]<=80)s+=b[i];returns;}intmain(){inta[8],i;for(i=0;i<8;i++)scanf(”%d”,&a[i]);printf("sum=%.0f\n”,mysum(inta[],8));getchar();/*本句无错;暂停程序,按任意键继续*/}(二)编程题(2小题,共35分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_1。C文件和B_4_1。EXE文件)保存到目录C:\KS\中。程序功能:从键盘上输入一个字符并存放到变量c,再输入一个整数存放到变量n(设2≤n≤20),输出以变量c中的字符组成的n行2n列方波波形图案,当c,n为#,8时,图案及坐标计算如下图所示。程序运行两次,分别输入"#8”和"@5"时的运行结果如下:2.编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.EXE文件)保存到目录C:\KS\中.功能说明:电力公司根据如下费率表进行收费:第一个300度(0到300度)以每度0.6元计,下一个300度(301到600度)以每度0。5元计,

温馨提示

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

评论

0/150

提交评论