C语言程序设计

若有以下说明,int?a[12]={1,2,3,4,5,6,7,8,9,10,11,12};?则数值为4的表达式是()A、a[4]B、a(3)C、a[3+1]D、a[4]-a[0]

题目

若有以下说明,int?a[12]={1,2,3,4,5,6,7,8,9,10,11,12};?则数值为4的表达式是()

  • A、a[4]
  • B、a(3)
  • C、a[3+1]
  • D、a[4]-a[0]
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( )

A.a[g-c]

B.a[4]

C.a['d'-'c']

D.a['d'-c]


正确答案:D

第2题:

有如下说明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)来表示。

第3题:

设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a【1】【2】的表达式是( )。A.*((*ptr+1)[2])B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)


正确答案:D
a[1][2]的值为6. *ptr的值为1,*ptr+1=2是一个数组,所以(*ptr+1)[2]表示不正确。P=a,指向1,p+5是指针向后移动5个单元,即指向6,*(p+5)即是6,C项解释同A,

第4题:

若有下列说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 ______。

A.a[g-c]

B.a[4]

C.a['d'-'c']

D.a['d'-c]


正确答案:D

第5题:

若有定义:int x=3,y=4,z=5;则值为0 的表达式是()

A.

B.

C.

D.


参考答案:D

第6题:

若有说明:int a[3][4];则对a数组元素的非法引用是

A.a[0][2*1]

B.a[1][3]

C.a[4-2][0]

D.a[0][4]


正确答案:D
解析:在数组这部分的知识里面,数组下标越界是一个比较容易忽略的问题,其下标是从0开始,至n-1为止,因此选项D是正确答案。

第7题:

若有说明 int a[3][4];,则a数组元素的非法引用是

A.a[0][2*1)

B.a[1][3]

C.a[4-2][O]

D.a[0][4)


正确答案:D
解析:本题定义a为3行x4列的数组,它可用的行下标最大为2,列下标最大为3。注意:a[0)[4]超过了数组的范围。注意:数组的下标是从0开始的。

第8题:

若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。A.4B.8C.0D.2

若有定义语句int b=2;,则表达式(b<<2)/(3||b)的值是( )。

A.4

B.8

C.0

D.2


正确答案:B
2的二进制数为010,移两位后的二进制数为01000,转成十制数为8,(3||2)为真即1,8/ 1=8,所以结果为8。

第9题:

若有定义:int x=3,y=4;则表达式!x||y的值为()

A.1

B.0

C.3

D.4


参考答案:A

第10题:

若有说明int a[3][4];,则a数组元素的非法引用是

A.a[0][2*1]

B.a[1][3]

C.a[4—2][0]

D.a[0][4]


正确答案:D
解析:本题定义a为3行×4列的数组,它可用的行下标最大为2,列下标最大为3。注意:a[0][4]超过了数组的范围。注意:数组的下标是从0开始的。

更多相关问题