四、阅读分析题 (本大题共6小题,每小题5分,共30分)
30.阅读下列程序并写出运行结果。
void main(void)
{
int x=1,y=2;
char ch=′a′:
x++;y-=2;++ch;
printf("%c,%d,%d\n",ch,x,y);
}
31.阅读下列程序并写出运行结果。
void main(void)
{
int x=11;
switch(x-1){
case O:
printf("x=%d\n",x++);
break:
case 10:
printf("x=%d\n",x*2);
case 20:
printf("x=%d\n",x*4);
default:
printf("x=%d\n",x);
}
}
32.阅读下列程序,当依次输入11,l2,l3,14,16这5个数时,请写出程序的运行结果。
void main(void)
{
int x,i,s=O;
for(i=O;i<5;i++){
scanf("%d",&x);
if(x%2)continue;
printf("%d\t",x);
s+=x;
}
printf("\n");
printf("s=%d\n",s);
}
33.阅读下列程序并写出运行结果。
void main(void)
{
int x=3,y[7]={1,3,5,8,9,11,12};
int t=O,b=7,f=O,m;
m=(b+t)/2;
while(b-t>=O)
if(y[m]==x){f=1;
printf("\ny[%d]=%d\n",m,y[m]);
break;
}
else if(y[m]>x)
{
b=m-1;printf("%d\t",y[m]);
m=(b+t)/2;}
else{
t=m+1;printf("%d\t",y[m]);
m=(b+t)/2;}
if(! f)
printf("\n not find!\n");
34.阅读下列程序序并写出运行结果。
int fun(int y);
void main(void)
{
int x[4]={3,5,7,O},s=0,i=0;
while(x[i]){
s+=fun(x[i]);
i++;
printf("s=%d\n",s);
}
}
int fun(int y)
{
static int a=O;
a=a+y;
return a;
}
35.阅读下列程序并写出运行结果。
void f1(char*t,char*s);
void main(void)
{
char s1[20]="abcdl2345",t1[20]="xyz";
printf("%s\n%s\n",s1,t1);
f1(t1,s1);
printf("%s\n",t1);
}
void f1(char*t,char*s)
{
while((*t=*s)!=′\0′){
t++;
s++;
}
}
五、编程题 (本大题共2小题,每小题12分,共24分)
36.从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。
37.从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。
相关推荐: