单选题若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是( )。Aint m[][3]={{1,2,3},{4,5,6},{7}};Bint m[][3]={{1,2},{3,4},{5,6,7}};Cint m[][3]={{1,2,3},{4,5},{6,7}};Dint m[][3]={{1},{2,3,4},{5,6,7}};
单选题
若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是( )。
A
int m[][3]={{1,2,3},{4,5,6},{7}};
B
int m[][3]={{1,2},{3,4},{5,6,7}};
C
int m[][3]={{1,2,3},{4,5},{6,7}};
D
int m[][3]={{1},{2,3,4},{5,6,7}};
参考解析
解析:
考查二维数组的初始化。二维数组的初始化有两种方式,①分行初始化,方式为:数据类型数组名[行下标表达式][列下标表达式]={{第0行初值},{第1行初值表},…{最后1行初值表}};,如果初值表只对部分元素赋初值,没有被赋初值的元素将被自动赋值为0。②不分行将所有数据依次列在一个花括号里,即数据类型数组名[行下标表达式][列下标表达式]={初值表};,这种方式的赋值就是将初值表的数据依次赋予数组的每个元素,其中赋值是按照数组元素在内存中的位置进行的。题目中的初始化语句是第二种方法,如果用第一种方法应该是int m[][3] = {{1,2,3}, {4,5,6}, {7}};,这里应该保证除r最后一行,每一行都满列有3个元素,答案选择A选项。
考查二维数组的初始化。二维数组的初始化有两种方式,①分行初始化,方式为:数据类型数组名[行下标表达式][列下标表达式]={{第0行初值},{第1行初值表},…{最后1行初值表}};,如果初值表只对部分元素赋初值,没有被赋初值的元素将被自动赋值为0。②不分行将所有数据依次列在一个花括号里,即数据类型数组名[行下标表达式][列下标表达式]={初值表};,这种方式的赋值就是将初值表的数据依次赋予数组的每个元素,其中赋值是按照数组元素在内存中的位置进行的。题目中的初始化语句是第二种方法,如果用第一种方法应该是int m[][3] = {{1,2,3}, {4,5,6}, {7}};,这里应该保证除r最后一行,每一行都满列有3个元素,答案选择A选项。
相关考题:
若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a; 若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a;B.p[0]=a;C.p[o]=&a[1][2];D.p[1]=&a;
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0 若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。A.-20B.-l0C.0D.10
若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是A.int m[][3j={{1,2,3},{4,5,6},{i 7}};B.int m[][3]={{1,2},{3,4},{5,6,7}};C.int m[][3]={{1,2,3},{4,5},{6,7}};D.int nl[][3]={{1},{2,3,4},{5,6,7}};
有定义语句:“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];
设有定义:int a,*p=a,* *pp=p;,则与a=100;等价的语句为()A.**p=100;B.**pp=100;C.a,* *pp=p;,则与a=100;等价的语句为( )A.**p=100;B.**pp=100;C.*p=100;D.*pp=10;
单选题若有定义:typedef int T[10];T *a[20];则与上述定义完全等价的说明语句是( )。Aint *a[20][10];Bint *a[20];Cint *a[10];Dint *a[10][20];
单选题若有定义语句:int a=12;,则执行语句:a+=a-=a*a;后,a的值是( )。A-264B552C144D264