二级c语言真题

时间:2024-11-15 15:45:31 其它考试 我要投稿
  • 相关推荐

二级c语言真题

  亲爱的考生们,二级 C 语言真题来袭!这不仅是一场考试的挑战,更是提升编程能力的机遇。真题涵盖多种题型,全面检验你的知识掌握程度。认真作答,分析每一个问题,让这次真题演练成为你迈向 C 语言高手之路的重要一步,加油,相信自己能出色发挥!

  一、单选题 ( 本大题 10 道小题 ,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

  1.在C语言中,下列描述正确的是:(_____)。

  A.标识符只能由字母和下划线组成。

  B.标识符由任意字符组成。

  C.标识符只能由字母、数字和下划线组成。

  D.标识符只能由字母组成。

  2.设有变量定义:char ch; 若将小写字母a赋给变量ch,正确的表达式是:(_____)。说明:小写字母a的ASCII码值是97。

  A.ch=a

  B.ch=97

  C.ch=a

  D.ch="a"

  3.设有变量定义:int a=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.设有变量定义:int a=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++ else b++;

  6.执行以下代码段后,x的结果是:(_____)。

  int x=1;

  while (x<=10)

  x++ ;

  A.9

  B.10

  C.11

  D.有错误,没有输出结果

  7.设有变量定义:int a[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.设有变量声明:char c; 若判断变量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语言语句是:(____)。

  if a>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

  int main(void)

  { int n, 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 ",count,max);

  return 0;

  }

  2.程序功能:判定二维平面中的三个点能否构成三角形。

  运行示例:

  #include

  #include <____(1)____> //填空(1)

  struct point

  {

  float x; //横坐标

  floaty; //纵坐标

  };

  float length(struct point a,struct point b )

  { //求两点间距离

  float len;

  len=sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));

  return____(2)____; //填空(2)

  }

  int main(void)

  {

  ____(3)____p[4]; //填空(3)

  int i;

  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("三点不能构成三角形 ");

  else

  printf("三点可以构成三角形 ");

  return 0;

  }

  三、操作题

  (一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分)

  1. 程序调试题1

  调试要求:下列程序包含3个错误,请按题中的功能要求,打开C:KSB_2_1.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。修改后的程序仍保存为C:KSB_2_1.c。

  功能说明:BMI指数(身体质量指数)是世界公认的一种评定肥胖程度的分级方法,定义如下:BMI指数=体重÷身高2,其中体重单位为kg,身高单位为m。

  参考判别标准如下:

  ① 偏轻:BMI<18

  ② 正常:18≤BMI<25

  ③ 超重:25≤BMI<28

  ④ 肥胖:BMI≥28

  本程序的功能是:输入身高和体重,计算BMI指数,并根据计算结果判定体重情况

  运行示例:

  带错误的源程序:

  #include

  intmain(void)

  {

  float weight,height;

  printf("请输入身高和体重:");

  scanf("%f%f",&height,&weight);

  BMI = weight/height*height;

  if (BMI<18)

  printf("您的体重偏轻");

  else if (BMI<25)

  printf("您的体重正常");

  else if (BMI<28)

  printf("您的体重超重");

  else

  printf("您已经属于肥胖!!!!);

  printf(" ");

  return 0;

  }

  2. 程序调试题2

  调试要求:下列程序包含3个错误,请按题中的功能要求,打开C:KSB_2_2.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。修改后的程序仍保存为C:KSB_2_2.c。

  功能说明:将字符串循环左移k位,字符串及k的值从键盘输入。

  例如:字符串"abcdefg",假设k=3,则循环左移3位后的字符串变为"defgabc"。

  运行示例:

  带错误的源程序:

  #include

  intmain(void)

  {

  char a[80],b[80];//a用于存放移位前的字符串,b用于存放移位后的字符串

  int i,j,k;

  printf("请输入待移位的字符串:");

  geta);

  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] = ;

  printf("移位后的字符串为:");

  puts(b);

  return 0;

  }

  3. 程序调试题3

  调试要求:下列程序包含4个错误,请按题中的功能要求,打开C:KSB_2_3.c,调试并修改该程序(在所修改语句后加“/*_*/”或“//_”字样的注释),使其运行能得到正确的结果。修改后的程序仍保存为C:KSB_2_3.c。

  功能说明:C语言课程结束,要求学生(总计不超过100个学生)对任课老师的授课效果打分,分数为百分制,从键盘输入,计算学生平均打分,并将每个人打分的结果及平均得分存放在文件file1.txt中。

  运行示例:

  带错误的源程序:

  #include

  voidinput(int score[],int n)

  {

  FILE *fp;

  int i;

  float sum=1.0;

  fp = fopen( "file1.txt","r" );

  for (i=0;i

  { printf("第%d个学生打分:",i);

  scanf( "%d", &score[i] );

  fprintf(fp, "第%d个学生打分:%d ",i+1,score[i]);

  sum=sum+score[i];

  }

  fprintf(fp," 平均得分:%.2f分 ", sum/n);

  printf(" 平均得分:%.2f分 ", sum/n);

  fclose(fp);

  }

  intmain(void)

  {

  int n,score[100]={0};

  printf("请输入学生人数: ");

  scanf("%d",&n);

  input(int score[],n);

  return 0;

  }

  (二)编程题(2小题,第1小题15分,第2小题20分,共35分)

  1.编程题1

  编程要求:请按题中的功能要求,编写程序并能得到正确的结果。编写后的程序保存为C:KSB_4_1.c或C:KSB_4_1.cpp。

  程序功能:出租车计费问题。

  小明到上海出差,打算乘坐出租车到预定酒店,现在他想了解乘出租车大约需要多少钱,于是查询了机场到酒店的距离,并查询到某出租车公司白天是按里程分段计费,其标准如表1所示。请根据小明从机场到达酒店的里程数,计算应付的出租车价格。(注:里程输出保留1位小数,价格输出精确到元,不考虑红绿灯和堵车的等待费用)。

  运行示例1: 运行示例2:

  2.编程题2

  编程要求:请按题中的功能要求,编写程序并能得到正确的结果。编写后的程序保存为C:KSB_4_2.c或C:KSB_4_2.cpp。

  程序功能:升序输出两组整数的交集(A∩B)。

  (1)从键盘输入A和B两组整数,每组均为5个整数(假设同一组内的各个整数互不重复)。

  (2)求两组整数的交集A∩B,即求在两组数据中都出现的整数。

  (3)若交集不为空,则按从小到大顺序输出;若交集为空,则输出"NULL"。

【二级c语言真题】相关文章:

C语言编程题06-15

3月计算机二级C语言真题及答案(完整版)08-26

职称英语卫生C真题及答案05-17

计算机二级C语言选择题练习06-11

历年全国计算机等级考试二级C语言笔试填空完整版真题07-17

c语言面试编程题09-11

最新计算机二级考试C语言预习自测题09-21

3月计算机二级C++真题及答案(word版)07-27

计算机二级C语言程序设计考点:C语言的应用07-10

计算机二级C语言程序设计考点:C语言的特点06-18