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

全国等级考试资料网 2023-08-04 18:39:48 128

(41) 下列程序执行后的输出结果是

A) 6

B) 7

C) 8

D) 9

以下是引用片段:
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d  ,b[0]);
}

(42) 若有以下调用语句,则不正确的fun函数的首部是

A) void fun(int m, int x[]) B) void fun(int s, int h[41])

C) void fun(int p, int *s) D) void fun(int n, int a)

以下是引用片段:
main()
{ …
int a[50],n;

fun(n, &a[9]);

}

(43) 以下程序的输出结果是

A)6

B) 6789

C) ’6’

D) 789

以下是引用片段:
main( )
{ char a[10]={’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;
int i;
i=8;
p=a+I;
printf("%s ",p-3);
}

(44) 以下程序的运行结果是

A) 运行后报错

B) 6 6

C) 6 12

D) 5 5

以下是引用片段:
#include "stdio.h"
main( )
{
int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};
int *p=a+5, *q=NULL;
* q=*(p+5);
printf("%d %d  ",*p,*q);
}

(45) 下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是

A) p>a

B) *p>a[0]

C) *p>*a[0]

D) *p[0]> *a[0]

以下是引用片段:
main( )
{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,I;
for(i=o;i<10;i++,p++)
if(________) *a=*p;
printf("%d",*a);
}

(46) 以下程序运行后,输出结果是

A) 10000

B) 10010

C) 00110

D) 10100

以下是引用片段:
main()
{ int y=18,i=0,j,a[8];
do
{ a[i]=y%2; i++
y=y/2;
} while(y>=1)
for(j=i-1;j>=0;j--) printf("%d",a[j];
printf(" ");
}

(47) 设有如下定义:

int arr[]={6,7,8,9,10};

int * ptr;

则下列程序段的输出结果为

ptr=arr;

* (ptr+2)+=2;

printf ("%d,%d ",*ptr,*(ptr+2));

A) 8,10

B) 6,8

C) 7,9

D) 6,10

(48) 以下程序的输出结果是

以下是引用片段:
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 ",k);
}

A) 20

B) 21

C) 22

D)23

(49) 若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是

A) *p

B) a[10]

C) *a

D) a[p-a]

(50) 若有以下的定义:

int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a;

则值为3的表式是

A) p+=2, *(p++)

B) p+=2,*++p

C) p+=3, *kp++

D) p+=2,++*p

相关资料

相关阅读