参考答案和解析
正确答案:A
分析备选答案A:显然是正确的,本题答案应选A。至于备选答案B:其中的“[2,5]”在语法上是错误的;备选答案C:数组没有给初值而省略了数组长度,语法上也是错误的;备选答案D:定义的是具有10个元素的。指向整型数据的指针型数组。
更多“定义一个具有10个元素的整型数组,应当使用语句( )A.int a[10];B.int a[2,5];C.int a[];D.int *a[ ”相关问题
  • 第1题:

    定义一个具有10个元素的整型数组,应当使用语句是 ______。

    A.int a[10]

    B.iht a[2,5]

    C.int a[]

    D.int*a[10]:


    正确答案:A

  • 第2题:

    已知:int n=10; 在下列定义引用的语句中,正确的是( )。

    A.int &x=n;

    B.int x=&n;

    C.int &x;

    D.int &x=&n;


    正确答案:A
    解析:引用是个别名,建立引用后,引用即作为目标的别名而使用,对引用的改动实际上就是对目标的改动。要求引用的声明语句要同时包括变量的数据类型、引用操作符“&”、引用名、赋值符号和目标名。引用在声明时必须进行初始化,一旦初始化,便不能作为其他变量的引用而使用。

  • 第3题:

    语句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

  • 第4题:

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

    A.int p[4];

    B.int**p;

    C.int*(p[4]);

    D.int(*p)[4];


    正确答案:C

  • 第5题:

    要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。

    A.int a[5]=(0,0,0,0,0);

    B.int a[5]={};

    C.int a[]={0,0,0,0,0};

    D.int a[]={5*0};


    正确答案:C
    解析:A项是错误的,赋值时用的是花括号而不是圆括号。B项错在不能初始化时在花括号内为空。D项错在不可以用表达式对数组一一赋值。C项虽然没有直接定义数组的大小,但是初始化时只赋了5个元素的值,系统会自动定义数组的大小为5,这种形式是正确的。

  • 第6题:

    在下列语句中,其含义为“q为一个指针的函数,该指针指向整型数据”的定义语句是( )。

    A.int**q;

    B.int(*q)0;

    C.int*q;

    D.int*q();


    正确答案:B
    解析:本题考查的是指针函数。指针函数定义的基本格式:类型说明符(*函数名)()。其中,类型说明符表示返回的指针值指向的数据类型。

  • 第7题:

    以下能正确对整型数组赋初值的语句是______。

    A.int a[4]={1,2,3,4,5};

    B.int a[2][2]={1,2,3,4,5};

    C.int a[4]={'1','2','3','4');

    D.int a[3][]={1,2,3,4,5,6};


    正确答案:C
    解析:A、B定义的数组长度小于花括号中数据的个数,C是将数字字符的ASCII码值作为整数赋给整型数组的各元素,D是定义二维数组,第二维的长度不能缺省。

  • 第8题:

    下列定义数组的语句中,正确的是( )。

    A.int N=10; int x[N];

    B.#define N 10 int x[N];

    C.int x[0..10];

    D.int x[];


    正确答案:B

  • 第9题:

    以下定义数组中错误的是( )

    A.int a[10] ;

    B.int a [2] [20];

    C.int a[20] [];

    D.int a[] ;


    正确答案:C

  • 第10题:

    若有定义

    则a的定义与下面哪个语句等价

    A.int(*A.[10];

    B.int}g[10];

    C.int*a;

    D.int a[10];


    正确答案:B
    本题考查typedef的使用方法,typedef对已存在的类型使用一个新的名字,其中本题中int*用T来代替,所以定义Ta[10];就相当于是int*a[10];选项B正确。

  • 第11题:

    已知:int m=10;在下列定义引用的语句中,正确的是______。A.int &x=m;B.int y=&m;C.int &a

    已知:int m=10;在下列定义引用的语句中,正确的是______。

    A.int &x=m;

    B.int y=&m;

    C.int &z;

    D.int &t=&m;


    正确答案:A
    解析:正确的引用正是在变量定义时,在变量前面加上,‘&’。而inty=&m;的形式,意思是取得m的地址值赋给y。

  • 第12题:

    假定变量m定义为int m=7;则定义变量p的正确语句为( )。

    A.int p=&m;

    B.int *p=&m;

    C.int &p=*m;

    D.int *p=m;


    正确答案:B
    解析:将变量m的地址赋给指针p。

  • 第13题:

    下面哪条语句定义了5个元素的数组_________。

    A.int[]a={22,23,24,25,12};

    B.inta[]=newint(5);

    C.int[]arr;

    D.int[5]array;


    正确答案:A

  • 第14题:

    要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是

    A.int vect[ ]={30,50,-88};

    B.int veer[ ]={30,50,-88,0,0};

    C.int vect[5]={30,50,-88};

    D.int vect[5]={30,50,-88,0,0};


    正确答案:A
    解析:该定义的数组只有3个元素。

  • 第15题:

    以下能正确定义数组并正确赋初值的语句是______。

    A.int N=5, b[N=[N];

    B.int a[1][2]={{1}, {3}};

    C.int c[2][]={{1, 2}, {3, 4}};

    D.int d[3][2]={{1, 2}, {34}};


    正确答案:D
    解析:本题考查二维数组的定义。不能对数组进行动态定义,选项A错误;选项C省略第二维的长度;选项B中初值的行数超过数组第一维的长度。

  • 第16题:

    若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。

    A.int a[5]={0;

    B.int b[]:{0,0,0,0,0};

    C.int c[2+3];

    D.int i=5,d[i];


    正确答案:D
    解析:选项A中,其他元素会自动以0填充。选项C中维数是常量表达式,故没错。

  • 第17题:

    在下面语句中,其含义为“p为指向含n个元素的一维数组的指针变量”的定义语句是 ( )

    A.int p [n]

    B.int * p( );

    C.int * p(n);

    D.int( * p)[n]


    正确答案:D

  • 第18题:

    以下对一维数组c进行正确的定义初始化的语句是A.int c[10]=0; B.int c[10]={0}*10; C.int c[1]={0,0,0,0,0,0,0}; D.int c[10]={0};


    正确答案:D
    本题主要考查数组的定义和初始化。在本题中,考查的是一维数组的定义和初始化操作。一维数组的定义格式为:
         数据类型说明 数组名[n];
    一维数组的初始化格式为:
         数据类型说明 数组名[n]={元素1,元素2,……,元素n};
         或者
         数据类型说明 数组名[]={元素1,元素2,……,元素n};
    另外,在定义数组和初始化数组时需要注意:
    (1)定义数组时的n值只能使用常量,不能使用变量。
    (2)定义数组时可以不标明数组元素的个数,而是通过赋初值的方式确定。
    (3)数组初始化时,数组的元素类型必须与定义的类型一致,当初值的个数小于整型常量n时,编译系统会自动补0。一旦给定初值数超过n,编译系统将报错。
    综上所述,不难找出本题正确的答案为D,在选项A和B中,数组的定义方式都是正确的,但初始化的方法不正确;在选项C中,赋值的元素个数超过了数组定义的大小,在编译时系统会报错。

  • 第19题:

    在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是( )。A.int**q;

    在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是( )。

    A.int**q;

    B.int(*q);

    C.int*q;

    D.int*q;


    正确答案:B
    本题考查指针函数。其定义的基本格式为:类型说明符(*函数名)。“类型说明符”表示返回的指针值指向的数据类型。

  • 第20题:

    以下能正确定义二维数组的是______。

    A.int a[][3];

    B.int a[][3]=3{2*3};

    C.int a[3][3];

    D.int a [3][3]={{1},{2}};


    正确答案:C

  • 第21题:

    下列数组说明中,正确的是______。

    A.int array[][4];

    B.int array[][];

    C.int marray[][][5];

    D.int array[3][];


    正确答案:A

  • 第22题:

    已知:int n=1;在下面定义引用的语句中,正确的是( )。

    A.int x=&n;

    B.int &x =n;

    C.int &x;

    D.int &x=&n;


    正确答案:B
    解析:引用实际上就是别名,它与被引用变量拥有同一个地址空间。选项A) 中&m表示m的地址,而x是一个整型变量,在C++中不能从地址值隐式转换为整型值,故选项A) 是错的。选项B) 中其操作实际上就是为m赋于一个别名x,因此选项B)是对的。选项C) 中引用必须要用被引用的对象,即引用必须要初始化:选项D) 中x是一个整型引用,而其被引用的对象却是m的地址,存在着与选项A) 类似的错误,因此选项D) 也是错的。

  • 第23题:

    有定义语句:“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*型指针。