若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,

题目
单选题
若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A

10

B

9

C

6

D

5

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有程序片段: int a[12]={0},* p[3],* *pp,i for (i=0;i<3;i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 ( )

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C

第2题:

若有以下程序段:inta[]={4,0,2,3,1},i,j,t;for(i=1;i5;i++){t=a[i];j=i-1;while(j=0&&ta[j]){a[j+1]=a[j];j--;}a[j+1]=t;}......则该程序段的功能是()。

A.对数组a进行插入排序(升序)

B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)

D.对数组a进行选择排序(降序)


正确答案:B

第3题:

若有定义int a[2][3];,则对a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为

A.*(*(a+i)+j)

B.(a+i)[j]

C.*(a+i+j)

D.*(a+i)+j


正确答案:A
解析:本题考查了二维数组元素的引用方法。选项A中a+i指向了数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

第4题:

若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)

A.*(&a[0][0]+10*i+j)

B.*(a+i)+j

C.*(*(a+i)+j)

D.*(a[i]+j)


正确答案:B
解析:本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。

第5题:

若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。A.m[--i]SXB

若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。

A.m[--i]

B.m[2*2]

C.m[m[o]]

D.m[m[i]]


正确答案:C
C。【解析】数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式],其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。

第6题:

若有说明:inta[10];则对数组元素的正确引用是()。

A.a[10]

B."a[3,5]"

C.a(5)

D.a[10-10]


正确答案:D

第7题:

若有定义:inta[2][3],则对a数组的第i行j列元素地址的正确引用为()。

A.*(a[i]+j)

B.(a+i)

C.*(a+j)

D.a[i]+j


正确答案:A

第8题:

若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

for(i=0;i<3;i)

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C
解析:考查指向数组的指针。本题综合考查一维数组和多维数组指针变量的表示方法。在C语言中,引用数组元素的方法有两种,即下标法和指针法。下标法如a[i]形式;指针法如*(a+i)或*(p+1)。其中,a是数组名,p是指向数组的指针变量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意语句中指针型数组的书写格式,不能写成"(*数组名)[长度]",因为这是定义指向含有"长度"个元素的一维数组的指针变量。例如有定义语句"int a,b,c,c,*p[3]={&a,&b,&c};",它定义了一个名为p的指针型数组,其3个元素p[0],p[1],p[2]分别指向f3个整型变量a,b,c。

第9题:

若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。

A.*(*(a+i.+j.

B.(a+i.[j]

C.*(a+i+j.

D.*(a+i.+j


正确答案:A
本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行。*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

第10题:

若已定义 inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5; 则对数组元素不正确的引用是( )。

A.a[p-a]

B.*(&a[i])

C.p[i]

D.*(*(a+i))


正确答案:D
D。【解析】数组和指针的关系非常密切,因为数组名称单独使用是表示数组的首地址。故可用的表示可能是a[i],p[i],*(P+i),同样&(a[i])表示地址,因此*(&a[i])等同于a[i]。本题答案为D。

更多相关问题