}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=o;i<10;i++) print(“%d,”,aa[i]);
printf(‘\n”);
}
程序运行后的输出结果是_____。
A)1,2,3,4,5,6,7,8,9,10 B)10,9,8,7,6,5,4,3,2,1,
C)1,2,3,8,7.6.5.4.9,10 D)1,2,10,9,8,7,6,5,4,3
(26)以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。
voidreverse(int a[],intn)
{int i,t;
for(i=0;i {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{int b[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(“%d\n”,s);
}
程序运行后的输出结果是_____。
A)22 B)10 C)34 D)30
(27)以下程序调用findmax函数返回数组中的最大值
findmax(int *a,int n)
{int *p,*s;
for(p=a,s=a; p-a if( ) s=p;
return(*s);
}
main()
{int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下划线处应填入的是_____。
A)p>s B)*p>*s C)a[p]>a[s] D)p-a>p-s
(28)若有定义:
int aa[8];。
则以下表达式中不能代表数组元aa[1]的地址的是_____。
A)&aa[0]+1 B)&aa[1] C)&aa[0]++ D)aa+1
(29)以下程序的输出结果是_____。
f(int b[],int m,int n)
{int i,s=0;
for(i=m;i return s;
}
main()
{int x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A)10 B)18 C)8 D)15
(30)假定int类型变量占用两个字节,其有定义:
int x[10]={0,2,4};,则数组x在内存中所占字节数是_____。
A)3 B)6 C)10 D)20
(31)以下程序的输出结果是_____。
main()
{ int i,a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
}
A)258 B)741 C)852 D)369
(32)下列程序的输出结果是_____。
A)非法 B)a[4]的地址 C)5 D)3
main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf(“%d”,*--p);
}
(33)下面程序的输出结果是_____。
A)0 B)1 C)10 D)9
main()
{ int a[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf(“%d\n”,*p+9);
}
(34)当调用函数时,实参是一个数组名,则向函数传送的是_____。
A)数组的长度 B)数组的首地址
C)数组每一个元素的地址 D)数组每个元素中的值
(35)以下程序的输出结果是_____。
A)20 B)21 C)22 D)23
main()
{ int i, k, a[10], p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*(i+1)];
for(i=0;i<3;i++) k+=p[i]*2;
printf(“%d\n”,k);
}
(36)以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i if(a[i] return(p);
}
在下划线处应填入的是_____。
A)i=p B)a[p]=a[i] C)p=j D)p=i
(37)有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;