参考答案和解析
p 是一个具有 5 个元素的指针数组,每个元素是一个 int 型指针
更多“对于语句“int *p[5] ; ”,下面的描述()是正确的”相关问题
  • 第1题:

    类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i} private: int value; }; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p=&my;

    A.语句p=&my;是把对象my赋值给指针变量P

    B.语句MyClass*p,my;会调用两次类MyClass的构造函数

    C.对语句*P.SetVariabte(5)的调用是正确的

    D.语句p->SetVariable(5)与语句my.SetVariable(5)等价


    正确答案:D
    解析: 语句p=&my,是把对象my的地址值赋值给指针变量P;语句MyClass*p,my;,由于p只是一个指向对象的指针,因此定义指针p不调用构造函数,所以此语句只调用一次构造函数;讨成员函数的引用可以通过两种形式:指针->成员函数(形参表)或者对象名、成语函数名(形参表)。

  • 第2题:

    要使语句“p=new int[10][20]”正确,p应事先定义为

    A: int*p

    B: int**p

    C: int*p[20]

    D: int(*p)[20]


    正确答案: D

  • 第3题:

    程序中有如下语句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;。

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

    下面的语句中错误的是

    A.int a=5;int x[a] ;

    B.const int a=5;int x[a] ;

    C.int n=5;int * p=new int[a] ;

    D.const int n=5;int * p=new int[a] ;


    正确答案:A
    解析:在C++中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值的参数。故选项A) 是错误的定义方法。

  • 第6题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第7题:

    下面的语句中错误的是( )。

    A.int a=5;int x[a];

    B.const int a=5;int x[a];

    C.int n=5;int *p=new int[n];

    D.const int n=5;int *p=new int[a];


    正确答案:A

  • 第8题:

    类MyClass的定义如下: class MyClass { pubfic: MyClass(){value=0;} SetVariable(int i){value=i;) private: intvalue; }; 则对下列语句序列正确的描述是( )。 MyClass*p,my;p=&my;

    A.语句p=&my;是把对象my赋值给指针变量p

    B.语句MyClass*p,my;会调用两次类MyClass的构造函数

    C.对语句*p.SetVariable(5)的调用是正确的

    D.语句p->SetVadable(5)与语句my.SetVariable(5)等价


    正确答案:D

  • 第9题:

    若有语句:int x,*p=&x;则与该语句等价的语句是()

    • A、intx,*p;*p=&x;
    • B、int x,*p;p=&x;
    • C、int x,*p;*p=x;
    • D、int x,*p;p=x

    正确答案:B

  • 第10题:

    有说明语句int *p=new int[10];访问动态数组元素的正确语句是()

    • A、int a=p;
    • B、int a=*p;
    • C、delete int[]p
    • D、delete p int[10]

    正确答案:C

  • 第11题:

    在下面的二维数组定义中,只有()语句是正确的。

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

    正确答案:D

  • 第12题:

    单选题
    有说明语句int *p=new int[10];释放动态数组的正确语句是()
    A

    delete []p;

    B

    delete p[]

    C

    delete int[]p

    D

    delete p int[10]


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

  • 第13题:

    类MyClas定义如下: Class MyClas{ public: MyClas(){value=0;} setVariable(int i){value=I;} private: int value; }则以下对语句序列 MyClas *p,my;p=&my; 的描述正确的是( )。

    A.语句 p->setVariable(5) 与语句 my.setVariable(5) 等价

    B.对语句 *p.setVariable(5)的调用是正确的

    C.语句 MyClas *p,my; 会调用两次类MyClas的构造函数

    D.语句 p=&my; 是把对象my赋值给指针变量p


    正确答案:A
    解析:选项A中,p是对象指针,所以调用p的成员要用符号“->”,而my是一般的类对象,所以调用my的成员用“.”;选项B中正确的调用方式应该是(*p).setVariable;选项C中仅调用一次类对象的构造函数;选项D是把对象my的地址赋值给指针变量p,而不是对象本身。

  • 第14题:

    若已有定义int x;下列说明指针变量p指向x的正确语句是( )

    A. int p=&x;

    B. int *p=&x;

    C. int p=x;

    D. int *p=x;


    正确答案:B

  • 第15题:

    语句int*p=&k;定义了指针p,与这个语句等效的语句序列是A.int*p;p=&k;B.int*p;k=k;C.int*p;*p=&am

    语句int*p=&k;定义了指针p,与这个语句等效的语句序列是

    A.int*p;p=&k;

    B.int*p;k=k;

    C.int*p;*p=&k;

    D.int*p;*p=k;


    正确答案: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题:

    类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。

    A.MyClass*p,my;p=&my;

    B.语句p=&my;是把对象my赋值给指针变量p

    C.语句MyClass*p,my;会调用两次类MyClass的构造函数

    D.对语句*p.SetV ariable(5)与语句my.SetVariable(5)等价


    正确答案:D

  • 第18题:

    经过下面的语句定义后:int i,a[10],*p;下列语句中,合法的是______。

    A.p=100;

    B.p=a[5];

    C.p=a[2]+2;

    D.p=a+2;


    正确答案:D

  • 第19题:

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。 A.int p[4];B.int**P;SXB

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。

    A.int p[4];

    B.int**P;

    C.int*(p[4]);

    D.int(*p)[4];


    正确答案:D
    本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。

  • 第20题:

    用new运算符创建一维整型数组的正确语句是()。

    • A、int*p=newa[10]
    • B、int*p=newfloat[10]
    • C、int*p=newint[10]
    • D、int*p=newint[5]={1,2,3,4,5}

    正确答案:C

  • 第21题:

    以下建立动态存储的语句正确的是()

    • A、int p=new int;
    • B、int p=new(10);
    • C、int *p(10);
    • D、int *p=new int(10);

    正确答案:D

  • 第22题:

    下列建立动态存储的语句正确的是()

    • A、int p=new int[];
    • B、int p=new [10];
    • C、int *p=new int[10];
    • D、int *p[10]=new int;

    正确答案:C

  • 第23题:

    若有语句:int x=6,*p=&x;则下面正确的表达式是()

    • A、++&x
    • B、(*p)--
    • C、&(x+5)
    • D、p=1000

    正确答案:B

  • 第24题:

    单选题
    有说明语句int *p=new int[10];访问动态数组元素的正确语句是()
    A

    int a=p;

    B

    int a=*p;

    C

    delete int[]p

    D

    delete p int[10]


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