内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元5的第19练,内容涵盖单元5“身高体型判定系统”完整版的5.2.3 for循环与循环四要素。
《C语言程序设计》(高教版第2版)一课一练 第19练
单元5 “身高体型判定系统”完整版
5.2.3 for循环与循环四要素
1、 单项选择题(本题共5小题)
1、关于 for 语句的一般格式,下列描述正确的是( )
A. for (表达式 1; 表达式 2; 表达式 3) 语句
B. for [表达式 1, 表达式 2, 表达式 3] 语句
C. for 表达式 1; 表达式 2; 表达式 3 语句
D. for (表达式 1 表达式 2 表达式 3) 语句
2、for 语句中,表达式 1 的执行次数是( )
A. 每次循环都执行
B. 只执行一次
C. 和表达式 2 执行次数相同
D. 循环体执行完后执行
3、若 for 语句的表达式 2 为空,意味着( )
A. 循环条件为假,循环体一次都不执行
B. 循环条件恒为真,会进入死循环
C. 循环条件等同于表达式 1 的值
D. 循环条件等同于表达式 3 的值
4、使用 for 语句求 1~100 的累加和,下列代码逻辑完全正确的是( )
A. for(sum=0;count<=100;count++) sum+=count;
B. for(count=1;count<=100;count++) sum=0; sum+=count;
C. for(sum=0,count=1;count<=100;count++) sum+=count;
D. for(;count<=100;) sum+=count;
5、下列关于 for 语句的说法,错误的是( )
A. for 语句完全可以代替 while 语句和 do…while 语句
B. for 语句的三个表达式都可以为空
C. 表达式 3 只能用来使循环变量增值
D. 循环体为多条语句时,必须用花括号括起来形成复合语句
2、 判断题(本题共4题)
1、for 语句的执行顺序是:先执行表达式 1,再判断表达式 2,若为真则执行循环体,最后执行表达式 3。( )
2、for 语句中,表达式 1 只能为一个变量设置初值。( )
3、当 for 语句的表达式 1 为空时,必须在 for 循环之前手动设置循环变量的初始值。( )
4、for 语句只能用于循环次数确定的情况,不能用于循环次数不确定的场景。( )
3、 程序填空题(本题共1题)
1、题目描述:以下程序用于根据用户输入的正整数 n,计算 1 到 n 中所有奇数的和,需补充缺失代码;
#include <stdio.h>
int main() {
int n, sum = (1)____;
printf("请输入一个正整数n:");
scanf("%d", &n);
// 遍历1到n的所有数,筛选奇数累加
for(int i = (2)____; i <= n; (3)____) {
if(i % 2 != 0) {
sum += (4)____;
}
}
printf("1到%d的奇数和为:%d
", n, sum);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(高教版第2版)一课一练的单元5的第19练,内容涵盖单元5“身高体型判定系统”完整版的5.2.3 for循环与循环四要素。
《C语言程序设计》(高教版第2版)一课一练 第19练
单元5 “身高体型判定系统”完整版
5.2.3 for循环与循环四要素
1、 单项选择题(本题共5小题)
1、关于 for 语句的一般格式,下列描述正确的是( )
A. for (表达式 1; 表达式 2; 表达式 3) 语句
B. for [表达式 1, 表达式 2, 表达式 3] 语句
C. for 表达式 1; 表达式 2; 表达式 3 语句
D. for (表达式 1 表达式 2 表达式 3) 语句
【答案】A
【解析】C 语言中 for 语句的标准格式为for(表达式1; 表达式2; 表达式3) 语句,三个表达式用分号分隔,其余选项格式均不符合语法规则。
2、for 语句中,表达式 1 的执行次数是( )
A. 每次循环都执行
B. 只执行一次
C. 和表达式 2 执行次数相同
D. 循环体执行完后执行
【答案】B
【解析】根据 for 语句的执行过程,表达式 1 是设置初始条件的语句,仅在循环开始前执行一次,后续循环不再重复执行。
3、若 for 语句的表达式 2 为空,意味着( )
A. 循环条件为假,循环体一次都不执行
B. 循环条件恒为真,会进入死循环
C. 循环条件等同于表达式 1 的值
D. 循环条件等同于表达式 3 的值
【答案】B
【解析】表达式 2 为空时表示循环条件恒为真,若循环体内没有结束循环的语句,程序会进入死循环。
4、使用 for 语句求 1~100 的累加和,下列代码逻辑完全正确的是( )
A. for(sum=0;count<=100;count++) sum+=count;
B. for(count=1;count<=100;count++) sum=0; sum+=count;
C. for(sum=0,count=1;count<=100;count++) sum+=count;
D. for(;count<=100;) sum+=count;
【答案】C
【解析】A 错误:变量 count 没有赋初值,直接使用会导致结果错误。B 错误:循环体只有 sum=0;,sum+=count; 不在循环内,累加失效。C 正确:sum 初始化、count 从 1 开始、循环到 100、正确累加,逻辑完整无误。D 错误:缺少循环变量初始化与递增,会造成死循环。
5、下列关于 for 语句的说法,错误的是( )
A. for 语句完全可以代替 while 语句和 do…while 语句
B. for 语句的三个表达式都可以为空
C. 表达式 3 只能用来使循环变量增值
D. 循环体为多条语句时,必须用花括号括起来形成复合语句
【答案】C
【解析】表达式 3 是循环的调整操作,不仅可以使循环变量增值,还可以实现递减、赋值等其他操作,因此 C 选项错误;其余选项均符合给定内容中的描述。
2、 判断题(本题共4题)
1、for 语句的执行顺序是:先执行表达式 1,再判断表达式 2,若为真则执行循环体,最后执行表达式 3。( )
【答案】√
【解析】根据 for 语句的执行流程,步骤依次为计算表达式 1、判断表达式 2、执行循环体、计算表达式 3,再转回判断表达式 2,该描述完全符合执行逻辑。
2、for 语句中,表达式 1 只能为一个变量设置初值。( )
【答案】×
【解析】表达式 1 可以为 0 个、一个或多个变量设置初值,多个变量初值可用逗号分隔,例如sum=0,count=1。
3、当 for 语句的表达式 1 为空时,必须在 for 循环之前手动设置循环变量的初始值。( )
【答案】√
【解析】表达式 1 的作用是设置循环的初始条件,若为空,需要在 for 循环外提前给循环变量赋值,否则变量可能为随机值,导致循环逻辑错误。
4、for 语句只能用于循环次数确定的情况,不能用于循环次数不确定的场景。( )
【答案】×
【解析】for 语句不仅适用于循环次数确定的情况,还可用于循环次数不确定但有结束条件的场景,完全可以代替 while 语句。
3、 程序填空题(本题共1题)
1、题目描述:以下程序用于根据用户输入的正整数 n,计算 1 到 n 中所有奇数的和,需补充缺失代码;
#include <stdio.h>
int main() {
int n, sum = (1)____;
printf("请输入一个正整数n:");
scanf("%d", &n);
// 遍历1到n的所有数,筛选奇数累加
for(int i = (2)____; i <= n; (3)____) {
if(i % 2 != 0) {
sum += (4)____;
}
}
printf("1到%d的奇数和为:%d
", n, sum);
return 0;
}
【答案】
(1) 0
(2) 1
(3) i++
(4) i
【解析】
(1) 累加器 sum 用于存储奇数和,初始值设为 0,确保从 0 开始累加,避免初始值影响结果准确性;
(2) 需要从 1 开始遍历到 n 的所有整数,因此循环变量 i 的初始值设为 1,覆盖全部目标数值;
(3) 每次循环后 i 递增 1,才能依次遍历下一个数,符合 for 语句表达式 3 的循环调整作用;
(4) 当 i 是奇数时,将 i 的值累加到 sum 中,实现奇数求和的核心逻辑。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$