(21) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是
A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1
else k=0;
C) if(a<=B) k=0; D) if(a>B) k=1;
else if(b<=C) k=1; else if(b>C) k=1;
else k=0;
(22) 有以下程序
main( )
{ char k; int I;
for(i=1;i<3;i++)
{ scanf(“%c”,&k);
switch(k)
{ case ‘0’: printf(“another\n”);
case ‘1’: printf(“number\n”);
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是
A) another B) another C) another D) number
number number number number
another number
(23) 有以下程序
main( )
{ int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1;
printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是
A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5
(24) 有以下程序
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
}
程序执行后的输出结果是
A) 自然数1~9的累加和 B) 自然数1~10的累加和
C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和
(25) 有以下程序 main( )
{ int i,n=0;
for(i=2;i<5;i++)
{ do
{ if(i%3) continue;
n++;
} while(!i);
n++;
}
printf(“n=%d\n”,n);
}
程序执行后的输出结果是
A) n=5 B) n=2 C) n=3 D) n=4
(26) 若程序中定义了以下函数
double myadd(double a,double B)
{ return (a+B) ;}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是
A) double myadd(double a,B) ;
B) double myadd(double,double);
C) double myadd(double b,double A) ;
D) double myadd(double x,double y);
(27) 有以下程序
char fun(char x , char y)
{ if(x return y;
}
main( )
{ int a=’9’,b=’8’,c=’7’;
printf(“%c\n”,fun(fun(a,B) ,fun(b,C) ));
}
程序的执行结果是
A) 函数调用出错 B)8 C)9 D)7
(28) 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是
A) p=1; B) *q=2; C) q=p; D) *p=5;
(29) 有以下程序
void f(int v , int w)
{ int t;
t=v;v=w;w=t;
}
main( )
{ int x=1,y=3,z=2;
if(x>y) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf(“%d,%d,%d\n”,x,y,z);
}
执行后输出结果是
A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1
(30) 有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是
A) 5 B) 6 C) 8 D) 9