计算机二级

有如下定义语句: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]的值赋给变量pD.语句int * p=a;是把a[1]的值赋给变量p

题目

有如下定义语句: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

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.int*p;p=&k;

B.int*p;p=k;

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

D.int*p;*p=k;


正确答案:A
解析:本题考查的知识点是:指针的赋值。题目中的语句int*p=&k;有两个作用:首先,定义了一个int型指针p;然后,将变量k的地址&k赋给刚定义的指针p。所以等效的语句序列为:int*p;p=&k;,应该选择A。

第2题:

设有如下定义:

struck sk

{ int a;

float b;

} data;

int *p;

若要使P指向data中的a域,正确的赋值语句是

A.p=&a;

B.p=data.a;

C.p=&data.a;

D.*p=data.a;


正确答案:C

第3题:

假定变量m定义为“int m=7;”,则下面正确的语句为()。

a. int p=&m;

b. int *p=&m;

c. int &p=*m;

d. int *p=m;


正确答案是:D

第4题:

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

A. int p=&x;

B. int *p=&x;

C. int p=x;

D. int *p=x;


正确答案:B

第5题:

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

A: int*p

B: int**p

C: int*p[20]

D: int(*p)[20]


正确答案: D

第6题:

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

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

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

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

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


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

第7题:

现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是

A.p=&a;

B.q=&b;

C.p=q;

D.p=a;


正确答案:D

第8题:

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

A ) int *p;p=&k;

B ) int *p;p=k;

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

D ) int *p;*p=k


正确答案:A

第9题:

设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

A.p=&a;

B.p=data.a;

C.p=&data.a;

D.p=a;


正确答案:C
解析:要注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。引用结构体变量中成员的方式有以下几种:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。

第10题:

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

更多相关问题