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