试题答案

3773考试网计算机等级考试试题答案正文

2009年9月全国计算机等级考试二级C语言笔试试题及答案之二

来源:2exam.com 2014-7-3 23:06:58

(21)有以下程序 
 #include 
 main()
 { int n=2,k=0;
   while(k++&&n++>2);
   printf(“%d %d\n”,k,n);
 }
 程序运行后的输出结果是 
A.0 2
B.1 3
C.5 7
D.1 2
(22)有以下定义语句,编译时会出现编译错误的是 
A.char a=’a’;
B.char a=’\n’;
C.char a=’aa’;
D.char a=’\x2d’;
(23)有以下程序 
#include 
main()
{ char c1,c2;
  c1=’A’+’8’-‘4’;
  c2=’A’+’8’-‘5’;
  printf(“%c,%d\n”,c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是 
A.E,68
B.D,69
C.E,D
D.输出无定值 
(24)有以下程序 
 #include 
 void fun(int p)
 { int d=2;
   p=d++; printf(“%d”,p);}
 main()
 { int a=1;
  fun(a); printf(“%d\n”,a);}
 程序运行后的输出结果是 
A.32
B.12
C.21
D.22
(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能 
#define MIN -2147483647
 int findmax (int x[],int n)
 { int i,max;
   for(i=0;i
   { max=MIN;
 if(max
   return max;
 } 
 造成错误的原因是 
A.定义语句int i,max;中max未赋初值 
B.赋值语句max=MIN;中,不应给max赋MIN值 
C.语句if(max
D.赋值语句max=MIN;放错了位置 
(26)有以下程序 
 #include 
 main()
 { int m=1,n=2,*p=&m,*q=&n,*r;
   r=p;p=q;q=r;
   printf(“%d,%d,%d,%d\n”,m,n,*p,*q);
 }
 程序运行后的输出结果是 
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是 
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
(28)有以下程序 
 #include 
 #include
 main()
 { char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
   printf(“%d,”,strlen(p));printf(“%s\n”,p);
 }
 程序运行后的输出结果是 
A.9,One*World
B.9,One*Dream
C.10,One*Dream
D.10,One*World
(29)有以下程序 
 #include 
 main()
 { int a[ ]={2,3,5,4},i;
   for(i=0;i<4;i++)
   switch(i%2)
   { case 0:switch(a[i]%2)
  {case 0:a[i]++;break;
   case 1:a[i]--;
  }break;
 case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);
}
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
(30)有以下程序 
 #include 
#include
 main()
{ char a[10]=”abcd”;
  printf(“%d,%d\n”,strlen(a),sizeof(a));
}
程序运行后的输出结果是 
A.7,4
B.4,10
C.8,8
D.10,10

[1] [2] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1