内容正文:
5.2 二维数组的定义和使用
【基础巩固】
(填空)有以下程序
main( )
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++) s+=a[i][j];
printf("%d
",s);
}
该程序的输出结果是( )。
答案:18
1. (单选)以下对二维数组a的正确说明是( )。
A.int a[3][]; B.float a(3,4);
C.double a[1][4]; D.float a(3)(4);
答案:C
2. (单选)若有说明: int a[3][4];则对a数组元素的正确引用是( )。
A. a[2][4] B.a[1,3]
C.a[1+1][0] D.a(2)(1)
答案:C
4.(单选)若有说明: int a[3][4];则对a数组元素的非法引用是( )。
A.a[0][2*1] B.a[1][3] C)a[4-2][0]
C. a[4-2][0] D.a[0][4]
答案:D
【能力进阶】
5.(单选)以下能对二维数组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
6.(单选)以下不能对二维数组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
7.(单选)若有说明: int a[3][4]={0};则下面正确的叙述是( )。
A.只有元素a[0][0]可以得到初值0
B.此说明语句不正确
C.数组中各元素都可以得到初值,但其值不一定为0
D.数组中每个元素均可得到初值0
8.(单选) 若有说明: int a[][4]={0,0};则下面不正确的叙述是( )。
A.数组a的每个元素都可得到初值0
B.二维数组a的第一维大小为 1
C.因为二维数组a中第二维大小的值除初值个数的商为0,故数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0 ,期余元素均得不到初值0
答案:C
7.(单选)若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)( )。
A.i*m+j B.j*m+i
C.i*m+j-1 D.i*m+j+1
答案:D
8.(单选)若有说明: int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( )。
A.2 B.3
C.4 D.无法确定
答案:B
【自我评价】
【教师评价】
精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
5.2 二维数组的定义和使用
【基础巩固】
(填空)有以下程序
main( )
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++) s+=a[i][j];
printf("%d
",s);
}
该程序的输出结果是( )。
1. (单选)以下对二维数组a的正确说明是( )。
A.int a[3][]; B.float a(3,4);
C.double a[1][4]; D.float a(3)(4);
2. (单选)若有说明: int a[3][4];则对a数组元素的正确引用是( )。
A. a[2][4] B.a[1,3]
C.a[1+1][0] D.a(2)(1)
4.(单选)若有