2007年4月全国计算机等级考试二级C语言笔试试题答案

[ 960 查看 / 1 回复 ]

二.填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡[1]至[20]序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须写完整.

  (1)    在深度为7的满二叉树中,度为2的结点个数为___63____。



  (2)    软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于__黑箱(或黑盒)  测试。



  (3)    在数据库系统中,实现各种数据管理功能的核心软件称为    __数据库管理系统__。



  (4)    软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于  开发_____阶段。



  (5)在结构化分析使用的数据流图(DFD)中,利用数据字典  对其中的图形元素进行确切解释。


(6)执行以下程序后的输出结果是  a=14    。


  main()

  {int a=10;

  a=(3*5,a+4);    printf(“a=%d\n”,a);

  }



  (7) 当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行  0      次。

  #include

  main()

  {char ch;

   While((ch=getchar())==’0’)  printf(“#”);

  }



(8)   (8)以下程序的运行结果是  m=4 k=4 i=5 k=5    。

  int  k=0;

  void fun(int  m)

  {  m+=k; k+=m; printf(“m=%d\n  k=%d  ”,m,k++);}

    main()

  { int i=4;

   fun(i++); printf(“i=%d  k=%d\n”,i,k);

  }



(9)   (9)以下程序的运行结果是  #&    。

      main()

  {int a=2,b=7,c=5;

    switch(a>0)

  {case 1:switch(b<0)

        {case 1:switch(“@”); break;

          Case 2: printf(“!”); break;

  }

  case 0: switch(c==5)

{ case 0: printf(“*”); break;

case 1: printf(“#”); break;

case 2: printf(“$”); break;

}

default : printf(“&”);

}

printf(“\n”);

}



(10)以下程序的输出结果是  9

# include

main()

{ printf(“%d\n”,strlen(“IBM\n012\1\\”));

}

(11)已定义char ch=”$”;int i=1,j;执行j=!ch&&i++以后,i的值为1 



(12)以下程序的输出结果是  5  4 

# include

main()

{ char a[]={‘\1’,’\2’,’\3’,’\4’,’\0’};

printf(“%d  %d\n”,sizeof(a),srelen(a));

}



  (13)设有定义语句:int a[][3]={{0},{1},{2}};,则数组元素a[1][2]的值为 0 



  (14)以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。

main()

{int x[10],a[9],I;

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

scanf(“%d”,&x[i]);

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

a[i-1]=x[i]+  x[i-1]    ;

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

printf(“%d”,a[i]);

printf(“\n”);



(15) 以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上,请填空:

main()

{int x,y,z,max,*px,*py,*pz,*pmax;

scanf(“%d%d%d”,&x,&y,&z);

px=&x;

py=&y;

pz=&z;

pmax=&max;

  *pmax=*px(或*pmax=x)    ;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax=*pz;

printf(“max=%d\n”,max);

}


(16)以下程序的输出结果是 10   

int fun(int*x,int n)

{if(n==0)

return x[0];

else return x[0]+fun(x+1,n-1);

}

main()

{int a[]={1,2,3,4,5,6,7};

printf(“%d\n”,fun(a,3));

}


(17)以下程序的输出结果是  35

# include

main()

{char *s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;

*s2=20;

m=*s1+*s2;

printf(“%d\n”,m);

}


(18)设有说明

struct DATE{int year;int month; int day;};

请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day 依次赋初值2006、10、1:  struct DATA d={2006,10,1}; 


(19) 设有定义:FILE *fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。

fw=fopen(“readme.txt”,  "a"  )





2007年4月全国计算机等级考试二级C语言笔试试题答案

一、选择题:
1-5  24134

6-10 31321

11-15 34231

16-20  43113

21-25  43421

26-30 14241

31-35 22412

36-40 23232

41-45 42411

46-50 13241 


二、填空题:

1. 63

2,墨盒
3.DBNS
4,开发
5,数据 字典
6,a-14
7,0
8,无答案
9,# 与号
10,9
11,1
12,5_4
13,13 0
14,i=1
15,X[i-1]
16,无答案
17,10
18,40
19,无答案
20,"20a"
TOP

该用户帖子内容已被屏蔽
TOP