计算机二级

有如下说明int a[10]={1,2,3,4,5,6,7 },*p=a;则数值为5的表达式是A.*p+4 B.*(p+4) C.*p+=4 D.p+4

题目

有如下说明int a[10]={1,2,3,4,5,6,7 },*p=a;则数值为5的表达式是A.*p+4 B.*(p+4) C.*p+=4 D.p+4

参考答案和解析
正确答案:B
本题考查C语言的数组元素的引用方法。我们在前面已经讲过了,比如数组元素a[0],可以用表达式*(p+0)即*p来引用;对于数组元素a[1],可以用表达式*(p+1)来引用,在这里,p+1的值就是数组元素a[1]的地址,对此地址使用“间接访问运算符”*(p+1)就代表存储单元a[1],注意,一对圆括号不可少。同样,对于数组元素a[2],则可以用表达式*(p+2)来引用,……,对于数组元素a[9],可以用表达式*(p+9)来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i10,则数组元素a[i]可以用*(p+i)来表示。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有定义int a[]={1,3,5,7,9},*p=a;结果为7的表达式是()。

A.*(p+3)

B.*(p+4)

C.*p+3

D.*p+4


C

第2题:

1、*p, *p+4和*(p+4)的值分别为? int one_d[ ] = {1, 3, 4, 5, -1} ; int *p ; p = one_d ;

A.*p = 1, *p+4 = 5, *(p+4) = -1

B.*p = 1, *p+4 = -1, *(p+4) = -1

C.*p = 1, *p+4 = -1, *(p+4) = 5

D.*p = 3, *p+4 = 5, *(p+4) = -1


C

第3题:

有如下语句 int a[10] = {1,2,3,4,5,6,7,8,9,10};int *p = a;则数值为9的表达式是______

A.*p+9

B.*(p+8)

C.*p+=9

D.p+7


*(*(a+i))

第4题:

60、若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为4的表达式是

A.*p+4

B.*(p+4)

C.*(p+3)

D.p+3


B

第5题:

3、有说明 int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;,则数值为9的表达式是()。

A.*(p+9)

B.*(p+8)

C.*p+=9

D.*p+=9


*(p+5)

第6题:

有说明 int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;,则数值为9的表达式是()。

A.*(p+9)

B.*(p+8)

C.*p+=9

D.*p+=9


0,9

第7题:

有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB

有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。

A.*P+9

B.木(P+8)

C.*P+=9

D.P+8


正确答案:B
本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即P+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。

第8题:

有如下定义: int a[5]={1,3,5,7,9}, * p=a; 下列表达式中不能得到数值5的是

A.a[2]

B.a[3]

C.*(p+2)

D.*p+4


正确答案:B

第9题:

有如下定义: inta[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值5的是

A.a[2]

B.a[3]

C.*(p+2)

D.*p+4


正确答案:B