就业数据资源平台
当前位置:首页 > C语言程序设计
等级考试上机模拟题 (二级C语言)

说明:满分为100分,60分及格。前两题为DOS操作题,每题15分,共计30分;后两题为C语言编程题或调试题,共计70分; 测试时间60分钟。
  一、DOS操作题
  1 删除当前目录下的目录ZSF\DAS。
  答案:RD ZSF\DAS
  2 将当前目录下的目录KUY\GWE中的文件BTY.EXE改名为KJH.EXE。
  答案:REN KUY\GWE\BTY.EXE KJH.EXE
  二、调试修改程序题
  下面程序中函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/2!+1/3!+1/4!+...+1/m!
  例如:若m=6,则应输出:1.718056。
  请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  #include〈conio.h〉
  #include〈stdio.h〉
  / *错误在fun函数中 * /
  double fun(int m)
  {int y=1, t=1; 
  int i;
  for(i=2; i〈=m; i++)
  {t=t*1/i; y+= t; }
  return(y);
  }
  main()
  {int n;
  clrscr();
  printf("Enter n: ");
  scanf("%d", &n);
  printf("\nThe result is %1f\n", fun(n));
  }
  答案:对fun子程序进行修改,修改以后的程序如下:
  double fun(int m)
  { double y=1, t=1; /*类型应为 double*/
  int i;
  for(i=2; i〈=m; i++)
  {t=t*1.0/i; y+= t; }
  /* 此处应为 double 类型的数据进行运算*/
  return(y);
  }

  三、编程题
  请编一个函数int fun(int pm),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不是素数,返回0。pm的值由主函数从键盘读入。
  请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
  #include 〈conio.h〉
  #include 〈stdio.h〉
  #include 〈math.h〉
  int fun(int a)
  { /*答案开始 */
  ┇
  ┇
  /*答案结束 */
  }
  main() / * 主函数* /
  { int x;
  clrscr();
  printf("\nPlease enter a number:"); 
  scanf("%d", &x);
  printf("%d\n", fun(x));
  }
  答案:在函数fun中添加程序段如下:
  int fun(int a)
  { /*参考答案开始 */
  int i;
  if(a==2) return 1;
  i=2;
  while ((a%i)!=0 && i〈=sqrt((float) a)) i++; 
  if ((a%i)==0)
  { printf("%d not is a prime!",a); return 0; }
  printf("%d is a prime!",a); return 1;
  /*参考答案结束 */   } 
就业数据资源平台