C语言试卷

第761题

有以下程序

#include <stdio.h>
 void fun(int *a,int n)
 {
 int t,i,j;
 for(i=0;i<n-1;i++)
 for(j=i+1;j<n;j++)
 if(a[i]<a[j])
 {
 t=a[i];
 a[i]=a[j];
 a[j]=t;
 }
 }
 main()
 {
 int c[10]={1,2,3,4,5,6,7,8,9,0},i;
 fun(c+4,6);
 for(i=0;i<10;i++)printf("%d,",c[i]);
 printf("\n");
}

程序的运行结果是(  )。

第762题

有以下程序(函数fun只对下标为偶数的元素进行操作):

#include <stdio.h>
void fun(int *a,int n)
 {
 int i,j,k,t;
 for(i=0;ia[k])k=j;
 t=a[i];
 a[i]=a[k];
 a[k]=t;
 }
 }
 main()
 {
 int aa[10]={1,2,3,4,5,6,7},i;
 fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
 printf("\n");
 }

程序运行后的输出结果是(  )。

第763题

有以下程序:

#include <stdio.h>
void fun(int *x,int s,int n)
 {
 int i;
 for(i=s;i>=n;i--)
 *(x+i+3)=*(x+i);
 }
 main()
 {
 int m[]={0,1,2,3,4,5,6,7,8,9},k;
 fun(m,10-4,3);
 for(k=0;k<10;k++)
 printf("%d",m[k]);
 }

程序的运行结果是(  )。

第764题

有以下程序:

#include<stdio.h>
 void fun(int *x,int s, int e)
 {
 int i,j,t;
 for(i=s,j=e;i<j;i++,j--)
 {
 t=*(x+i);
 *(x+i)=*(x+j);
 *(x+j)=t;
 }
 }
 main()
 {
 int m[]={0,1,2,3,4,5,6,7,8,9},k;
 fun(m,0,3);
 fun(m+4,0,5);
 fun(m,0,9);
 for(k=0;k<10;k++)printf("%d",m[k]);
 }

程序的运行结果是(  )。

第765题

有以下程序:

#include <stdio.h>
 void fun(int *s,int n1,int n2)
 {
 int i,j,t;
 i=n1;
 j=n2;
 while(i<j)
 {
 t=s[i];
 s[i]=s[j];
 s[j]=t;
 i++;
 j--;
 }
 }
 main()
 {
 int a[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);
 fun(a,4,9);
 fun(a,0,9);
 for(k=0;k<10;k++)
 printf("%d",a[k]);
 printf("\n");
 }

程序运行的结果是(  )。

第766题

有以下程序:

#include <stdio.h>
 void fun(int *s,int n1,int n2)
 {
 int i,j,t;
 i=n1;
 j=n2;
 while(i<j)
 {
 t=*(s+i);
 *(s+i)=*(s+j);
*(s+j)=t;
 i++;
 j--;
 }
 }
 main()
 {
 int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;
 fun(p,0,3);
 fun(p,4,9);
 fun(p,0,9);
 for(i=0;i<10;i++)
 printf("%d",*(a+i));
 printf("\n");
 }

程序运行后的输出结果是(  )。

第767题

有以下程序:

#include <stdio.h>
void fun(int *s,int t,int *k)
 {
 int p;
 for(p=0,*k=p;ps[*k])*k=p;
 }
 main()
 {
 int a[10]={11,12,13,14,15,16,20,18,19,10},k;
 fun(a,10,&k);
 printf("%d,%d\n",k,a[k]);
 }

程序运行后的输出结果是(  )。

第768题

有以下程序

#include <stdio.h>
int fun(char s[])
 {
 int n=0;
 while(*s<='9'&&*s>='0')
{
 n=10*n+*s-'0';
 s++;
 }
 return (n);
 }
 main()
 {
 char s[10]={'6','1','*','4','*','9','*','0','*'};
 printf("%d\n",fun(s));
 }

程序的运行结果是(  )。

第769题

设有定义 int x[2][3]; 则以下关于二维数组x的叙述中错误的是(  )。

第770题

以下定义数组的语句中错误的是(  )。

第771题

以下错误的定义语句是(  )。

第772题

若有定义语句:

int m[][3]={1,2,3,4,5,6,7};

则与该语句等价的是 ( )。

第773题

若有定义:

int a[2][3];

以下选项中对a数组元素正确引用的是(  )。

第774题

有如下程序:

#include <stdio.h>
main()
 {
 int i,k;
 int array[4][2]={{1,2},{4,9},{6}};
for(i=0;i<2;i++)
 for(k=0;k<4;k++)
 {
 printf("%d,",array[k][i]);
 }
 printf("\n");
 }

程序运行后的输出结果是(  )。

第775题

有以下程序:

#include <stdio.h>
main()
 {
 int i,k;
 int array[4][2]={{1,0},{0},{2,9},{3}};
 for(i=0;i<2;i++)
 for(k=0;k<3;k++)
 {
 printf("%d,",array[k][i]);
 }
 printf("\n");
}

程序运行后的输出结果是(  )。

第776题

有以下程序

#include <stdio.h>
main()
 {
 int b[3][3] = {0,1,2,0,1,2,0,1,2},i,j,t = 1;
 for(i = 0;i<3;i++)
 for(j = i;j <= i;j++)t+=b[i][b[j][i]];
 printf("%d\n",t);
 }

程序运行后的输出结果是(  )。

第777题

有以下程序

#include <stdio.h>
main()
 {
 int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}};
 int i,j,k,t;
 for(i=0;i<4;i++)
 for(j=0;j<3;j++)
 for(k=j+1;k<4;k++)
 if(a[j][i]>a[k][i])
 {
 t=a[j][i];
 a[j][i]=a[k][i];
 a[k][i]=t;
 }
 for(i=0;i<4;i++)
 printf("%d,",a[i][i]);
 }

程序运行后的输出结果是(  )。

第778题

有以下程序

#include <stdio.h>
 main()
 {
 int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
 for(i=0;i<3;i++)
 for(k=i+1;k<4;k++)
 if(a[i][i]<a[k][k])
 {
 t=a[i][i];
 a[i][i]=a[k][k];
 a[k][k]=t;
 }
 for(i=0;i<4;i++)
 printf("%d,",a[0][i]);
 }

程序运行后的输出结果是(  )。

第779题

有以下程序

#include <stdio.h>
main()
 {
int i,t[][3]={9,8,7,6,5,4,3,2,1};
 for(i=0;i<3;i++)
 printf("%d,",t[2-i][i]);
 }

程序执行后的输出结果是(  )。

第780题

有以下程序:

#include <stdio.h>
main()
 {
 char a[4][4]={' '};
 int i,j;
 for(i=0;i<4;i++)
 {
 a[i][0]=a[i][3]='#';
 for(j=1;j<3;j++)
 {
 a[0][j]=a[3][j]='#';
 if((i!=0)&&(i!=3))a[i][j]='o';
 }
 }
 for(i=1;i<3;i++)
 {
 for(j=0;j<4;j++)
 printf("%2c",a[i][j]);
printf("\n");
 }
 }

程序的运行结果是(  )。