第26练 第6章 一维数组程序举例《C语言程序设计》(电子工业出版社)一课一练

| 2份
| 7页
| 39人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第26练,内容涵盖第6章数组的6.1.4 一维数组程序举例。 《C语言程序设计》(电子工业出版社)一课一练 第26练 第6章 数组 6.1.4 一维数组程序举例 1、 单项选择题(本题共4小题) 1、编写程序从键盘输入 10 个数求最小值时,最小值变量的初始值最合适的设置是( ) A. 0 B. 100 C. 数组的第一个元素值 D. -100 【答案】C 【解析】如果初始值设为固定数值(如 0、100),当输入的所有数都小于或大于该固定值时,会导致最小值计算错误;将初始值设为数组第一个元素,能适配所有输入情况,保证结果准确。 2、用冒泡法对 n 个数进行排序,需要执行的排序趟数是( ) A. n-1趟 B. n趟 C. n+1 趟 D. 任意趟数 【答案】A 【解析】每一趟冒泡排序都会确定一个元素的最终位置,n 个数只需要确定 n-1 个元素的位置,最后一个元素会自动归位,因此只需执行 n-1 趟排序。 3、冒泡排序第一趟结束后,数组中确定位置的元素是( ) A. 最后一个元素 B. 第一个元素 C. 中间位置的元素 D. 任意位置的元素 【答案】A 【解析】第一趟冒泡排序会从第一个元素开始,依次比较相邻元素并交换逆序对,最终将当前数组中最大的元素移动到数组的最后一个位置,这个位置的元素不再参与后续排序。 4、求数组最小值的程序中,遍历数组的循环起点通常设置为 1 的原因是( ) A. 数组下标从 1 开始 B. 初始最小值已经设为数组第一个元素(下标 0),无需重复比较 C. 从 1 开始能减少循环次数 D. 可以避免数组下标越界 【答案】B 【解析】程序通常先将数组第一个元素赋值给最小值变量,后续从下标 1 开始遍历数组,逐个与最小值比较,这样能避免重复比较第一个元素,提升效率。 2、 判断题(本题共3题) 1、用冒泡法对 10 个数排序,需要执行 10 趟排序才能完成所有元素的排序。( ) 【答案】× 【解析】n 个数的冒泡排序只需要执行 n-1 趟,10 个数只需 9 趟,每趟确定一个元素的最终位置,第 10 个元素会自动归位。 2、求数组最小值时,将初始最小值设为数组第一个元素,能避免因输入全为负数导致结果错误。( ) 【答案】√ 【解析】如果初始最小值设为 0,当输入的所有数都是负数时,程序会错误地将 0 判定为最小值;设为数组第一个元素则能适配所有输入情况。 3、冒泡排序过程中,每一趟比较的元素个数和上一趟完全相同。( ) 【答案】× 【解析】每一趟排序都会确定一个元素的最终位置,下一趟无需再比较该元素,因此每趟比较的元素个数会比上一趟减少 1。 3、 填空题(本题共2题) 1、冒泡排序的核心思想是通过相邻元素的比较与交换,每一趟将____的元素逐步 “沉” 到当前未排序区间的末尾。 【答案】当前未排序部分中最大 【解析】每一趟冒泡排序都会把当前未排序区间内的最大元素移动到末尾,经过 n-1 趟后,所有元素会按从小到大的顺序排列。这是冒泡排序的标志性特征。 2、从键盘输入 n 个数求最小值的程序中,核心步骤是遍历数组,每次将当前元素与____进行比较,若当前元素更小则更新该值。 【答案】当前记录的最小值 【解析】通过遍历数组逐个比较元素,不断更新最小值变量,最终能得到整个数组的最小值。这是求解数组最值问题的通用逻辑。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int main() { int arr[5] = {12, -5, 23, 0, -18}; int min = arr[0]; for(int i=1; i<5; i++) { if(arr[i] < min) { min = arr[i]; } } printf("数组最小值为:%d", min); return 0; } 【答案】 程序运行结果: 数组最小值为:-18 【解析】 程序先将数组第一个元素 12 赋值给最小值变量 min,然后从下标 1 开始遍历数组,依次比较每个元素与 min 的大小,当遇到更小的元素时更新 min 的值。遍历结束后,min 的值为数组中的最小元素 - 18,最终输出该结果。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第6章的第26练,内容涵盖第6章数组的6.1.4 一维数组程序举例。 《C语言程序设计》(电子工业出版社)一课一练 第26练 第6章 数组 6.1.4 一维数组程序举例 1、 单项选择题(本题共4小题) 1、编写程序从键盘输入 10 个数求最小值时,最小值变量的初始值最合适的设置是( ) A. 0 B. 100 C. 数组的第一个元素值 D. -100 2、用冒泡法对 n 个数进行排序,需要执行的排序趟数是( ) A. n-1趟 B. n趟 C. n+1 趟 D. 任意趟数 3、冒泡排序第一趟结束后,数组中确定位置的元素是( ) A. 最后一个元素 B. 第一个元素 C. 中间位置的元素 D. 任意位置的元素 4、求数组最小值的程序中,遍历数组的循环起点通常设置为 1 的原因是( ) A. 数组下标从 1 开始 B. 初始最小值已经设为数组第一个元素(下标 0),无需重复比较 C. 从 1 开始能减少循环次数 D. 可以避免数组下标越界 2、 判断题(本题共3题) 1、用冒泡法对 10 个数排序,需要执行 10 趟排序才能完成所有元素的排序。( ) 2、求数组最小值时,将初始最小值设为数组第一个元素,能避免因输入全为负数导致结果错误。( ) 3、冒泡排序过程中,每一趟比较的元素个数和上一趟完全相同。( ) 3、 填空题(本题共2题) 1、冒泡排序的核心思想是通过相邻元素的比较与交换,每一趟将____的元素逐步 “沉” 到当前未排序区间的末尾。 2、从键盘输入 n 个数求最小值的程序中,核心步骤是遍历数组,每次将当前元素与____进行比较,若当前元素更小则更新该值。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int main() { int arr[5] = {12, -5, 23, 0, -18}; int min = arr[0]; for(int i=1; i<5; i++) { if(arr[i] < min) { min = arr[i]; } } printf("数组最小值为:%d", min); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第26练 第6章 一维数组程序举例《C语言程序设计》(电子工业出版社)一课一练-第1页
1

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