您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 上海2009年计算机二级考试题(c语言)-修改
上海2009年高等学校计算机等级考试-二级C语言一.单选1.设有定义inta[10];则合法数组元素的下标范围为______A:1-9;B:0-9C:1-10D:0-102.设有定义:intx=10,y=20,z=30;则执行下列语句后的结果是________if(xy)z=x;x=y;y=z;printf(%d,%d,%d,x,y,z);A20,30,30B10,20,30C20,30,10D20,30,203.下列关于数组的描述中错误的是_________A数组的名称其实是数组在内存中的首地址;B当数组名作为参数传递给某个函数时,原数组的元素的值可以被函数修改;C一个数组只允许储存同种类型的变量D如果在对数组进行初始化时,给定的数据元素个数比数组元素少时,多余的数组元素自动初始化为最后一个给定元素的值4.下列标识符中,不合法的标识符为_______Aa#bBPadCa_10D_int5.以下所列的各函数声明中,正确的是_____Avoidplay(Integer,varb:Integer)Bvoidplay(inta,intb)Cvoidplay(inta,b)DSubplay(aasinteger,basinteger)6.表达式!x等价于_____Ax==0Bx==1Cx!=0Dx!=17.下列程序的输出结果是____main(){inta=011;printf(“%d\n”,++a);}A11B10C9D128.设a,b为整型变量,且二者均不为0,以下关系表达式中恒成立的是Aa/b*b/a=1Ba*b/a=bCa*b/b*a=1Da/b*b==a9.设X、Y和Z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是A、x==y&y!=zB、b||y+z&&y-zC、y&&’y’D、!(xy)&&!z||110.执行下列语句序列后,不可能出现的运行结果是________intn;scanf(%d,&n);switch(n){case1:case2:putchar('X');case3:case4:putchar('Y');break;default:putchar('Z');}A、显示:XB、显示:XYC、显示:ZD、显示:Y二.填空1.设有定义charx;写出判定x是否为大写字母的表达式_______2.在c语言中,char类型的数据所占存储空间的字节数为_____,能够测试数据所占存储空间字节数的运算符是_____3.假定建立了如此下图所示的链表结构,指针p、q分别指向相邻的2个结点,则将r所直接点插入了p、q所指结点之间的c语句是_____和________;4.变量value已被定义为float型,对其小数部分进行四舍五入的c表达式为______设有以下程序段,则执行完该程序段后,变量i的值是________inti;chars[]=Hello!,*p=s;for(i=0;*(p+i)!='\0';i++);5.设有以下程序段,则执行完该程序段后,便了、能够i的值是________inti;chars[]=“Hello!”,*p=s;for(i=0;*(p+i)!=‘\0’;i++);6.一个C程序总是从______函数开始执行的阅读以下程序并写出运行结果___________#includestdio.hmain(){intk,n=0;for(k=1;k=1000;k++)if(k%3==0&&k%5==0){printf(%d,k);n++;if(n==3)break;}}7.阅读以下程序并写出运行结果______#includestdio.hmain(){intk,n=0;for(k=1;k=1000;k++){if(k%3==0&&k%5==0)n++;if(n==3)break;}}三程序填空1.以下程序输入n和n个大于1的正整数,输出其中素数。如输入:51993113715则输出:191137例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数#includestdio.hvoidmain(){intn,a,i,j,ct;scanf(%d,&n);for(i=0;____(1)____;i++){______(2)______;scanf(%d,&a);for(j=2;ja;j++)if(____(3)____)ct++;if(ct==0)printf(%d,a);}printf(\n);}2.以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,再从键盘上输入一个成绩,将所有考试成绩达到或超过该成绩的学生数据写到新的文本文件“studentD.txt”。文件的最后一行为0表示学生数据结束。设文件student.txt的内容为101Zhao9558103Qian7581105Sun9991107Li80670运行时键盘输入:80则生成新文件studentD.txt的内容为:103Qian7581105Sun99910例示说明:student.txt中考试成绩在80分以上的Qian与Sun信息写到studentD.txt源程序:#includestdio.hvoidselect(FILE*fp1,FILE*fp2,intx){intnum,score1,score2;charname[20];while(1){num=0;fscanf(fp1,%d%s%d%d,&num,name,&score1,&score2);if(num==0)____(1)____;if(____(2)____)fprintf(fp2,%3d%-7s%3d%3d\n,num,name,score1,score2);}fprintf(fp2,0);}voidmain(){FILE*fp1,*fp2;intx;fp1=fopen(student.txt,r);fp2=fopen(studentD.txt,____(3)____);if(fp1==NULL||fp2==NULL){/*文件打开失败*/printf(FileOpenError!\n);return;}scanf(%d,&x);select(____(4)____);fclose(fp1);fclose(fp2);}3.以下程序输入一个10进制整数,转换为16进制,计算16进制的各个位数,并从高位到低位依次输出。如输入:687则输出:2AF例示说明:10进制687等于16进制2AF,输出时2、A、F中间包含空格源程序:#includestdio.hvoidmain(){inta[10],i,n;scanf(%d,&n);for(i=0;n0;i++){a[i]=____(1)____;n/=16;}for(i--;____(2)____;____(3)____)printf(%X,a[i]);}三、程序调试题(本大题2小题,第1题4分,第2题6分,共10分)1.程序调试题1(D_3_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_3_1.c文件和D_3_1.exe文件)保存到目录C:\KS\中。功能说明:以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。如输入:-354则输出:sumx=18例示说明:-3为首项,5为公差,4为项数,前4项之和为18原程序(见C:\KS\D_3_1.C):#includestdio.hintsumx(inta0,d,n){inti,k,s=0;k=a0;for(i=0;in;i++)s+=k;k+=d;returns;}voidmain(){inta0,d,n;scanf(%d%d%d,&a0,&d,&n);printf(sumx=%d\n,sumx(a0,d,n));}2.程序调试题2(D_3_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_3_2.c文件和D_3_2.exe文件)保存到目录C:\KS\中。功能说明:以下函数length返回字符串中字母A到字母Z所包含字符的长度。主程序输入一行字符串,调用length函数输出该字符串中大写字母A到Z的子串长度。如输入:Z2009-AShanghaiZ则输出:Length=8例示说明:从A到Z的子串为Shanghai,其长度为8原程序(见C:\KS\D_3_2.C):#includestdio.hintlength(char*p){char*q,*r;for(q=p;*q!='\0'||*q!='A';q++);for(r=q;*r!='\0'&&*r!='Z';r++);returnr-q;}voidmain(){charstr[81];intn;gets(str[0]);n=length(str);printf(Length=%d\n,n);}五、编程题(本大题2小题,每题18分,共36分)1.编程题1(D_5_1.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_5_1.C文件和D_5_1.exe文件)保存到目录C:\KS\中。功能说明:键盘输入5个整数,按由小到大的顺序排序后输出。如输入:10020-531则输出:-501020312.编程题2(D_5_2.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_5_2.C文件和D_5_2.exe文件)保存到目录C:\KS\中。功能说明:键盘输入正整数n,计算并输出的值,输出结果保留6位小数。如输入:10则输出:0.645635
本文标题:上海2009年计算机二级考试题(c语言)-修改
链接地址:https://www.777doc.com/doc-6681939 .html