计算机等级 百分网手机站

计算机等级考试二级C语言考试试题带答案

时间:2017-08-27 18:20:02 计算机等级 我要投稿

计算机等级考试二级C语言考试试题(带答案)

  一、填空题(每空2分,共40分)

  请将每一个空的正确答案写在答案卡上,答在试卷上不得分。

  (1) 为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】 。

  (2) 计算机网络分为广域网和局域网,因特网属于【2】 。

  (3) 要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】 。

  (4) 要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【4】 。

  (5) 在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中

  (6) 若从键盘输入58,则以下程序输出的结果是 【6】 。

  main()

  { int a;

  scanf("%d",&a);

  if(a>50) printf("%d",a);

  if(a>40) printf("%d",a);

  if(a>30) printf("%d",a);

  }

  (7) 以下程序的输出结果是【7】 。

  main()

  { int a=177;

  printf("%o\n",a);

  }

  (8) 以下程序的输出结果是【8】 。

  main()

  { int a=0

  a+=(a=8);

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

  }

  (9) 以下程序输出的结果是【9】 。

  main()

  { int a=5,b=4,c=3,d;

  d=(a>b>c);

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

  }

  (10) 以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。

  struct node

  {int info;

  【10】 link;

  }

  (11) 以下程序的输出结果是【11】 。

  main()

  {int s,i;

  for(s=0,i=1;i<3;i++,s+=i);

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

  }

  (12) 以下程序的输出结果是【12】 。

  main()

  { char *p="abcdefgh",*r;

  long *q;

  q=(long*)p;

  q++;

  r=(char*)q;

  printf("%s\n",r);

  }

  (13) 以下程序的输出结果是【13】 。

  main()

  { char s[]="abcdef";

  s[3]=‘\0';

  printf("%s\n",s);

  }

  (14) 以下程序的输出结果是【14】 。

  main()

  { int x=0;

  sub(&x,8,1);

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

  }

  sub(int *a,int n,int k)

  { if(k<=n) sub(a,n/2,2*k);

  *a+=k;

  }

  (15) 设有如下宏定义

  #define MYSWAP(z,x,y) {z=x; x=y; y=z;}

  以下程序段通过宏调用实现变量a、b内容交换,请填空。

  float a=5,b=16,c;

  MYSWAP( 【15】 ,a,b);

  (16) 以下程序用来统计文件中字符个数。请填空。

  #include "stdio.h"

  main()

  { FILE *fp; long num=0L;

  if((fp=fopen("fname.dat","r"))==NULL)

  { pirntf("Open error\n"); exit(0);}

  while( 【16】 )

  { fgetc(fp); num++;}

  printf("num=%1d\n",num-1);

  fclose(fp);

  }

  (17) 以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。

  #define N 3

  #define M 3

  select(int a[N][M],int *n)

  { int i,j,row=1,colum=1;

  for(i=0;i

  for(j=0;j

  if(a[i][j]>a[row][colum]){row=i;colum=j;}

  *n= 【17】;

  return 【18】;

  }

  main()

  {int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;

  max=select(a,&n);

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

  }

  (18) mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。

  int mystrlen(char *str)

  { int i;

  for(i=0; 【19】!=‘\0';i++);

  return(【20】);

  }

  二、选择题((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)

  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

  (1) 在计算机中,一个字长的二进制位数是

  A) 8 B) 16 C) 32 D) 随CPU的型号而定

  (2) 计算机网络的突出优点是

  A) 速度快 B) 资源共享 C) 精度高 D) 容量大

  (3) 计算机网络能传送的信息是:

  A) 所有的多媒体信息 B) 只有文本信息

  C) 除声音外的所有信息 D) 文本和图像信息

  (4) 切断计算机电源后,下列存储器中的信息会丢失的是:

  A) RAM B) ROM C) 软盘 D) 硬盘

  (5) 十进制数127转换成二进制数是

  A) 11111111 B) 01111111 C) 10000000 D) 11111110