更多“若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是____ ”相关问题
  • 第1题:

    若有以下定义和语句,则对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则指向了第二行的第二个数据元素,其他几个选项都不正确。

  • 第2题:

    若有以下定义,则对a数组元素的正确引用是( )。

    int a[5],*p=a;

    A)*&a[5]

    B)*a 1

    C)*(p 5)

    D)*(a 2)


    正确答案:D
    本题考查通过指针引用数组元素。选项A)、B),没有这种引用形式;选项c),*(p 5)是引用数组的第6个元素,而数组一共有5个元素,出现越界;选项D),*(a 2)引用数组的第3个元素。

  • 第3题:

    若有以下定义和语句; int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;

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

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:A
    解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

  • 第4题:

    若有定义“int b[8],*p=b;”,则p+6表示( )。A.数组元素b[6]的值B.数组元素b[6]的地址SX

    若有定义“int b[8],*p=b;”,则p+6表示( )。

    A.数组元素b[6]的值

    B.数组元素b[6]的地址

    C.数组元素b[7]的地址

    D.数组元素b[o]的值加上6


    正确答案:B
    指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中p+6指的是将指针向后移动了6个存储单元,即指向b[6],存放的是b[6]的地址。

  • 第5题:

    若有定义:

    则以下不能正确表示该数组元素的表达式是( )。

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    本题考查的是通过指针引用二维数组元素。通过一维数组名或指向一维数组元素的指针来引用数组元素有两种写法:a[i]和*(a+i),它们是等价的。这是一种运算符之间的等价转换,就好像a一(b—c)等价于a-b+c一样。知道了这种转换,我们可以将之扩展到二维数组甚至任意维数组上来。因为口运算符的结合性是从左至右的,所以w[i珩]等价于(w[i][j],此时可以先将任意一个口运算符转换为指针形式为(·(w+i))[j]或*(w[i]+j),或者同时转换为*(*(W+i)+j)。上述几种形式都完全等价于w[il[j]。

  • 第6题:

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

  • 第7题:

    若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )

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

    int*p,I

    p=a;

    A.* (a+I)

    B.a[p-a]

    C.p+I

    D.* (&a[I])


    正确答案:C

  • 第8题:

    若有以下的定义, 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

  • 第9题:

    若有定义语句inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;值为8的数组元素的正确表示为( ):

    A.a[8]

    B.a+7

    C.p+7

    D.*(p+7)


    正确答案:D

  • 第10题:

    若有以下定义      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

  • 第11题:

    若有以下定义和语句,inta[10],*p1;p1=a;则能正确表示a数组元素的表达式是()

    • A、a
    • B、p1+5
    • C、*p1
    • D、&a[5]

    正确答案:C

  • 第12题:

    单选题
    若有以下定义      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
    解析: 暂无解析

  • 第13题:

    若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10}; 则下列哪个是对该数组元素的正确引用( )

    A. a[10]

    B. a[a[3]-5]

    C. a[a[9]]

    D. a[a[4]+4]


    正确答案:D

  • 第14题:

    若有以下定义和语句: 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
    解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

  • 第15题:

    若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是int w[10] = {23,54,10,33,47,98,72,80,61},*p = w;


    正确答案:p[5](或*(p + 5))
    98是数组w的第5个元素(最开始的为第0个),而通过*p=w已经将p指向了数组w,要想不移动指针p而引用数据元素98,可以有以下两种方法:p[5]、*(p + 5)。

  • 第16题:

    若有定义int a[10],*p=a,则p+6表示( )。

    A.数组元素a[5]的值

    B.数组元素a[5]的地址

    C.数组元素a[6]的地址

    D.数组元素a[0]的值加上5


    正确答案:C
    解析: 指针中存放的是变量的地址,指针也可以进行加减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中p+6指的是将指针向后移动了6个存储单元,指向a[6],存放的是a[6]的地址。

  • 第17题:

    若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()

    A.*(a[1]+2)

    B.*(p[1]+2)

    C.p[5]

    D.*(p+5)


    参考答案:B

  • 第18题:

    若有以下定义: 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

  • 第19题:

    若有定义和语句: int a[10]={1,2,3,4,5,6,?,8,9,10},* p=a; 则不能表示a数组元素的表达式是 ( )

    A.* p

    B.a[10]

    C.* a

    D.a[p-a)


    正确答案:B

  • 第20题:

    若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1

    若有下列定义,则对a数组元素地址的正确引用是( )。

    int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    本题考查数组元素的地址的引用。A中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组的首地址。

  • 第21题:

    若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()

    • A、*(a[1]+2)
    • B、*(p[1]+2)
    • C、p[5]
    • D、*(p+5)

    正确答案:B

  • 第22题:

    若有定义:int a[10],*p=a;则表示数组元素a[3]的错误选项是()。

    • A、*(a+=3)
    • B、*(p+=3)
    • C、*(a+3)
    • D、p[3]

    正确答案:A

  • 第23题:

    单选题
    若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()
    A

    *(a[1]+2)

    B

    *(p[1]+2)

    C

    p[5]

    D

    *(p+5)


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

  • 第24题:

    单选题
    若有定义:int a[10],*p=a;则表示数组元素a[3]的错误选项是()。
    A

    *(a+=3)

    B

    *(p+=3)

    C

    *(a+3)

    D

    p[3]


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