内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练一课一练的单元2的第4练,内容涵盖单元2算法——程序设计的灵魂的2.2.4~2.3.3、2.5.1 算法的表示方法(流程图/N-S图/伪代码)与结构化程序设计。
《C语言程序设计》(高教版第2版)一课一练 第4练
单元2 算法——程序设计的灵魂
2.2.4~2.3.3、2.5.1算法的表示方法(流程图/N-S图/伪代码)与结构化程序设计
1、 单项选择题(本题共5小题)
1、关于自然语言表示算法的特点,下列描述错误的是( )
A. 通俗易懂,适合初学者理解简单算法
B. 文字冗长,描述复杂算法时效率低
C. 容易出现歧义,同一表述可能有多种解读
D. 无任何歧义,是表示复杂算法的最佳选择
【答案】D
【解析】自然语言表示算法的缺点是容易产生歧义,比如 “下雨天留客天留我不留” 有多种拆分方式,因此不适合表示复杂算法,选项 D 错误;其他选项均符合自然语言表示算法的实际特点。
2、传统流程图中,专门用于条件判断的图框是( )
A. 处理框
B. 判断框
C. 输入 / 输出框
D. 起始框
【答案】B
【解析】判断框为菱形结构,用于设置条件判断,根据结果选择不同的执行分支;处理框用于表示运算操作,输入 / 输出框负责数据的输入输出,起始框表示算法的开始和结束,选项 B 正确。
3、N-S 图与传统流程图的核心区别是( )
A. N-S 图使用更多的图形符号
B. N-S 图完全去掉了流程线,通过嵌套矩形框表示结构
C. N-S 图只能表示简单算法
D. N-S 图无法表示循环结构
【答案】B
【解析】N-S 图是为支持结构化程序设计提出的,它去掉了传统流程图的流程线,将所有算法逻辑封装在嵌套的矩形框内,结构更紧凑清晰,且能完整表示顺序、选择、循环三大基本结构,选项 B 正确。
4、介于自然语言和计算机语言之间,书写方便、修改灵活且无严格语法规则的算法表示方式是( )
A. 自然语言
B. 传统流程图
C. 伪代码
D. N-S 图
【答案】C
【解析】伪代码结合了自然语言的易懂性和计算机语言的逻辑性,无需绘制图形符号,修改和书写效率高,可中英文混搭表达算法逻辑,选项 C 正确。
5、当型(while 型)循环结构的执行顺序是( )
A. 先执行循环体,再判断条件
B. 先判断条件,条件为真时执行循环体,执行完后再次判断条件
C. 条件为假时执行循环体
D. 循环体执行一次后直接退出
【答案】B
【解析】当型循环遵循 “先判断,后执行” 的逻辑:先验证条件,条件成立则执行循环体,执行完成后再次判断条件,直到条件不成立时退出循环,选项 B 准确描述了其执行顺序。
2、 判断题(本题共4题)
1、自然语言表示算法无歧义,是设计复杂算法的最优选择。( )
【答案】×
【解析】自然语言存在表述歧义的问题,比如语句的不同断句会产生不同含义,因此仅适合表示简单算法,复杂算法通常使用流程图、伪代码等更严谨的方式。
2、N-S 图完全去掉了流程线,通过嵌套矩形框组合三大基本结构,是典型的结构化流程图。( )
【答案】√
【解析】N-S 图是为支持结构化程序设计发明的,它摒弃了传统流程图的流程线,用嵌套矩形框表示算法的层次结构,能清晰体现结构化算法的逻辑,符合结构化设计要求。
3、直到型(until 型)循环结构是先判断条件,条件为真时才执行循环体。( )
【答案】×
【解析】直到型循环的执行顺序是 “先执行,后判断”:先执行一次循环体,再判断条件,若条件为真则继续执行循环体,直到条件为假时退出循环。
4、结构化程序设计的三种基本结构是:顺序结构、选择结构、循环结构。( )
【答案】√
【解析】结构化程序设计规定,所有算法都可由顺序、选择、循环三种基本结构组合实现,这是编写规范、清晰程序的核心基础。
3、 程序填空题(本题共1题)
1、以下程序用于计算用户输入的正整数 n 的累加和(即 1+2+3+…+n 的结果),需补充缺失代码;
#include <stdio.h>
int main() {
int n, sum, count;
// 初始化累加器sum的初始值
(1) ;
// 初始化计数器count的初始值
(2) ;
printf("请输入一个正整数n:");
// 读取用户输入的正整数n
(3);
// 设置while循环条件:计数器不超过输入的n
while( (4) ) {
// 将当前计数器值累加到sum中
(5) ;
count++;
}
printf("1到%d的累加和为:%d
", n, sum);
return 0;
}
【答案】
(1) sum = 0;
(2) count = 1;
(3) scanf ("% d", &n);
(4) count <= n;
(5) sum += count;
【解析】
(1) 此处需初始化累加器 sum 为 0,因为累加运算需要从 0 开始累计,若未初始化会使用内存中的随机垃圾值,导致最终结果错误。
(2) 计数器 count 初始化为 1,是因为累加范围从 1 开始,确保第一次循环就从第一个数开始执行累加操作。
(3) 使用 scanf 函数读取用户输入的正整数 n,% d 是整数格式控制符,&n 表示将输入值存储到变量 n 的内存地址中,符合 C 语言输入函数的语法规则。
(4) 循环条件count <= n控制计数器遍历 1 到 n 的所有整数,当 count 超过 n 时自动退出循环,避免重复累加或遗漏数字。
(5) sum += count是sum = sum + count的简写形式,实现将当前遍历的数字累加到 sum 中,逐步计算 1 到 n 的累加和,是循环体的核心运算操作。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练一课一练的单元2的第4练,内容涵盖单元2算法——程序设计的灵魂的2.2.4~2.3.3、2.5.1 算法的表示方法(流程图/N-S图/伪代码)与结构化程序设计。
《C语言程序设计》(高教版第2版)一课一练 第4练
单元2 算法——程序设计的灵魂
2.2.4~2.3.3、2.5.1算法的表示方法(流程图/N-S图/伪代码)与结构化程序设计
1、 单项选择题(本题共5小题)
1、关于自然语言表示算法的特点,下列描述错误的是( )
A. 通俗易懂,适合初学者理解简单算法
B. 文字冗长,描述复杂算法时效率低
C. 容易出现歧义,同一表述可能有多种解读
D. 无任何歧义,是表示复杂算法的最佳选择
2、传统流程图中,专门用于条件判断的图框是( )
A. 处理框
B. 判断框
C. 输入 / 输出框
D. 起始框
3、N-S 图与传统流程图的核心区别是( )
A. N-S 图使用更多的图形符号
B. N-S 图完全去掉了流程线,通过嵌套矩形框表示结构
C. N-S 图只能表示简单算法
D. N-S 图无法表示循环结构
4、介于自然语言和计算机语言之间,书写方便、修改灵活且无严格语法规则的算法表示方式是( )
A. 自然语言
B. 传统流程图
C. 伪代码
D. N-S 图
5、当型(while 型)循环结构的执行顺序是( )
A. 先执行循环体,再判断条件
B. 先判断条件,条件为真时执行循环体,执行完后再次判断条件
C. 条件为假时执行循环体
D. 循环体执行一次后直接退出
2、 判断题(本题共4题)
1、自然语言表示算法无歧义,是设计复杂算法的最优选择。( )
2、N-S 图完全去掉了流程线,通过嵌套矩形框组合三大基本结构,是典型的结构化流程图。( )
3、直到型(until 型)循环结构是先判断条件,条件为真时才执行循环体。( )
4、结构化程序设计的三种基本结构是:顺序结构、选择结构、循环结构。( )
3、 程序填空题(本题共1题)
1、以下程序用于计算用户输入的正整数 n 的累加和(即 1+2+3+…+n 的结果),需补充缺失代码;
#include <stdio.h>
int main() {
int n, sum, count;
// 初始化累加器sum的初始值
(1) ;
// 初始化计数器count的初始值
(2) ;
printf("请输入一个正整数n:");
// 读取用户输入的正整数n
(3);
// 设置while循环条件:计数器不超过输入的n
while( (4) ) {
// 将当前计数器值累加到sum中
(5) ;
count++;
}
printf("1到%d的累加和为:%d
", n, sum);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$