以下数组定义中错误的是()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,6I};

题目

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

  • 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,6I};

相似考题
更多“以下数组定义中错误的是()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,6I};”相关问题
  • 第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语言中,在定义并初始化二维数组时,可以省略数组第一维的长度,但是不能省略第二维的长度。故选项C)错误。

  • 第2题:

    对于局部变量整型切片x的赋值,下面定义正确的是()

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

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

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

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


    参考答案:ACD

  • 第3题:

    在下面的一维数组定义中,错误的定义格式为()

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

    B.int a[10〕={0};

    C.int a[];

    D. int a[5];


    参考答案C

  • 第4题:

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

    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};


    正确答案:B
    解析:C语言中,二维数组中元素的排列顺序是:先按行存放,再按列存放,并且要有足够的空间来保证定义的数组长度始终大于等于需要存放的元素的长度。选项B中行数定义为2行,但实际却需要存放3行元素故不正确。

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

  • 第7题:

    有以下程序

    #include<stdio.h>

    int fun()

    {static int x=l:

    X*=2:

    return X:

    }

    main()

    {int i,s=l:

    for(i=l;i<=3,i++) s*=fun();

    printf(“%d\n”,s);

    }

    程序运行后的输出结果是

    A.0

    B.10

    C.30

    D.64


    正确答案:B
    解析:fun函数中的变量x为静态局部变量,它在内存的静态存储区中占据着永久性的存储单元.即使退出fun函数也不释放x的存储单元,仍保留其原来的值,函数共调用了3次fun函数,第一次调用fun函数后,x=2,s=2;第二次调用fun函数后,x=l,s=8;第三次调用fun函数后.x=8,s=64。故程序运行后输出结果为64。

  • 第8题:

    定义变量和数组如下:int i;int x[3][3]=(1,2,3,4,5,6,7,8,9);则语句for(i=0;i<3;i++)printf(”%d”,x[1][2-i]);的输出结果是 ( )


    正确答案:C

  • 第9题:

    以下能对二维数组a进行正确初始化的语句是

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

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

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

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


    正确答案:B
    解析:在初始化语句时,需要注意下面几点:①所赋初值个数与数组元素的个数相同;②每行所赋初值个数与数组元素的个数不同时,系统将自动给该行其余的元素补初值0;③所赋初值行数少于数组行数时,系统将自动给后面各行的元素补初值0;④赋初值时省略行花括号对。在给二维数组赋初值时可以不用行花括号对。注意:选项A)中省略了第二维的大小,所以是错误的;选项C)超出了数组的定义范围,所以是错误的;选项D)在初始化赋值的时候出现了错误。注意:无论是几维的数组,下标都是从零开始的。

  • 第10题:

    以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


    正确答案:xar[i][j]
    xar[i][j] 解析:本题考查的是循环的嵌套。本题定义了二维数组a,存放3行4列的数组元素,定义了,一维数组b用于存放每行的最大数。存函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数。当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行求出最大值x赋值给存放最大值的数组br,故本题答案为xar[i][j]。

  • 第11题:

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

    • 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

  • 第12题:

    单选题
    以下数组定义中错误的是()
    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,6I};


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

  • 第13题:

    请读程序: include f(int b[],int n) { int i,r; r=l; for(i=0;i<=n;i++

    请读程序: # include<stdio.h> f(int b[],int n) { int i,r; r=l; for(i=0;i<=n;i++)r=r*b[i]; return r; } main() { int x a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf ("%d\n",x); } 上面程序的输出结果是 ( )

    A.720

    B.120

    C.24

    D.6


    正确答案:B

  • 第14题:

    在下面的一维数组定义中,()语句有语法错误。

    A.inta[]={l,2,3};

    B.int a[10]={0};

    C.int a[]="abcdef";

    D.int a[5]


    参考答案C

  • 第15题:

    以下程序运行后的输出结果是 。

    include

    main()

    {FILE*fp;int x[6]={l,2,3,4,5,6},i;

    fp=fopen(“test.dat”,”wb“);

    fwrite(x,sizeof(int),3,fp);

    rewind(fp);

    fread(x,sizeof(int),3,f}]);

    for(i=0;i<6;i++)printf(“%d”,x[i]);

    printf(“\n”);

    fclose(fp);

    }


    正确答案:123456
    123456

  • 第16题:

    请选出以下程序的输出结果includemain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i<4;i

    请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }

    A.1 2 3 4

    B.4 3 2 1

    C.0

    D.4444


    正确答案:C
    解析:若指针s指向数组a,则s[t]可以引用数组a中下标为t的元素。注意:通过数组的首地址引用数组元素。

  • 第17题:

    以下程序的输出结果是______。 int x=3; main() { int i; for(i=1; i<x; i++) incre(); } incre() { static int x=1; x*=x+1; printf(" % d", x); }

    A.3 3

    B.2 2

    C.2 6

    D.2 5


    正确答案:C
    解析:C语言规定如果全局变量与局部变量同名,则在局部变量的作用域内全局变量不起作用。程序开头定义的变量x为全局变量,函数incre中定义的变量x是局部静态变量,存放在静态存储区,incre调用结束后不释放x占据的存储单元。main函数中使用的x是全局变量x=3,所以main函数中调用函数incre两次。调用过程如下。第1次调用:x=x*(x+1)=1×(1+1)=2,printf函数输出2;第2次调用:x=x*(x+1)=2×(2+1)=6,printf函数输出6。

  • 第18题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第19题:

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

    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中,列维数的初始化格式跟定义的维数不一致,为错误选项。

  • 第20题:

    以下数组定义中错误的是

    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。

  • 第21题:

    以下程序的执行结果是______ include int f(int b[],int n) { int i,r=l; for(i=0;

    以下程序的执行结果是______

    include<iostrearn.h>

    int f(int b[],int n)

    {

    int i,r=l;

    for(i=0;i<n;i++)

    r=r*b[i];

    return r;

    }

    void main()

    {

    int x,a[]= {2,3,4,5,6,7,8,9};

    x=f(a,3):

    cout<<x<<endl;

    }


    正确答案:120
    120

  • 第22题:

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

    • 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

  • 第23题:

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

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

    正确答案:C