C语言 百分网手机站

计算机二级C语言考前预测上机复习题及解析

时间:2020-10-28 10:45:23 C语言 我要投稿

计算机二级C语言考前预测上机复习题及解析

  以下是应届毕业生考试网小编为大家准备的2017年计算机二级考试C语言考前预测上机复习题及解析,更多计算机等级考试内容请关注应届毕业生考试网。

  一、程序填空题

  给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。

  例如,当score=(10,20,30,40,50,60,70,80,90},m= 9时,函数返回的人数应该是4,below={10,20,30,40}。

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

  请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

  试题程序:

  #include

  #include%string.h>

  int fun(int score[],int m,int below[])

  {

  int i,j=0;

  float aver=0.0;

  for(i=0;i   aver+=score[i]:

  aver/=(float)m:

  for(i=0;i   if(score[i]   below[j++]= 【1】 ;

  return j;

  }

  void main()

  {

  int i,n,below[9];

  int score[9]={10,20,30,40,50,60,70,80,90);

  n=fun(score,9, 【2】);

  printf("\n Below the average score are:%d\n",n);

  for(i=0;i   printf("%d", 【3】 );

  }

  二、程序改错题

  下列给定程序中函数fun()的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1,1,2,3,5,8,13,21,…

  例如,若给n输入7.则该项的斐波拉契数值为l3。

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

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

  试题程序:

  #include

  long fun(int g)

  {

  //****found\****

  switch(g);

  {

  case 0:return 0;

  //****found****

  case 1:case 2:return 1;

  }

  return(fun(g-1)+fun(g-2));

  }

  void main()

  {

  long fib;int n;

  printf("Input n:");

  scanf("%d",&n);

  printf("n=%d\n",n);

  fib=fun(n):

  printf("fib=%d\n\n",fib);

  }

  三、程序设计题

  请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

  例如,当str所指字符串中的`内容为abedefg,则在t所指数组中的内容应是bdf。

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

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

  试题程序:

  #include

  #include

  #include

  #include

  void proc(char*str,char t[])

  {

  }

  void main()

  {

  char str[100],t[100];

  system("CLS");

  printf("\nPlease enter string str:");

  scanf("%s",str);

  proc(str,t);

  printf("\nThe result is:%s\n",t);

  }

  上机考试试题答案与解析

  一、程序填空题

  【1】score[i]或*(score+i)【2】below【3】below[i]或*(below+i)

  【解析】fun()函数的功能是返回低于平均成绩的人数,通过for循环遍历数组score,求和存入变量aver,然后计算出平均值。第二个循环将低于平均成绩的数据赋值数组b,因此第【1】处填“score[1]”或“*(score+i)”;在主函数中调用函数fun()时,最后一个参数应填入数组名blew,即将低分考生数据存入数组blew中,然后语句“printf("\n Be—low the average score are:%d"n);”输出低分考生个数,n 值即fun()函数返回值也就是低分考生的人数值。最后,利用循环输出below中的结果。

  二、程序改错题

  (1)错误:switch(g);

  正确:switch(g)

  (2)错误:case 1:case2:return 1;

  正确:case 1;case 2:return 1;

  【解析】此题考查c语言的语法规则,switch(表达式)后不应该带有“;”,case语句常量后应该是“:”。switch语句的一般形式如下:

  switch(表达式){

  case常量表达式1:语句1;

  case常量表达式2:语句2;

  case常量表达式n:语句n;

  defauh:语句n+1;

  }

  三、程序设计题

  void proc(char*str,char t[])

  {

  int i,j=0,k=strlen(str); //k是放字符串的K度的变量

  for(i=l;i  t[j++]=str[i]; //把下标为奇数的数放到t数组中

  t[j]=’\0’;//因为t是字符串,冈此必须用’\0’作为结束标志

  }

  【解析】题目要求将下标为偶数的字符删除,其余字符放在新的字符数组t中。首先取出字符串str中下标为奇数的字符,将其赋值给新的字符串t,最后用7\o’作为字符串结束的标志。

【计算机二级C语言考前预测上机复习题及解析】相关文章:

1.二级C++上机冲刺题及答案解析

2.计算机二级C语言上机编程题讲解

3.计算机二级C语言上机模拟题

4.计算机二级C语言考前复习题:选择题

5.计算机二级C语言上机精选模拟题及答案

6.计算机二级《C++》上机试题及答案

7.计算机二级C语言预测试题及答案

8.计算机二级C语言测试题及答案解析

9.计算机二级C语言考前测试题