第27练 第6章 二维数组的定义、引用与初始化《C语言程序设计》(电子工业出版社)一课一练
|
2份
|
6页
|
51人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第27练,内容涵盖第6章数组的6.2.1~6.2.3 二维数组的定义、引用与初始化。
《C语言程序设计》(电子工业出版社)一课一练 第27练
第6章 数组
6.2.1~6.2.3 二维数组的定义、引用与初始化
1、 单项选择题(本题共4小题)
1、以下关于二维数组定义语句int arr[2][4];的描述,错误的是( )
A. 该数组的元素类型为整型
B. 数组arr共有 2 行 4 列,总计 8 个元素
C. 数组元素的行下标取值范围是 1 到 2,列下标取值范围是 1 到 4
D. 数组的第一个元素是arr[0][0]
【答案】C
【解析】二维数组的下标从 0 开始,因此arr数组的行下标取值范围是 0 到 1,列下标取值范围是 0 到 3,选项 C 的描述错误。
2、下列二维数组定义中,语法正确的是( )
A. int a[2,3];
B. int b[][3] = {1,2,3,4,5,6};
C. int c[3][];
D. int d [2][] = {1,2,3,4};
【答案】B
【解析】选项 A 格式错误,二维数组行列需用[]分别表示,不能用逗号形式;选项 C、D 错误,二维数组定义不允许省略第二维长度;选项 B 语法规则合法,全部元素初始化时可省略第一维长度,编译器可根据元素个数和第二维长度自动计算行数。
3、二维数组元素的引用格式为数组名[行下标][列下标],下列关于下标的说法正确的是( )
A. 下标只能是整型常量
B. 下标可以是任意类型的表达式
C. 下标可以是整型常量或整型表达式
D. 下标取值可以超过数组定义的范围
【答案】C
【解析】根据二维数组元素引用规则,下标可以是整型常量或整型表达式,选项 A 过于局限,选项 B 的 “任意类型” 错误,选项 D 的下标超出范围会导致越界错误,因此正确答案是 C。
4、若定义int a[2][3] = {{1},{2}};,则数组元素a[0][2]的值是( )
A. 0
B. 2
C. 1
D. 不确定
【答案】A
【解析】当对二维数组部分元素赋初值时,未被赋值的元素会自动初始化为 0,a[0][2]属于第一行未被赋值的元素,因此其值为 0。
2、 判断题(本题共3题)
1、二维数组定义时,常量表达式 1 表示列数,常量表达式 2 表示行数。( )
【答案】×
【解析】常量表达式 1 设置数组的行数,常量表达式 2 设置数组的列数,因此该表述错误。
2、在引用二维数组元素时,下标可以是整型变量或整型表达式。( )
【答案】√
【解析】二维数组元素的下标允许是整型常量、整型变量或整型表达式,只要最终结果为整型即可,因此该表述正确。
3、定义二维数组时,如果对全部元素赋初值,那么第二维的长度可以省略不写。( )
【答案】×
【解析】对全部元素赋初值时,只能省略第一维的长度,第二维的长度必须明确指定,否则编译器无法确定数组的列数,因此该表述错误。
3、 填空题(本题共2题)
1、二维数组的定义格式为:类型标识符 数组名 [][];。
【答案】常量表达式 1;常量表达式 2
【解析】根据二维数组的定义规则,第一个方括号内的常量表达式用于指定数组的行数,第二个方括号内的常量表达式用于指定数组的列数。这样的定义格式能明确二维数组的结构和元素数量。
2、若定义int b[3][2] = {{1,2},{},{3}};,则数组元素b[1][0]的值为____。
【答案】0
【解析】当二维数组进行部分元素初始化时,未被显式赋值的元素会被自动初始化为 0。b[1][0]属于第二行未被赋值的元素,因此其值为 0。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int arr[2][3] = {{10,20}, {30}};
printf("%d %d %d
", arr[0][0], arr[0][2], arr[1][1]);
return 0;
}
【答案】
程序运行结果:
10 0 0
【解析】
程序中定义了一个 2 行 3 列的二维数组arr,初始化时第一行赋值了前两个元素 10 和 20,第二行赋值了第一个元素 30,其余未赋值的元素自动为 0。printf语句依次输出arr[0][0](10)、arr[0][2](0)、arr[1][1](0),因此输出结果为 10 0 0。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第27练,内容涵盖第6章数组的6.2.1~6.2.3 二维数组的定义、引用与初始化。
《C语言程序设计》(电子工业出版社)一课一练 第27练
第6章 数组
6.2.1~6.2.3 二维数组的定义、引用与初始化
1、 单项选择题(本题共4小题)
1、以下关于二维数组定义语句int arr[2][4];的描述,错误的是( )
A. 该数组的元素类型为整型
B. 数组arr共有 2 行 4 列,总计 8 个元素
C. 数组元素的行下标取值范围是 1 到 2,列下标取值范围是 1 到 4
D. 数组的第一个元素是arr[0][0]
2、下列二维数组定义中,语法正确的是( )
A. int a[2,3];
B. int b[][3] = {1,2,3,4,5,6};
C. int c[3][];
D. int d [2][] = {1,2,3,4};
3、二维数组元素的引用格式为数组名[行下标][列下标],下列关于下标的说法正确的是( )
A. 下标只能是整型常量
B. 下标可以是任意类型的表达式
C. 下标可以是整型常量或整型表达式
D. 下标取值可以超过数组定义的范围
4、若定义int a[2][3] = {{1},{2}};,则数组元素a[0][2]的值是( )
A. 0
B. 2
C. 1
D. 不确定
2、 判断题(本题共3题)
1、二维数组定义时,常量表达式 1 表示列数,常量表达式 2 表示行数。( )
2、在引用二维数组元素时,下标可以是整型变量或整型表达式。( )
3、定义二维数组时,如果对全部元素赋初值,那么第二维的长度可以省略不写。( )
3、 填空题(本题共2题)
1、二维数组的定义格式为:类型标识符 数组名 [][];。
2、若定义int b[3][2] = {{1,2},{},{3}};,则数组元素b[1][0]的值为____。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int arr[2][3] = {{10,20}, {30}};
printf("%d %d %d
", arr[0][0], arr[0][2], arr[1][1]);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$