第24练 单元6 二维数组《C语言程序设计》(高教版第2版)一课一练
|
2份
|
5页
|
29人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元6的第24练,内容涵盖单元6“考试系统”的数据存储的6.2.2 二维数组。
《C语言程序设计》(高教版第2版)一课一练 第24练
单元6 “考试系统”的数据存储
6.2.2 二维数组
1、 单项选择题(本题共5小题)
1、以下关于二维数组定义的语法,正确的是( )
A. int a[3,4];
B. int a[][];
C. int a[3][4];
D. int a[3][];
【答案】C
【解析】二维数组定义要求两个下标分别放在独立的[]内,且第二维长度不能省略。选项 A 用逗号分隔下标语法错误;选项 B、D 省略了必要的下标长度,不符合定义规则;只有选项 C 的格式完全正确。
2、执行语句int a[][4] = {{1,2},{3}};后,数组a的行数是( )
A. 1
B. 2
C. 3
D. 4
【答案】B
【解析】初始化二维数组时,分行赋值的大括号数量代表行数。该语句有 2 个大括号,因此系统推算第一维长度为 2,数组为 2 行 4 列。
3、二维数组int a[2][3]在内存中的存储顺序是( )
A. 按列优先:a [0][0]→a [1][0]→a [0][1]→a [1][1]→a [0][2]→a [1][2]
B. 按行优先:a [0][0]→a [0][1]→a [0][2]→a [1][0]→a [1][1]→a [1][2]
C. 随机存储
D. 按元素下标从小到大无序存储
【答案】B
【解析】二维数组的物理存储规律是按行排列,即先完整存储第 0 行的所有元素,再依次存储第 1 行及后续行的元素,符合选项 B 的顺序。
4、已知二维数组int a[3][4];,以下合法的元素引用是( )
A. a[0][0]
B. a[0,0]
C. a[3][0]
D. a[0][4]
【答案】A
【解析】二维数组元素引用需用数组名[行下标][列下标]的格式,且下标不能越界。选项 B 用逗号分隔下标语法错误;选项 C 行下标 3 超出 0~2 的范围;选项 D 列下标 4 超出 0~3 的范围;只有选项 A 符合引用规则。
5、执行语句int a[2][3] = {1,2};后,元素a[1][0]的值是( )
A. 1
B. 2
C. 3
D. 0
【答案】D
【解析】二维数组部分初始化时,未赋值的元素会自动初始化为 0。该语句仅赋值了前 2 个元素,a[1][0]属于未赋值元素,因此值为 0。
2、 判断题(本题共3题)
1、二维数组的定义可以写成int a[3,4];,表示 3 行 4 列的数组。( )
【答案】×
【解析】二维数组的两个下标必须分别放在独立的方括号[]内,不能用逗号分隔,因此该写法语法错误。
2、初始化二维数组时,若省略第一维的长度,必须通过分行赋值或给出所有元素值,让系统自动推算行数。( )
【答案】√
【解析】省略第一维长度时,系统需要根据元素总数和第二维长度,或分行赋值的大括号数量来确定行数,这是二维数组初始化的合法简化写法。
3、二维数组在内存中是按列优先的顺序存储元素的。( )
【答案】×
【解析】二维数组的物理存储顺序是按行优先,即先存储完一行的所有元素,再存储下一行的元素,而非按列优先。
3、 填空题(本题共2题)
1、二维数组在内存中的存储规律是____,即先完整存储第一行的所有元素,再依次存储后续行的元素。
【答案】按行优先存储(或按行排列)
【解析】该规律是二维数组物理存储的核心规则,保证元素在内存中连续存放,便于系统高效寻址和访问。
这种存储方式也与日常处理二维数据(如表格)的行优先逻辑一致,符合编程习惯。
2、当对二维数组的所有元素赋初值时,定义数组可以省略____的长度,系统会根据元素总数和第二维长度自动推算出该维度的数值。
【答案】第一维(或行)
【解析】这是二维数组初始化的简化写法,能减少代码冗余,同时保证数组结构的正确性。
例如int a[][4] = {1,2,3,4,5,6,7,8};,系统会自动推算第一维长度为 2。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元6的第24练,内容涵盖单元6“考试系统”的数据存储的6.2.2 二维数组。
《C语言程序设计》(高教版第2版)一课一练 第24练
单元6 “考试系统”的数据存储
6.2.2 二维数组
1、 单项选择题(本题共5小题)
1、以下关于二维数组定义的语法,正确的是( )
A. int a[3,4];
B. int a[][];
C. int a[3][4];
D. int a[3][];
2、执行语句int a[][4] = {{1,2},{3}};后,数组a的行数是( )
A. 1
B. 2
C. 3
D. 4
3、二维数组int a[2][3]在内存中的存储顺序是( )
A. 按列优先:a [0][0]→a [1][0]→a [0][1]→a [1][1]→a [0][2]→a [1][2]
B. 按行优先:a [0][0]→a [0][1]→a [0][2]→a [1][0]→a [1][1]→a [1][2]
C. 随机存储
D. 按元素下标从小到大无序存储
4、已知二维数组int a[3][4];,以下合法的元素引用是( )
A. a[0][0]
B. a[0,0]
C. a[3][0]
D. a[0][4]
5、执行语句int a[2][3] = {1,2};后,元素a[1][0]的值是( )
A. 1
B. 2
C. 3
D. 0
2、 判断题(本题共3题)
1、二维数组的定义可以写成int a[3,4];,表示 3 行 4 列的数组。( )
2、初始化二维数组时,若省略第一维的长度,必须通过分行赋值或给出所有元素值,让系统自动推算行数。( )
3、二维数组在内存中是按列优先的顺序存储元素的。( )
3、 填空题(本题共2题)
1、二维数组在内存中的存储规律是____,即先完整存储第一行的所有元素,再依次存储后续行的元素。
2、当对二维数组的所有元素赋初值时,定义数组可以省略____的长度,系统会根据元素总数和第二维长度自动推算出该维度的数值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$