参考答案和解析
正确答案:B
解析:C语言中,二维数组中元素的排列顺序是:先按行存放,再按列存放,并且要有足够的空间来保证定义的数组长度始终大于等于需要存放的元素的长度。选项B中行数定义为2行,但实际却需要存放3行元素故不正确。
更多“以下数组定义中错误的是______。A.int x[][3]={0};B.int x[2][3]={{1,2},{3,4},{5,6}};C.int x[][3]={{1,2,3},{4,5,6}};D.int x[][3]={1,2,3,4,5,6};”相关问题
  • 第1题:

    下列错误的定义语句是( )。

    A.int x[ ][3]={{0},{1},{1,2,3}};

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

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

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


    正确答案:C
    解析:一维数组定义和初始化是允许省略行下标,不允许省略列下标,故选项C)定义错误。

  • 第2题:

    以下数组定义中错误的是

    A.int x[][3]={0};

    B.int x[2][3]={{l,2},{3,4},{5,6}};

    C.int x[][3]={{l,2,3},{4,5,6}};

    D.int x[2][3]={l,2,3,4,5,6};


    正确答案:B
    解析:二维数组的初始化有以下几种形式:①分行进行初始化;②不分行进行初始化;③部分数组元素进行初始化;④省略第一维的定义,不省略第二维的定义。选项B)等号右边分了3行,大于等号左边数组的行数2。

  • 第3题:

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

    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},{3,4}};


    正确答案:D

  • 第4题:

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

    A.int a[ ][3];

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

    C.int a[ ][3]={};

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


    正确答案:B
    解析:选项A、C不能确定数组的大小,选项D初始化数据错误,因为多维数组初始化时,可以用一个{}把所有值包含,值之间用“,”分隔,如果是多维数组,在{} 中可包含第一维数量的{},每 一个{}中包含第二维数量的值,如int a [3]  [4]  =  {  {1,2,3,4},  {1,2,3,4},  {1,2,3,4{};

  • 第5题:

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

    A.int x[][3]={0};

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

    C.int x[][3]={{1,2,3},{4,5,6}};

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


    正确答案:B
    解析:选项B)中行数定义为2,但实际需要存放3行元素,所以错误。

  • 第6题:

    以下不能正确定义二维数组的选项是( )。

    A.int a[2][12]={{1},{2}};

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

    C.int a[2][2]={{1},2,3}:

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


    正确答案:D
    解析:在定义中如果对所有元素赋初值,其第1维的长度可以省略,故选项B正确;二维数组初始化也可以只对每行或前若干个行的前若干个元素赋初值,故选项A和选项C正确:在二维数组定义时不能省略第二维的长度,故选项D错误。所以,4个选项中选项D符合题意。

  • 第7题:

    以下不能对二维数组arr进行正确初始化的语句是()

    A.int arr[2][3]={0}

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

    C.int arr[2][3]={{1,2},{3,4},{5,6}}

    D.int arr[2][3]={{1},{3,4,5}}


    参考答案:C

  • 第8题:

    以下数组定义中错误的是______。

    A.intx[][3]={0};

    B.int x[2][3]={{1,2},{3,4},{5,6)};

    C.intx[][3]={{1,2,3},{4,5,6}};

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


    正确答案:B
    解析: 二维数组赋初值时,第一个维数即行数可以省略,但是列数不能省略。因此选项A、C正确。选项D是按数据在二维数组中的顺序初始化。在选项B中,列维数的初始化格式跟定义的维数不一致,为错误选项。

  • 第9题:

    下面能正确定义数组,并正确赋值的语句是_______。

    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
    解析:可以用下面的方法对二维数组初始化:
      1、分行给二维数组赋初值。如int a [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};。
      2、将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。如int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};。
      3、对部分元素赋初值。如int a[3][4]={{1},{5},{9}};,它的作用是只对各行第一列的元素赋初值,其余元素值自动为0。
      4、如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一锥的长度可以不指定,但第二锥的长度不能省。如int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};与下面的定义等价:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};。

  • 第10题:

    以下数组定义中不正确的是 ______。

    A.int a[2][3]

    B.int b[][3]={0};

    C.int c[1][1]={0};

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


    正确答案:D

  • 第11题:

    下列二维数组初始化语句中,不正确的是( )。

    A.int b[][2]={1,2,3,4,5,6,7};

    B.int b[3][5]={0,0,0};

    C.int b[][4]={{1,2},{3,4,5),{6}};

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


    正确答案:D
    解析:在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0:C语言规定,对于二维数组,只可以省略第1个方括号中的常量表达式,而不能省略第2个方括号中的常量表达式;赋的初值不能多于事先定义好的数组元素个数。选项D)赋值表达式中对每一维的元素赋初值应用{},而不是()。

  • 第12题:

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

    • A、int x[][3]={0};
    • B、int x[2][3]={{1,2},{3,4},{5,6}};
    • C、int x[][3]={{1,2,3},{4,5,6}};
    • D、int x[2][3]={1,2,3,4,5,6};

    正确答案:B

  • 第13题:

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

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

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

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

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


    正确答案:D
    解析:选项D在定义数组a时没有指定第二维的长度,错误。

  • 第14题:

    以下错误的定义语句是

    A.int x[][3]={{0},{1},{1,2,3}};

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

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

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


    正确答案:C
    解析:本题考查的是二维数组的定义和初始化方法。C语言中,在定义并初始化二维数组时,可以省略数组第一维的长度,但是不能省略第二维的长度。故选项C)错误。

  • 第15题:

    以下数组定义中不正确的是______。

    A.int a[2][3];

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

    C.int c[100][100]={0};

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


    正确答案:D
    解析:一维数组的定义方式为:类型说明符数组名[常量表达式];选项A符合此定义形式,正确;C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确;另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。

  • 第16题:

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

    A.int a[][3];

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

    C.int a[][3]={};

    D.int a[2][3]一{{1),{2},{3,4}};


    正确答案:B
    选项A中对于二维数组,必须通过赋值的个数来确定其长度,没有赋值则无法确定,选项C中赋的是空值,也不能确定其行下标,而选项D中定义的两行三列,而赋值的却是三行两列。

  • 第17题:

    以下数组定义中不正确的是 ______。

    A.int a[2][3];

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

    C.int c[100][100]{0};

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


    正确答案:D
    解析:一维数组的定义方式为:
    类型说明符数组名[常量表达式];
    选项A符合此定义形式,正确;C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确;另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。

  • 第18题:

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

    A.int x[][3]={0};

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

    C.int x[][3]={{1,2,3},{4,5,6}};

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


    正确答案:B

  • 第19题:

    以下对二维数组a进行正确初始化的是( )

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

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

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

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


    正确答案:B

  • 第20题:

    下面对二维数组s的初始化语句,正确的是( )。

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

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

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

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


    正确答案:B
    解析:选项A定义的是三行两列的数组,选项C、D错误地省略了第二维的长度声明。二维数组及多维数组定义的简化形式中,可以省略一个或多个括号,甚至只保留最外层的括号。因此正确答案是选项B。

  • 第21题:

    以下数组定义中错误的是

    A.int x[][3]={0};

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

    C.int x[][3]={{1,2,3},{4,5,6}};

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


    正确答案:B
    解析: 二维数组的初始化有以下几种形式:①分行进行初始化;②不分行的初始化;③部分数组元素初始化;④省略第一维的定义,不省略第二维的定义。选项B)等号右边分了3行,大于等号左边数组的行数2。

  • 第22题:

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

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

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

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

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


    正确答案:D
    解析:选项A中,数组的长度使用了变量N,而在C中是不能用变量来定义数组的的长度的。在C语言中,给二维数组赋初值时,行数不能超过定义的行数,每行的初值个数不能超过定义时的列数。选项C数组的第二维下标缺省,而在C语言中,数组的第二维下标不能缺省。

  • 第23题:

    试题26

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

    A.int num[]={1,2,3,4,5,6}

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

    C.int num[2][4]={{1,2},{3,4},{5,6}}

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


    正确答案:C
    试题26分析
    num[2][4]说明数组num有2行4列,而C项num[2][4]={{1,2},{3,4},{5,6}}说明它由3行,与定义不符。
    试题26答案
    C