内容正文:
专题十四 二维数组的定义和使用
一、选择题
1.【2019山东春考题】以下程序的运行结果是( )
#include<stdio.h>
main( )
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int i=0,j=0,s=0;
while(i++<4)
{ if(i==2||i==4)
continue;
j=0;
do{
s+=a[i][j];
j++;
}while(j<4);
}
printf("%d”,s);
}
A. 100
B. 84
C. 68
D. 36
2.已知:int a[3][4];,则对数组元素引用正确的是( )。
A.a[2][4]
B.a[1, 3]
C.a[1+1][0]
D.a(2)(1)
3.已知:int a[3][4];,则对数组元素的非法引用是( )。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
4.若有说明:int a[][3]={1, 2, 3, 4, 5, 6, 7};,则a数组第一维的大小是( )。
A.2
B.3
C.4
D.无确定值
二、简答题
1.读程序,写结果
#include <stdio.h>
main( )
{int s[5][5],i,j;
for(i=0;i<5;i++ )
s[i][0]=s[4][i]=1;
for(i=1;i<5;i++ )
for(j=3;j>=0;j--)
s[j][i]=s[j+1][i]+s[j][i-1];
for(i=0;i<5;i++ )
{ for(j=0;j<5;j++)
printf(" %4d" ,s[i][i]);
printf("
") ;
}
}
三、案例分析题
1.以下程序的输出结果如图3-2所示,每行的最左和最右元素均为1,中间的每个元素等于
其左上方和上方两个元素之和,每个元索的宽度为4且左对齐.请完成程序填空。【2020春考题】
#include <stdio.h>
main( )
{ int a[8][8],ij;
for(i=0;i<8;i++)
{ a[i][0]=1;
【1】 =1;}
for(i=2;i<8;i++)
for(j=1;__【2】 j++)
a[i][j]=__【3】
for(i=0;i<8;i++)
{ for(j=0:j<=i:j++)
printf( 【4】 );
【5】
}
}
四、综合应用题
1.设计程序,程序的功能为输入一个3*4的矩阵,找出矩阵中负数的个数并输出。
原创精品资源学科网独家享有版权,侵权必究!
$$
专题十四 二维数组的定义和使用
一、选择题
1.【2019山东春考题】以下程序的运行结果是( )
#include<stdio.h>
main( )
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int i=0,j=0,s=0;
while(i++<4)
{ if(i==2||i==4)
continue;
j=0;
do{
s+=a[i][j];
j++;
}while(j<4);
}
printf("%d”,s);
}
A. 100
B. 84
C. 68
D. 36
答案:B
解析:本题考察二维数组元素的引用。首先i=0 时,执行while循环,1自加变1,if语句不成立,把{5,6,7,8}加入s中,执行while语句,成立,if语句不成立,执行while语句i变成3。
2.已知:int a[3][4];,则对数组元素引用正确的是( )。
A.a[2][4]
B.a[1, 3]
C.a[1+1][0]
D.a(2)(1)
答案:C
解析:本题考查二维数组元素的引用,数组名[行标][列标],注意数组下标从0开始,长度-1结束。
3.已知:int a[3][4];,则对数组元素的非法引用是( )。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
答案:D
解析:本题考查二维数组元素的引用,数组名[行标][列标],注意数组下标从0开始,长度-1结束。
4.若有说明:int a[][3]={1, 2, 3, 4, 5, 6, 7};,则a数组第一维的大小是( )。
A.2
B.3