培训考试

计算机二级c语言上机题库

时间:2024-06-19 16:52:52 培训考试 我要投稿
  • 相关推荐

2015计算机二级c语言上机题库

  1.给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本 文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

  注意:源程序存放在考生文件夹下的BLANK1.C中。

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

  给定源程序:

  #include

  void fun(char *s, int a, double f)

  {

  __1__ fp;

  char ch;

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

  fprintf(fp, "%s %d %f\n", s, a, f);

  fclose(fp);

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

  printf("\nThe result :\n\n");

  ch = fgetc(fp);

  while (!feof(__2__)) {

  putchar(__3__); ch = fgetc(fp); }

  putchar('\n');

  fclose(fp);

  }

  main()

  { char a[10]="Hello!"; int b=12345;

  double c= 98.76;

  fun(a,b,c);

  }

  【解题思路】:

  本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。

  第一处:定义文本文件类型变量,所以应填:FILE *。

  第二处:判断文件是否结束,所以应填:fp。

  第三处:显示读出的字符,所以应填:ch。

  给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。

  2.请改正函数fun中指定部位的错误, 使它能得出正确的结果。

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

  给定源程序:

  #include

  void fun(char *s)

  { int i,j;

  for(i=0,j=0; s[i]!='\0'; i++)

  if(s[i]>='0' && s[i]<='9')

  s[j]=s[i];

  s[j]="\0";

  }

  main()

  { char item[80];

  printf("\nEnter a string : ");gets(item);

  printf("\n\nThe string is : \"%s\"\n",item);

  fun(item);

  printf("\n\nThe string of changing is : \"%s\"\n",item );

  }

  【解题思路】:

  第一处: 要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j

  来控制新字符串的位置,所以应改为:s[j++]=s[i];。

  第二处: 置新字符串的结束符,所以应改为:s[j]='\0';.

  3.请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。

  例如, 二维数组中的数据为:

  W W W W

  S S S S

  H H H H

  则字符串中的内容应是: WSHWSHWSH。

  注意:部分源程序在文件PROG1.C中。

  请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入

  你编写的若干语句。

  给定源程序:

  #include

  #define M 3

  #define N 4

  void fun(char s[][N], char *b)

  {

  int i,j,n=0;

  for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */

  {

  }

  b[n]='\0';

  }

  main()

  { char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};

  int i,j;

  printf("The matrix:\n");

  for(i=0; i

  { for(j=0;j

  printf("\n");

  }

  fun(w,a);

  printf("The A string:\n");puts(a);

  printf("\n\n");

  NONO();

  }

  【解题思路】:

  本题是把二维数组中的字符数据按列存放到一个字符串中。

  1. 计算存放到一维数组中的位置。

  2. 取出二维数组中的字符存放到一维数组(已计算出的位置)中。

  【参考答案】:

  void fun(char s[][N], char *b)

  {

  int i,j,n=0;

  for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */

  {

  for(j = 0 ; j < M ; j++) {

  b[n] = s[j][i] ;

  n = i * M + j + 1;

  }

  }

  b[n]='\0';

  }

【计算机二级c语言上机题库】相关文章:

2024二级c语言上机题库04-18

2017计算机二级C语言上机题库及答案08-07

计算机二级C语言程序上机指导10-29

计算机二级C语言预测上机精选训练题07-05

计算机二级考试《C语言》上机答题技巧06-27

2017计算机二级C语言上机特训题08-12

计算机二级C语言上机冲刺试题及答案08-29

计算机二级VF上机题库及答案08-15

计算机二级C语言考前预测上机试题及解析07-04

计算机二级考试C语言预测上机巩固试题06-17