四、閱讀分析題 (本大題共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個數(shù)時,請寫出程序的運行結果。
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個整數(shù)存放到數(shù)組a 中,計算數(shù)組a中下標為奇數(shù)的所有元素的和。
37.從鍵盤上輸入20個字符存放到一個字符數(shù)組s中。對數(shù)組s中的元素按升序(由小到大)排序,再將排序后的結果寫到c:\abc.dat文本文件中。
相關推薦: