二级 C语言程序设计试题及答案最新.docx
- 文档编号:6878846
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:10
- 大小:35.06KB
二级 C语言程序设计试题及答案最新.docx
《二级 C语言程序设计试题及答案最新.docx》由会员分享,可在线阅读,更多相关《二级 C语言程序设计试题及答案最新.docx(10页珍藏版)》请在冰点文库上搜索。
二级C语言程序设计试题及答案最新
高等学校计算机等级考试试卷
二级C语言程序设计
(本试卷考试时间 120 分钟)
一、单选题(本大题10道小题,每小题1.5分,共15分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.在C语言中,下列描述正确的是:
(_____)。
A.标识符只能由字母和下划线组成。
B.标识符由任意字符组成。
C.标识符只能由字母、数字和下划线组成。
D.标识符只能由字母组成。
2.设有变量定义:
charch;若将小写字母a赋给变量ch,正确的表达式是:
(_____)。
说明:
小写字母a的ASCII码值是97。
A.ch='a'
B.ch='97'
C.ch=a
D.ch="a"
3.设有变量定义:
inta=345,b=123;则执行语句printf("%2d-%2d",a,b);后,输出的结果是:
(_____)。
A.45-23
B.34-12
C.345-123
D.222
4.在C语言中关于函数的描述,正确的是:
(_____)。
A.main函数的返回类型只能是void
B.函数可以用return返回多个值
C.任何一个函数都可以有多个函数体
D.自定义函数的形式有无参函数和有参函数
5.设有变量定义:
inta=5,b=8;则以下各个选项中,会出现语法错误的if语句是:
(_____)。
A.if(a>=b);
B.if(a==b)a+=b;
C.if(a<=b){a--;b++;}
D.if(a!
=b)a++elseb++;
6.执行以下代码段后,x的结果是:
(_____)。
intx=1;
while(x<=10)
x++;
A.9
B.10
C.11
D.有错误,没有输出结果
7.设有变量定义:
inta[5]={5,4,3,2,1},*p=a;则执行语句p+=4;后,*p的结果是(_____)。
A.4
B.3
C.2
D.1
8.已知一结构体类型及变量定义如下:
struct node{
int data;
struct node*next;
} *p,*s,*h;
现已有头指针h指向的单链表如下图所示,能实现s指向的结点插入到p所指结点后面的语句是:
(_____)。
说明:
图中虚线箭头表示插入后改变的指针。
A.p->next=s; s->next=p;
B.s->next=p; p->next=s;
C.s->next=p->next; p->next=s;
D.p->next=s; s->next=p->next;
9.设有变量声明:
charc;若判断变量c是否为数字字符,下列表达式中,正确的是:
(_____)。
A.(c>=0)&&(c<=9)
B.(c>='0')||(c<='9')
C.(c>='0')and(c<='9')
D.(c>='0')&&(c<='9')
10.以下是Python语言的程序语句,下列选项中与该程序段代码功能相同的C语言语句是:
(____)。
ifa>b:
x=a
else:
x=b
A.x=b,a;
B.x=a,b;
C.x=(a>b)?
b:
a;
D.x=(a>b)?
a:
b;
二、程序填空题(本大题2道小题,每空2.5分,共20分)。
1.程序功能:
从键盘输入一个整数n(设0≤n≤99999),统计各个位数中0的个数,并求出各个位数中的最大者。
运行示例(60089包含2个0,最大的位数为9):
#include
intmain(void)
{ intn,count,max=0,t;
count=____
(1)____; //填空
(1)
scanf("%d",&n);
do
{ t=n%10;
if(____
(2)____) //填空
(2)
count=count+1;
else
if(max n=____(3)____; //填空(3) }while(____(4)____); //填空(4) printf("count=%d,max=%d\n",count,max); return0; } 2.程序功能: 判定二维平面中的三个点能否构成三角形。 运行示例: #include #include<____ (1)____> //填空 (1) structpoint { floatx; //横坐标 floaty; //纵坐标 }; floatlength(structpointa,structpointb) { //求两点间距离 floatlen; len=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); return____ (2)____; //填空 (2) } intmain(void) { ____(3)____p[4]; //填空(3) inti; floatlen1,len2,len3; for(i=1;i<4;i++) { printf("输入第%d点坐标: ",i); scanf("%f,%f",____(4)____);//填空(4) } len1=length(p[1],p[2]); len2=length(p[2],p[3]); len3=length(p[3],p[1]); if(len1+len2<=len3||len2+len3<=len1||len1+len3<=len2) printf("三点不能构成三角形\n"); else printf("三点可以构成三角形\n"); return0; } 三、操作题 (一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分) 1. 程序调试题1 调试要求: 下列程序包含3个错误,请按题中的功能要求,打开C: \KS\B_2_1.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。 修改后的程序仍保存为C: \KS\B_2_1.c。 功能说明: BMI指数(身体质量指数)是世界公认的一种评定肥胖程度的分级方法,定义如下: BMI指数=体重÷身高2,其中体重单位为kg,身高单位为m。 参考判别标准如下: ① 偏轻: BMI<18 ② 正常: 18≤BMI<25 ③ 超重: 25≤BMI<28 ④ 肥胖: BMI≥28 本程序的功能是: 输入身高和体重,计算BMI指数,并根据计算结果判定体重情况 运行示例: 带错误的源程序: #include intmain(void) { floatweight,height; printf("请输入身高和体重: "); scanf("%f%f",&height,&weight); BMI=weight/height*height; if(BMI<18) printf("您的体重偏轻"); elseif(BMI<25) printf("您的体重正常"); elseif(BMI<28) printf("您的体重超重"); else printf("您已经属于肥胖! ! ! ! ); printf("\n"); return0; } 2. 程序调试题2 调试要求: 下列程序包含3个错误,请按题中的功能要求,打开C: \KS\B_2_2.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。 修改后的程序仍保存为C: \KS\B_2_2.c。 功能说明: 将字符串循环左移k位,字符串及k的值从键盘输入。 例如: 字符串"abcdefg",假设k=3,则循环左移3位后的字符串变为"defgabc"。 运行示例: 带错误的源程序: #include intmain(void) { chara[80],b[80];//a用于存放移位前的字符串,b用于存放移位后的字符串 inti,j,k; printf("请输入待移位的字符串: "); getchar(a); printf("请输入k的值: "); scanf("%d",&k); for(i=k;a[i]! ='/0';i++) b[i-k]=a[i]; j=i-k; for(i=0;i b[j]=a[i]; b[j-1]='\0'; printf("移位后的字符串为: "); puts(b); return0; } 3. 程序调试题3 调试要求: 下列程序包含4个错误,请按题中的功能要求,打开C: \KS\B_2_3.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。 修改后的程序仍保存为C: \KS\B_2_3.c。 功能说明: C语言课程结束,要求学生(总计不超过100个学生)对任课老师的授课效果打分,分数为百分制,从键盘输入,计算学生平均打分,并将每个人打分的结果及平均得分存放在文件file1.txt中。 运行示例: 带错误的源程序: #include voidinput(intscore[],intn) { FILE*fp; inti; floatsum=1.0; fp=fopen("file1.txt","r"); for(i=0;i { printf("第%d个学生打分: ",i); scanf("%d",&score[i]); fprintf(fp,"第%d个学生打分: %d\n",i+1,score[i]); sum=sum+score[i]; } fprintf(fp,"\n平均得分: %.2f分\n",sum/n); printf("\n平均得分: %.2f分\n",sum/n); fclose(fp); } intmain(void) { int n,score[100]={0}; printf("请输入学生人数: "); scanf("%d",&n); input(intscore[],n); return0; } (二)编程题(2小题,第1小题15分,第2小题20分,共35分) 1.编程题1 编程要求: 请按题中的功能要求,编写程序并能得到正确的结果。 编写后的程序保存为C: \KS\B_4_1.c或C: \KS\B_4_1.cpp。 程序功能: 出租车计费问题。 小明到上海出差,打算乘坐出租车到预定酒店,现在他想了解乘出租车大约需要多少钱,于是查询了机场到酒店的距离,并查询到某出租车公司白天是按里程分段计费,其标准如表1所示。 请根据小明从机场到达酒店的里程数,计算应付的出租车价格。 (注: 里程输出保留1位小数,价格输出精确到元,不考虑红绿灯和堵车的等待费用)。 运行示例1: 运行示例2: 2.编程题2 编程要求: 请按题中的功能要求,编写程序并能得到正确的结果。 编写后的程序保存为C: \KS\B_4_2.c或C: \KS\B_4_2.cpp。 程序功能: 升序输出两组整数的交集(A∩B)。 (1)从键盘输入A和B两组整数,每组均为5个整数(假设同一组内的各个整数互不重复)。 (2)求两组整数的交集A∩B,即求在两组数据中都出现的整数。 (3)若交集不为空,则按从小到大顺序输出;若交集为空,则输出"NULL"。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 C语言程序设计试题及答案最新 语言程序设计 试题 答案 最新