定义如下一维数组:int a[5],*p=a;则下面描述错误的是:A.表达式p=p+1是合法的B.表达式a=a+1是合法的C.表达式p-a是合法的D.表达式a+2是合法的

题目

定义如下一维数组:int a[5],*p=a;则下面描述错误的是:

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

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

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

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


相似考题
更多“定义如下一维数组:int a[5],*p=a;则下面描述错误的是:”相关问题
  • 第1题:

    若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

    若有定义int a[9],+P=a;,则P+5表示( )。

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

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

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

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


    正确答案:B
    本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

  • 第2题:

    设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。

    A.a[0];

    B.a[A.length-1];

    C.a[3];

    D.int i=1; a[i];


    参考答案:C

  • 第3题:

    若有以下定义,则对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个元素。

  • 第4题:

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。

    A.语句int*p=a;定义不正确

    B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int*p=a;是把a[0]的值赋给变量p

    D.语句iht*p=a;是把a[l]的值赋给变量p


    正确答案:B

  • 第5题:

    定义如下一维数组:int a[5],*p;,则下列描述错误的是( )。

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

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

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

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


    正确答案:B

  • 第6题:

    若有定义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]的地址。

  • 第7题:

    若有定义int a[5],*p=a;则正确引用数组元素的是( )。

    A.*&a[5]

    B.*a+2

    C.*(p+5)

    D.*(a+2)


    正确答案:D

  • 第8题:

    若有下列定义,则对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],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第9题:

    在下面的一维数组定义中,()语句有语法错误。

    • A、int a[ ]={1,2,3};
    • B、int a[10]={0};
    • C、int a[ ];
    • D、int a[5];

    正确答案:C

  • 第10题:

    设有C语句int a[3][4];, 则每次移动过a数组一行元素的指针变量定义形式是()

    • A、int *p;
    • B、int **p;
    • C、int(*p)[4];
    • D、int *p[4];

    正确答案:C

  • 第11题:

    数组定义与赋初值语句如下:int[]a={1,2,3,4,5};则a[2]的值为()。


    正确答案:3

  • 第12题:

    填空题
    数组定义与赋值语句如下:int[]a={1,2,3,4,5};则a[2]的值是()

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

  • 第13题:

    在下面的一维数组定义中,错误的定义格式为()

    A.int a[]={l,2,3};

    B.int a[10〕={0};

    C.int a[];

    D. int a[5];


    参考答案C

  • 第14题:

    定义如下一维数组: inta[5],*p=a; 则下面描述中,错误的是( )。

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

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

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

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


    正确答案:B
    解析:本题考核指针与数组的关系。对于选项A,由于在定义时指针p指向数组a[0],那么表达式“p=p+1”就是让指针p指向数组中的元素a[1],所以是合法的。对于选项C,数组名a代表该数组的首地址,指针p中存的也是地址,所以它们之间可以进行加减运算。对于选项D,数组名a代表该数组的首地址,那么表达式“a+2”代表的是数组元素a[2]的地址。对于选项B,由于数组名代表该数组的首地址,并且只能引用该地址而不能进行修改,所以是不合法的。

  • 第15题:

    程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

    A.int*p=a;

    B.int p=a;

    C.*p=a;

    D.p=a;


    正确答案:A
    解析: 从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*p=a;。

  • 第16题:

    有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。

    A.语句int *p=a;定义不正确

    B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int *p=a;是把a[0]的值赋给变量p

    D.语句int *p=a;是把a[1]的值赋给变量p


    正确答案:B

  • 第17题:

    若有如下定义,则__________是对数组元素的正确的引用。. int a[10] , *p ; p=a ;

    A.*&a[10]

    B.a[11]

    C.*(p+11)

    D.*p *p *p


    正确答案:D

  • 第18题:

    若有下列定义,则对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],所以引用错误;在选项B)中,*a+1指的是将数组a的第一个元素加1;在选项C)中,这种引用方式错误;在选项D)中,&a[0]引用的是数组的首地址。

  • 第19题:

    若有下列定义,则对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],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第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题:

    指向数组元素为整型的一维数组的指针变量的定义是()。

    • A、int*p()
    • B、int(*p)()
    • C、int*p[4]
    • D、int(*p)[4]

    正确答案:C

  • 第22题:

    数组定义与赋值语句如下:int[]a={1,2,3,4,5};则a[2]的值是()


    正确答案:3

  • 第23题:

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

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

    正确答案:A

  • 第24题:

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

    *(a+=3)

    B

    *(p+=3)

    C

    *(a+3)

    D

    p[3]


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