参考答案和解析
正确答案: B
解析:
A项,a[2]是数组的第三个元素,即5;B项,a[3]是数组的第四个元素,即7;C项,*p = a[0],*(p+2) = a[2] = 5;D项,*p = a[0] =1,*p+4 = 5。
更多“单选题有如下定义:int a[5]=1,3,5,7,9,*p=a;下列表达式中不能得到数值5的是(  )。A a[2]B a[3]C *(p+2)D *p+4”相关问题
  • 第1题:

    有如下定义:inta[5],*p;p=a;则下列描述错误的是()。

    A.表达式p=p+1合法的

    B.表达式a=a+1是合法的

    C.表达式p-a是合法的

    D.表达式a+2是合法的


    正确答案:B

  • 第2题:

    有如下程序段: int a[10],*p[3],**pp,i; for(i=0;i<3:i++) p[i]=&a[i*4); pp=p; 则正确表示数组a元素的表达式是 ______。

    A.pp

    B.a[10]

    C.p[3]

    D.*(*(p+2))


    正确答案:D

  • 第3题:

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

    A.a[2]

    B.a[3]

    C.*(p+2)

    D.*p+4


    正确答案:B

  • 第4题:

    执行以下程序段后,m的值为______。 int a[2][3]={ {1,2,3},{4,5,6} }; int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4));

    A.15

    B.14

    C.13

    D.12


    正确答案:A

  • 第5题:

    若有以下定义和语句: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]


    正确答案:B

  • 第6题:

    有如下说明: 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)。

  • 第7题:

    设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int(*Ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是_______。

    A.*((*ptr+1)[2])

    B.*(*(p+5))

    C.(*ptr+1)+2

    D.*(*(a+1)+2)


    正确答案:D
    解析:*(p+5)所指向的数组元素是a[1][2],所以B不对;ptr所指向的是—个含有三个元素的一维数组,所以A和C是错误的。

  • 第8题:

    有定义:int a[5][4],(*p)[4]=a;,则*(*(p+2)+3)等价于()。

    • A、a[2][0]
    • B、a[2][1]
    • C、a[2][2]
    • D、a[2][3]

    正确答案:D

  • 第9题:

    有如下说明语句inta[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

    正确答案:B

  • 第10题:

    单选题
    有如下说明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
    解析:
    A项,*p = a[0] = 1;表达式*p + 9 = 1 + 9 = 10;B项,*(p+8) = a[8] = 9;C项,*p = *p + 9 = a[0] + 9 = 1+9 =10;D项,p+8表示a[8]的地址值,该值无法确定。

  • 第11题:

    单选题
    若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()
    A

    p+=2,*(p++)

    B

    p+=2,*++p

    C

    p+=3,*p++

    D

    p+=2,++*P


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    设有如下定义:int a=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:(m=a>b)‖(n=c>d)后,n的值是()
    A

    1

    B

    0

    C

    5

    D

    6


    正确答案: D
    解析: 暂无解析

  • 第13题:

    若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;

    A.*(p+2)

    B.p[2]

    C.p[1]+1

    D.(p+1)+2


    正确答案:C
    解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。

  • 第14题:

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

    A.*q+8

    B.*(q+7)

    C. *q+=8

    D.q+7


    正确答案:B

  • 第15题:

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

  • 第16题:

    若有如下定义和语句: int s[4][5],(*p)[5]; p=S; 则指针对s数组中第三个元素的正确引用形式是( )。

    A.p[0][3]

    B.p[1][2]

    C.p[0][2]

    D.p[1][3]


    正确答案:C
    解析: “p=s;”语句将指针p指向数组s。而数组为二维数组,下标标识由0开始,所以第二个元素为下标为0行的2列,即p[0][2]。

  • 第17题:

    若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )

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

    B.p+=2,* + +p

    C.p+=3,* p+ +

    D.p +=2,+ + * p


    正确答案:A

  • 第18题:

    有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。 A.a[2]SXB

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

    A.a[2]

    B.a[3]

    C.*(P+2)

    D.+P+4


    正确答案:B
    本题考查指向数组的指针,本题中指针变量P指向数组a,直接使用数组下标即可取值,数组F标是从0开始标号的,所以a[2]能取到5,而a[3]取不到5,(:选项中使用指针后移方法能够取到5,D选项中*P为1,所以*P+4为5。

  • 第19题:

    有如下说明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
    解析:

  • 第20题:

    若有以下定义      int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a;    则值为3的表达式是()   

    • A、p+=2,*(p++)
    • B、p+=2,*++p
    • C、p+=3,*p++
    • D、p+=2,++*P

    正确答案:A

  • 第21题:

    单选题
    有如下说明语句inta[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
    解析: 暂无解析

  • 第22题:

    单选题
    设有以下定义:int a[4][3]= 11,3,5.9.11,13,15,17,19,21,23,251 ;int( *pr)[3]=a,*p=a[0] ;则下列能够正确表示数组元素a[1][2]的表达式是()
    A

    *((*prt+1)[2])

    B

    *(*(p+5))

    C

    *prt+1)+2

    D

    *(*(a+1)+2)


    正确答案: C
    解析: 暂无解析

  • 第23题:

    单选题
    有如下定义:int b[10]=1,2,3,4,5,6,7,8,9,10,*q=b;则数值为8的表达式是(  )。
    A

    *q+8

    B

    *(q+7)

    C

    *q+=8

    D

    q+7


    正确答案: D
    解析:
    数组的下标是从0到数组的长度减1。*(p+i)是取数组的
    第i+1个元素,即下标为i的元素。因此*(p+7)取数组的第八个元素,即元素8