(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