2010年计算机等级考试二级C语言一维数组与指针2

全国等级考试资料网 2019-01-23 14:13:20 120

(6)有以下程序

以下是引用片段:
main()
{
int p[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 ",j);
}

程序运行后的输出结果是

A)42

B)45

C)56

D)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,int m)
{ int i,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{
int i,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)10234

B)12344

C)12334

D)12234

(10)有以下程序

以下是引用片段:
prt(int *m,int n)
{
int i;
for(i=0;i 
m[i]++;
}
main()
{
int a[]={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,

相关资料

相关阅读