参考答案和解析
正确答案:D
更多“下列定义数组的语句中不正确的是().A、static int a[2][3]={1,2,3,4,5,6};B、static int a[2][3]={{1},{4,5}};C、static int a[][3]={{1},{4}};D、static int a[][]={{1,2,3},{4,5,6}};”相关问题
  • 第1题:

    根据变量定义“static int x[5],y[2][3]={9,6,3,1,4,7};”,x[4]=【 】,y[1][2]=【 】。


    正确答案:0 7
    0 7

  • 第2题:

    下面语句中不能定义一个数组,元素值依次分别为1,1,1,0,0的是______。

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

    B.static int a[5]={1,1,1};

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

    D.static int a[5]={1*2,0*3};


    正确答案:D
    解析:不可能用表达式的方式来给数组元素一一赋值。

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


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

  • 第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[2][3]={1,2,3,4,5,6};


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

  • 第5题:

    下面对二维数组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。

  • 第6题:

    有以下程序: include int a =2;int f(int n){ static int a: 3;intt=0;if(n%2){ stat

    有以下程序: #include <stdio, h>int a =2;int f(int n){ static int a: 3; int t=0; if(n%2){ static int a=4;t+ =a++;} else { static int a=5;t+ :a++;} return t + a + +;main ( ){ int s=a,i; for(i=0;i<3;i++)s + =f(i); prinff("% d \n" ,s); }程序运行后的输出结果是( )。

    A.26

    B.28

    C.29

    D.24


    正确答案:C
    解析:在函数外面定义的变量a是全局变量,其作用范围从定义该变量的位置开始到本文件的结束;在f函数中的if子句(复合语句)和else子句中定义的变量a是局部变量,其作用范围只在其所在的复合语句内;在f函数中定义的第一个变量a是静态局部变量,其作用范围只限于函数f内部,无论被调用多少次都只初始化一次,并且保留上次函数调用结束时的值,该变量不对复合语句产生作用,所以,f函数的返回值是这个a变量和t值相加的结果。

  • 第7题:

    下列定义正确的是( )

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

    B.int b[]={2,5}

    C.int a(10)

    D.int 4e[4]


    正确答案:A

  • 第8题:

    以下能对二维数组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]={{1,2,3},{4,5},{6}};
    D.int a[][3]={{1,0,1},{},{1,1}};

    答案:B
    解析:

  • 第9题:

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

    • 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

  • 第10题:

    下列语句中,不能正确定义长度为4的数组a的语句是()

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

    正确答案:C

  • 第11题:

    单选题
    下列语句中,不能正确定义长度为4的数组a的语句是()
    A

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

    B

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

    C

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

    D

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


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

  • 第12题:

    多选题
    Which two code fragments correctly create and initialize a static array of int elements?()
    A

    static final int[] a = { 100,200 };

    B

    static final int[] a; static { a=new int[2]; a[0]=100; a[1]=200; }

    C

    static final int[] a = new int[2] { 100,200 };

    D

    static final int[] a; static void init() { a = new int[3]; a[0]=100; a[1]=200; }


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

  • 第13题:

    Which two code fragments correctly create and initialize a static array of int elements()

    A.static final int[]a={100,200};

    B.static final int[]a;static{a=new int[2];a[0]=100;a[1]=200;}

    C.static final int[]a=new int[2]{100,200};

    D.static final int[]a;static void int(){a=new int[3];a[0]=100;a[1]=200;}


    参考答案:A, B

  • 第14题:

    有以下程序: int a=2; int f(int n) { static int a=3; int t=0; if(n % 2)(static int a=4; t+=a++;} else{static int a=5; t+=a++;} return t+a++; } matin() { int s=a, i; for(i=0; i<3; i++)s+=f(i); printf("% d\n", s); } 程序运行后的输出结果是______。

    A.26

    B.28

    C.29

    D.24


    正确答案:C
    解析:在某一函数中当全局变量与局部变量同名时,则在该函数中,全局变量被屏蔽,访问的是局部变量。因此,t+a++中的a用的是static int a=3的这个a。if语句的执行是当n是偶数时,执行else的部分,否则执行其后的部分。因此,当i=0时,t=5,s=2+8=10;i=1时,t=4,s=10+8=18;当i=2时,t=6,s=18+11=29。

  • 第15题:

    有如下头文件: int fl; static int f2; class MA{ public: int f3; static int f4; }; 在所描述的函数中,具有隐含的this指针的是( )。

    A.fl

    B.f2

    C.f3

    D.f4


    正确答案:C
    只有类的非静态成员函数才隐含this指针。其作用域是类内部,当类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数,而不必一定写上this。所以本题答案为C。

  • 第16题:

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

    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

  • 第17题:

    以下数组定义中错误的是

    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。

  • 第18题:

    有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2) {static int a=4; t+=a++;} else {static int a=5; t+=a++;} return t+a++; } main ( ) { int s=a, i; for (i=0;i<3; i++) s+=f (i) print f ("%d\n" , s ); } 程序运行后的输出结果是

    A.26

    B.28

    C.29

    D.24


    正确答案:C
    解析:全局变量的生存期是整个程序的运行期间,作用域是从变量定义的位置开始,到整个源文件结束止。但是,若全局变量和某一函数或语句块中的局部变量同名,则在该函数或语句块中,此全局变量被屏蔽,即在该函数或语句块内,访问的是局部变量,与同名的全局变量不发生任何关系。静态局部变量的生存期与全局变量相同,作用域和局部变量一样都是整个函数成语旬块内有效。程序第一行定义了一个全局变量a,在f()函数开头也定义了一个静态局部变量a,而且在后面if语句的两个子句中都定义了静态局部变量a。这4个变量a虽然名字一样,但却是4个独立的变量,而且在整个程序运行期都存在。在主函数中,在定义变量s时将s初始化为全局变量a的值2,然后使用一个for循环分别调用了3次f(0)、f(1)、f(2),并将得到的值累加到变量s中。第1次调用n=0为偶数,执行else子句,此时t累加的是else子句中的变量a,所以执行后else子句中的a变为6,t变为5,然后return语句中的a是函数f()开头定义的a,执行后函数开头的a变为4,所以返回值是5+3=8。第2次调用n为1是奇数,执行if子句,所以t变为4,if子句中的a变为5,然后返回时函数开头的a变为5,返回值是4+4=8。第3次调用n为2是偶数,又执行else子句,else子句中的a现在还是上次执行后的值6,所以t=6,然后返回时加上函数开头的a的当前值5,最后返回11。所以s最终的值是2+8+8+11=29。故应该选择C。

  • 第19题:

    下列二维数组初始化语句中,正确且与语句int a[][3]={1,2,3,4,5}等价的是( )。

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

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

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

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


    正确答案:B

  • 第20题:

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

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

    正确答案:A

  • 第21题:

    Which two code fragments correctly create and initialize a static array of int elements()

    • A、static final int[]a={100,200};
    • B、static final int[]a;static{a=new int[2];a[0]=100;a[1]=200;}
    • C、static final int[]a=new int[2]{100,200};
    • D、static final int[]a;static void int(){a=new int[3];a[0]=100;a[1]=200;}

    正确答案:A,B

  • 第22题:

    Which two code fragments correctly create and initialize a static array of int elements?()

    • A、static final int[] a = { 100,200 };
    • B、static final int[] a; static { a=new int[2]; a[0]=100; a[1]=200; }
    • C、static final int[] a = new int[2]{ 100,200 };
    • D、static final int[] a; static void init() { a = new int[3]; a[0]=100; a[1]=200; }

    正确答案:A,B

  • 第23题:

    多选题
    Which two code fragments correctly create and initialize a static array of int elements()
    A

    static final int[]a={100,200};

    B

    static final int[]a;static{a=new int[2];a[0]=100;a[1]=200;}

    C

    static final int[]a=new int[2]{100,200};

    D

    static final int[]a;static void int(){a=new int[3];a[0]=100;a[1]=200;}


    正确答案: C,A
    解析: 暂无解析