第二部分:简单程序(12题,共30分)
21、运行下面的程序,其输出是( )
main()
{ int a[]={2,4,6,8,10},y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y+=*(p+x);
printf(“%d\n”,y);}
A、17 B、18 C、19 D、20
22、运行下面的程序,其输出是( )
main()
{int i=1;
while(i<19)
if(i++%5!=3) continue;
else printf(“%4d”,i);
printf(“\n”);
}
A、2 5 7 9 11 13 15 17 B、3 6 9 12 15 18
C、4 9 14 19 D、3 8 13 17 19
23、运行下面的程序后,其正确的输出是( )
main()
{static int a[5]={7,2,8,4,5};
static int *pa[5]={&a[0], &a[1], &a[2], &a[3], &a[4]};
int **p,i;
p=pa;
for(i=0;i<5;i++)
{printf(“%d\t”,**p+2);
p++;}
printf(“\n”);
}
A、9 4 10 6 7 B、7 2 8 4 5
C、7 4 10 4 5 D、2 3 4 5 6
24、下面程序运行后,其输出是( )
main()
{int i;
int n=2;
while(++n<20)
{i=1;
while(++i<n)
{if(n%i==0)
break;
if(i==n-1)
printf(“%d\t”,n);
}
printf(“\n”);
}
}
A、2 5 7 9 13 17 19 B、3 5 7 11 13 17 19
C、2 3 5 7 11 13 17 19 D、3 5 7 11 13 17 20
25、下面程序运行后,其输出是( )
main()
{int i,j,k; int func();
i=1,j=2,k=3;
printf(“%d\n”,func((j+=k,j++),(i,i++,++i)));
}
int func(int x,int y)
{int z;
z=x%y;
return(z);
}
A、2 B、0 C、1 D、3
26、下面程序运行后,其输出是( )
int x,y;
one()
{int a,b;
a=25,b=10;
x=a-b;y=a+b;
}
main()
{int a,b;
a=9,b=5;
x=a+b;y=a-b;
one();
printf(“%d,%d\n”,x,y);
}
A、14,4 B、14,35 C、15,35 D、15,4
27、下面程序运行后,其输出是( )
#include <stdio.h>
void printd(int i);
main()
{int n=123;
printd(n);
}
void printd(int n)
{int i;
if(n<0)
{n=-n;putchar(‘-‘);}
putchar(n%10+’0’);
if((i=n/10)!=0)
printd(i);
}
A、123 B、321 C、3 D、1
28、下面程序运行后,其输出是( )
struct sample{
int a,b;
char *ch;
};
void f1(struct sample parm);
main()
{struct sample arg;
arg.a=1000;arg.b=100;arg.ch=”abcd”;
f1(arg);
}
void f1(struct sample parm)
{ parm.a+=parm.b;
parm.ch[2]=’x’;
printf(“%d\n”,parm.a);
printf(“%s\n”,parm.ch);
}
A、1000 B、1100 C、1100 D、100
Abcd abcd abxd abcd