}
main()
{int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa+2, 5);
for(i=0;i<10;i++)printf(”%d,”,aa[i]);
printf(”\n”);
}
程序运行后的输出结果是_____。
A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10,
C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10,
(4)有以下程序
voidsum(int a[])
{ a[0]=a[-1]+a[1]; }
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf(”%d\n”,a[2]);
}
程序运行后的输出结果是_____。
A)6 B)7 C)5 D)8
(5)有以下程序
voidswap1(int c0[],int c1[])
{int t;
t=c0[0]; c0[0]=c1[0]; c1[0]=t;
}
voidswap2(int *c0,int *c1)
{int t;
t=*c0; *c0=*c1; *c1=t;
}
main()
{int a[2]={3,5}, b[2]={3,5};
swap1(a,a+1); swap2(&b[0],&b[1]);
printf(”%d%d%d%d\n”,a[0],a[1],b[0],b[1]);
}
程序运行后的输出结果是_____。
A)3553 B)5335 C)3535 D)5353
(6)有以下程序
main()
{
intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7) if(p[i]%2) j+=p[i];
printf(”%d\n”,j);
}
程序运行后的输出结果是_____。
A)42B)45C)56D)60
(7)有以下程序
void f(int *x,int *y)
{ int t;
t=*x;*x=*y;*y=t;
}
main()
{ int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p {
f(p,q);
p++;
q--;
}
for(i=0;i<8;i++)
printf(”%d,”,a[i]);
}
程序运行后的输出结果是
A)8,2,3,4,5,6,7,1,
B)5,6,7,8,1,2,3,4,
C)1,2,3,4,5,6,7,8,
D)8,7,6,5,4,3,2,1,
(8)以下叙述中错误的是 _____。
A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B)数组名代表的是数组所占存储区的首地址,其值不可改变
C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D)可以通过赋初值的方式确定数组元素的个数
(9)有以下程序
#define N 20
fun(int a[],int n,intm)
{ inti,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{
inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)
printf(”%d”,a[i]);
}
程序运行后的输出结果是_____。
A)10234B)12344C)12334D)12234
(10)有以下程序
prt(int *m,int n)
{
inti;
for(i=0;i m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf(”%d,”,a[i]);
}
程序运行后的输出结果是_____。
A)1,2,3,4,5, B)2,3,4,5,6,
C)3,4,5,6,7, D)2,3,4,5,1,
(11)有以下程序
main()
{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p printf(”%d,”,*p);
}
程序运行后的输出结果是_____。
A)1,2,3,4,5,6,7,8,9,0,
B)2,3,4,5,6,7,8,9,10,1,
C)0,1,2,3,4,5,6,7,8,9,
D)1,1,1,1,1,1,1,1,1,,1,
(12)有以下程序
intf(inta)
{returna%2;}
main()
{ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[i]);i++)d+=s[i];
printf(”%d\n”,d);
}
程序运行后的输出结果是_____。
A)9 B)11 C)19 D)21
(13)设有定义语句
intx[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是_____。
A)for(i=0;i<6;i++)printf(”%2d”,*(p++));
B)for(i=0;i<6;i++)printf(”%2d”,*(p+i));
C)for(i=0;i<6;i++)printf(”%2d”,*p++);
D)for(i=0;i<6;i++)printf(”%2d”,(*p)++);
(14)有以下程序
#include
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf(”%d%d\n”,*p,*q);
}
程序运行后的输出结果是_____。
A)运行后报错 B)66 C)611 D)510
(15)已有定义:
inti,a[10],*p;,则合法的赋值语句是_____。
A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;
(16)有以下程序
main()
{intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}
for(i=0;i<8;i++)printf(”%d”,x[i]);
printf(”\n”);
}
程序运行后的输出结果是_____。
A)75310246 B)01234567 C)76310462 D)13570246
(17)有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是_____。
A)5 B)6 C)8 D)9
(18)有以下程序
voidswap1(int