二级 C语言程序设计试题及答案最新.docx

上传人:b****4 文档编号:11695781 上传时间:2023-03-30 格式:DOCX 页数:10 大小:35.06KB
下载 相关 举报
二级 C语言程序设计试题及答案最新.docx_第1页
第1页 / 共10页
二级 C语言程序设计试题及答案最新.docx_第2页
第2页 / 共10页
二级 C语言程序设计试题及答案最新.docx_第3页
第3页 / 共10页
二级 C语言程序设计试题及答案最新.docx_第4页
第4页 / 共10页
二级 C语言程序设计试题及答案最新.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

二级 C语言程序设计试题及答案最新.docx

《二级 C语言程序设计试题及答案最新.docx》由会员分享,可在线阅读,更多相关《二级 C语言程序设计试题及答案最新.docx(10页珍藏版)》请在冰豆网上搜索。

二级 C语言程序设计试题及答案最新.docx

二级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"。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1