第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; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第27练 第6章 二维数组的定义、引用与初始化《C语言程序设计》(电子工业出版社)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。