C++语言程序设计

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

题目

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

  • A、int a=p;
  • B、int a=*p;
  • C、delete int[]p
  • D、delete p int[10]
参考答案和解析
正确答案:C
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序错误的语句是①include < iostream.h>②void main( 0③{④int * p = new int[1] ;⑤p =9;⑥co

下面程序错误的语句是 ①#include < iostream.h> ②void main( 0 ③{ ④ int * p = new int[1] ; ⑤ p =9; ⑥ cout <<*p <<end1; ⑦ delete [ ] p; ⑧ }

A.④

B.⑤

C.⑥

D.⑦


正确答案:B
解析:本题考查的是指针的使用,p是指向int型的指针,若想给它指向的元素赋值,应使用 *符号,直接赋值相当于改变了原来p存储的地址。

第2题:

下面程序错误的语句是

①#include

②void main()

③{

④int*p=new int[1];

⑤p=9;

⑥cout <<*p<

⑦delete[]p

⑧}

A.④

B.⑤

C.⑥

D.⑦


正确答案:B

第3题:

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

A.“int *p=new int (10);”

B.“int *p=new int [10];”

C.“int *p=new int ;”

D.“int *p=new int (10)(0);”


参考答案:D

第4题:

已知:intn=10;那么下列语句中错误的是

A.int*p=new long[n];

B.int p[n];

C.int*p=new long(n);

D.int p[10];


正确答案:B
解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针>=new类型>(初值);如C选项所示,若带有元素个数,则其语法格式为:《指针》=new类型>[元素个数>],如A选项所示。数组定义中数组大小必须为常量,而B选项中的n为一变量所以是错误的。

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

下面程序错误的语句是 ① include ② void main( ) ③ { ④ int * p=new int[1] ; ⑤ p

下面程序错误的语句是

① #include<iostream.h>

② void main( )

③ {

④ int * p=new int[1] ;

⑤ p=9;

⑥ cout < < * p < <endl;

⑦ delete[ ] p;

⑧ }

A.④

B.⑤

C.⑥

D.⑦


正确答案:B
解析:本题考查的是指针的使用,p是指向int型的指针,若想给它指向的元素赋值,应使用。符号,直接赋值相当于改变了原来p存储的地址。

第7题:

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

A: int*p

B: int**p

C: int*p[20]

D: int(*p)[20]


正确答案: D

第8题:

定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。

A、int*p=newint[30]

B、int*p=newint(30)

C、int*p=new[30]int*p=new[30]

D、*p=newint[30]


参考答案:A

第9题:

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

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

第10题:

已知:int n=10;那么下列语句中错误的是

A.int*p=new long[n];

B.int p[n];

C.int*p=new long(n);

D.int p[10];


正确答案:B
解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针>=new类型>(初值),如C选项所示,若带有元素个数,则其语法格式为:指针>=new类型>[元素个数>],如A选项所示。数组定义中数组大小必须为常量,而B选项中的n为一变量所以是错误的。

更多相关问题