诸位报考2019年北京市院校计算机等级考试二级C语言程序设计的朋友,10月26日就要考试了,你打算好了吗?
其实很多朋友很认真打算了,可是没见过考试题型究竟长啥样,又没有以往的真题可以参考下,心中还是没底。前几天发了今年的一套真题,昨天在这儿,再给你们一套2015年的考试真题练练手。同样没有答案,不会的自己好好思索一下,翻书查资料再巩固下自己的知识。加油!祝你们考试顺利!
2015北京市高等中学计算机等级考试试题
二级C语言程序设计(C场)
(本试题考试时间120分钟)
一、单选题(本大题10道小题,每小题1.5分,共15分),从下边题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.下边标示符中,可以作为合法变量名的是()。
A.m@q
B.Mo_day
C.mn/5
D.char
2.设有如下句子:
ints,num;
s=1005;num=2;
则表达式(float)s/num的值是()。
A.502.000000
B.502
C.502.500000
D.503.000000
3.设有如下定义句子:
chara[10]="ABC";
则printf("%s",a+1);的输出结果为()。
A.ABC
B.C
C.AB
D.BC
4.下述句子的输出结果是()。
inta=0123,b=0456;
printf("%o\n",b-a);
A.0456
B.0123
C.333
D.579
5.以下的for句子循环执行的次数是()。
for(x=0,y=0;(y!=20&&(x
A.无限次
B.不确定
C.20次
D.19次
6.关于局部变量,下述说法正确的是()。
A.定义该变量的程序文件中的函数都可以访问
B.定义处以下的任何句子都可以访问
C.方式参数也是一种局部变量,可用于函数之间传递数据
D.定义在复合句子中的局部变量,容许在该复合句子外访问
7.有如下句子:
chars[20]="welcome";
char*ps=s;
则不能引用字母c的表达式是()。
A.ps+3
B.s[3]
C.ps[3]
D.ps+=3,*ps
8.设有如下句子:
intx,*p=&x;
则*&x相当于()。
A.x
B.p
C.&x
D.&*p
9.若在fopen函数中使用文件的形式是"ab",该方法的涵义是()。
A.为读/写打开一个文件
B.向二补码文件尾降低数据
C.为输出打开一个文本文件
D.为读/写构建一个新的二补码文件
10.构建了如右图所示的数组结构,p,q为指向结点的表针。p指向当前数据为M的结点,以下()句子段才能输出p所指结点的直接后继结点的数据项。
A.printf("%c",p->next);
B.printf("%c",p->data);
C.q=p->next;printf("%c",q);
D.p=p->next;
printf("%c",p->data);
二、程序填空题(本大题2道小题,每空2.5分,共20分)。
1.程序功能:从鼠标输入一个整数,查找是否在链表中有相同的数值,假如有,则输出该值在链表中的位置,假如没有,则输出“notfind”,结果请输出到文件out2.txt中。
#include
intmain(void)
inta[10]={12,-5,0,45,100,-89,33,260,-1,92},i,x;
FILE*fp;
fp=fopen("out2.txt",_____(1)_____);
printf("inputx:");
scanf("%d",_____(2)_____);
for(i=0;i
if(x==a[i])
_____(3)_____;
if(i
fprintf(fp,"theposofxis:%d\n",i);
else
fprintf(fp,"nofind\n");
_____(4)_____;/*关掉文件*/
return0;
2.程序功能:输入一个包含数字的字符串,把字符串中的数字字符转换成数字,储存到链表中并输出。诸如:输入aBcD123123ee4545XYZ682,输出结果为:12345682。
#include
intfun(chars[],intarr[],intnum)
inti,n=0;
for(i=0;i
if(_____(1)_____)
arr[n]=_____(2)_____;
n++;
returnn;
intmain(void)
charstr[80];
intarr[80];
intnum=0,n,i;
printf("Enterastring:\n");
gets(_____(3)_____);
while(str[num]!='\0')
num++;
n=fun(_____(4)_____);
for(i=0;i
printf("%d",arr[i]);
return0;
三、操作题
(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)
1.程序调试题1
调试要求:下述程序(C:\KS\C_2_1.c)包含3个错误,请按题中的功能要求,调试并更改该程序(在所更改句子后加/*******/字样的注释),使其运行能得到正确的结果。将程序结果(包括C_2_1.c文件和C_2_1.EXE文件)保存到目录C:\KS\中。
功能说明:输入某用户某一个月的用电度数,估算并输出该月份他应缴的水费。水费施行阶梯水价分段估算方式,具体为:月用电量不超过100度(含100度,以下同),总价为0.6元/度;月用电量超过100度但不超过200度的,超过部份的总价为0.7元/度;月用电量在200度以上的部份,总价为0.9元/度。
运行示例:
输入:请输入月用电量:280
输出:水费为:202.00
说明:月用电量280度中100度总价为0.6元,100度总价为0.7元,80度总价为0.9元。
含错误源程序:
#include
intmain(void)
floatquantity;money;
printf("请输入月用电量:");
scanf("%f",&quantity);
if(quantity