我要投稿 投诉建议

计算机二级C语言上机操作模拟试题及答案

时间:2024-11-07 09:59:07 赛赛 计算机等级 我要投稿
  • 相关推荐

计算机二级C语言上机操作模拟试题及答案

  在学习和工作中,我们都可能会接触到试题,试题是用于考试的题目,要求按照标准回答。那么问题来了,一份好的试题是什么样的呢?下面是小编为大家收集的计算机二级C语言上机操作模拟试题及答案,供大家参考借鉴,希望可以帮助到有需要的朋友。

计算机二级C语言上机操作模拟试题及答案

  计算机二级C语言上机操作模拟试题及答案 1

  一、程序填空题

  1下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

  请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

  注意:部分源程序给出如下。

  不得增行或删行,也不得更改程序的结构!

  试题程序:

  参考解析:

  【参考答案】

  (1)next (2)t->data (3)t

  【考点分析】

  本题考查:链表数据结构,结点的表示方法,掌握链表数据结构的基本思想;释放内存空间函数free0

  【解题思路】

  填空1:因为是链表操作,所以要使t逐一往后移动,语句为t=t一>next;。

  填空2:输出链表结点的数据域,即t一>data。

  填空3:使用free函数将t所指向的内存空间释放。释放内存空间函数free的调用形式为:free(void*P);。功能:释放P所指向的一块内存空间,P是一个任意类型的指针变量,它指向被释放区域的首地址。被释放区是由malloc或calloc函数所分配的区域。

  二、程序改错题

  2下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。

  例如,若字符串为“abcd”,则应输出:“dcba”。

  请改正程序中的错误,使它能得出正确的结果。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的.结构!

  试题程序:

  参考解析:

  【参考答案】

  (1)void fun(char*a)

  (2)prinff(”%e”,*a);

  【考点分析】

  本题考查:函数定义,本题为有参函数定义。printf函数,其一般形式为prinf(“格式控制字符串”,输出表列)。

  “%d”表示按十进制整型输出;

  “%ld”表示按十进制长整型输出;

  “%C”表示按字符型输出。

  非格式字符串在输出时原样输出,起提示作用。

  【解题思路】

  (1)定义函数时形参的类型要与调用函数中实参的类型一致,主函数中fun传递的是字符串s的首地址,所以此处形参应为指针类型。

  (2)根据prinf函数格式,很容易找到错误之处。

  三、程序设计题

  3编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

  例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。

  注意:部分源程序给出如下。

  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  试题程序:

  参考解析:

  【参考答案】

  【考点分析】

  本题考查:如何判断非素数;循环判断结构;数组的引用。

  【解题思路】

  题目要求将1一m之间的非素数存入数组中,应使用循环判断结构。循环语句用来遍历l一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存入数组中。本题是考查一个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。

  【解题宝典】

  判定一个数是否为素数,即判断该数是否除了能被l和它本身整除外,不能被任何数整除。

  代码实现如下:

  此语句需要熟记,很多判断素数的题目可通过此法解决。

  计算机二级C语言上机操作模拟试题及答案 2

  1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

  答案:

  void fun(int a,int b,long *c)

  {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

  2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

  答案:

  float fun(float *a,int n)

  {float ave=0.0;

  int i;

  for(i=0;i

  ave+=a;

  ave/=n;

  return ave;}

  3: 第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

  答案:

  void fun(char *a)

  {int i=0;

  char *p,*q;

  p=q=a;

  while(*p)

  p++;

  p--;

  while(*p==‘*’)

  p--;

  while(q<=p)

  {a=*q;

  i++;

  q++;}

  a=‘’;}

  4: 第4题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

  答案:

  void fun(int a,int b,long *c)

  {c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

  5: 第5题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

  答案:

  double fun(strec *h)

  {double aver=0.0;

  while(h!=null)

  {aver+=h->s;

  hy=h->next;}

  aver/=n;

  return aver;}

  6: 第6题请编写函数fun,计算并输出给定10个数的'方差。

  答案:

  double fun(double x[10])

  {int i,j;

  double s=0.0,s1=0.0;

  for(i=0;i<10;i++)

  s1+=x;

  s1/=10;

  for(j=0;j<10;j++)

  s+=(x[j]-s1)*(x[j]-s1);

  s/=10;

  s=pow(s,0.5);

  return s;}

  7: 第7题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

  答案:

  void fun(int a,int b,long *c)

  {*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}

【计算机二级C语言上机操作模拟试题及答案】相关文章:

2014年计算机二级C语言模拟试题及答案(2)02-19

2014年计算机二级C语言模拟试题及答案(3)02-19

2014年计算机二级C语言模拟试题及答案(1)02-19

2016年计算机二级《C++》模拟试题及答案02-21

C语言笔试题目及答案03-26

2016年计算机二级考试试题C语言冲刺试题02-21

计算机二级JAVA冲刺试题及答案02-14

2016计算机二级JAVA冲刺试题及答案02-21

计算机二级Java备考冲刺试题及答案02-14