内容正文:
目录/CONTENTS
1.
while循环
2.
do...while循环
3.
for循环
4.
多重循环
1
考纲分析与历年考试试题分析
利用while循环、do…while循环和for循环语句实现循环结构的程序设计。
使用循环计算 1+2+3+...+100 的和。。
#include <stdio.h>
int main() {
int i, sum = 0;
// for循环实现
for (i = 1; i <= 100; i++) {
sum += i;
}
printf("1到100的和(for循环):%d
", sum);
2
while循环
山东省计算机类高考技能教学
3
while 循环
语法格式:
while (条件表达式) {
循环体语句;
}
说明:
条件表达式:可以是关系表达式(如 i < 10)、逻辑表达式(如 i < 10 && j > 5)或数值表达式(非 0 视为真,0 视为假)。
循环体语句:若只有一条语句,可省略大括号 {};若有多条语句,必须用大括号包裹。
执行流程:
① 先判断 条件表达式 的真假。
② 若条件为真,执行循环体语句,然后返回步骤 1 继续判断。
③ 若条件为假,跳出循环,执行循环后的下一条语句。
特点:先判断,后执行。若初始条件不满足,循环体可能一次都不执行。
关键组成部分
条件表达式(必选):
作用:控制循环是否继续执行,结果为真(非 0)时执行循环体,为假(0)时跳出循环。
示例:i < 10(关系表达式)、i < 10 && j > 5(逻辑表达式)、a(若a≠0则为真)。
循环体语句(可选):
作用:重复执行的代码块。
do...while循环
山东省计算机类高考技能教学
6
do…while 循环
语法格式:
do {
循环体语句;
} while (条件表达式);
说明:
结尾的 while (条件表达式); 后必须加 ;,否则编译报错。
循环体结构与 while 循环一致。
执行流程:
①先执行一次循环体语句。
②判断 条件表达式 的真假。
③若条件为真,返回步骤 1 继续执行循环体;若条件为假,跳出循环。
特点:先执行,后判断。无论条件是否满足,循环体至少执行一次。
关键组成部分
循环体语句(必选):
作用:先于条件判断执行一次,确保循环至少执行一次。
条件表达式(必选):
作用:循环体执行后判断条件,决定是否继续循环。
for循环
山东省计算机类高考技能教学
9
for 循环
语法格式:
for (表达式1; 条件表达式; 表达式2)
{
循环体语句;
}
说明:
表达式1:初始化变量(如 int i = 0;),可省略,但分号 ; 不能省。
条件表达式:判断循环是否继续(如 i < 10),若省略则视为条件恒真。
表达式2:更新变量(如 i++),可省略。
执行流程:
① 执行 表达式1(仅执行一次)。
② 判断 条件表达式 的真假。
③ 若条件为真,执行循环体语句,然后执行 表达式2,再返回步骤 2。
④ 若条件为假,跳出循环。
特点:初始化、条件判断、变量更新集中在一行,结构清晰,适合已知循环次数的场景。算符的关键特性。
关键组成部分
表达式 1(初始化表达式,可选):
作用:初始化循环变量(如int i = 0;),仅在循环开始时执行一次。
省略场景:若变量已在循环外初始化(如int i = 1; for (; i<=10; i++))。
条件表达式(必选):
作用:每次循环前判断是否继续执行,与 while 循环的条件表达式逻辑相同。
省略场景:若需构造无限循环(如for (; ; ) { ... },需手动用break跳出)。
表达式 2(更新表达式,可选):
作用:循环体执行后更新变量(如i++、i += 2),控制循环次数。
省略场景:更新操作在循环体内完成(如for (i=1; i<=10; ) { sum += i; i++; })。
三种循环的对比表格
多重循环
山东省计算机类高考技能教学
13
多重循环的定义与作用
多重循环指在一个循环结构的循环体中嵌套另一个循环结构,通常用于解决需要 “多层重复执行” 的问题(如打印二维表格、矩阵运算、穷举搜索等)。常见形式包括:
双重循环:外层循环嵌套内层循环(最常用)。
三重及以上循环:多层嵌套(复杂问题中使用)。
多重循环的语法格式(以双重循环为例):
while 循环嵌套 while 循环
while (外层循环条件) {
// 外层循环体
while (内层循环条件) {
// 内层循环体(含操作语句)
内层循环变量更新;
}
外层循环变量更新;
}
for 循环嵌套 for 循环
for (外层循环初始化; 外层循环条件; 外层循环变量更新) {
// 外层循环体
for (内层循环初始化; 内层循环条件; 内层循环变量更新) {
// 内层循环体(含操作语句)
}
}
do…while 循环嵌套 for 循环
do {
// 外层循环体
for (内层循环初始化; 内层循环条件; 内层循环变量更新) {
// 内层循环体(含操作语句)
}
外层循环变量更新;
} while (外层循环条件);
多重循环的执行流程(以双重循环为例)
外层循环执行逻辑:
先初始化外层循环变量(如for循环的初始化表达式)。
检查外层循环条件,若为真则进入外层循环体。
外层循环体执行完毕后,更新外层循环变量,再次检查条件,直至条件为假时退出外层循环。
内层循环执行逻辑(嵌套在外层循环体内):
每次进入外层循环体时,内层循环会重新初始化变量(如for循环的内层初始化表达式)。
检查内层循环条件,若为真则执行内层循环体,直至内层条件为假时退出内层循环,回到外层循环体的后续步骤。
完整执行流程示例(以 for 嵌套 for 循环为例):
for (int i = 1; i <= 3; i++) { // 外层循环:i从1到3
printf("外层循环i=%d开始
", i);
for (int j = 1; j <= 2; j++) { // 内层循环:j从1到2
printf(" 内层循环j=%d
", j);
}
printf("外层循环i=%d结束
", i);
}
执行顺序:
i=1 → 进入外层循环体 → 初始化j=1 → 检查j<=2为真 → 执行内层循环体(打印j=1)→ j=2 → 执行内层循环体(打印j=2)→ j=3 → 内层条件为假,退出内层循环 → 外层更新i=2 → 重复上述流程,直至i=4时外层条件为假,结束循环。
多重循环的关键组成部分
循环变量隔离:
外层与内层循环变量需使用不同名称(如外层用i,内层用j),避免变量冲突。
示例:错误写法for (int i=1; i<=5; i++) { for (int i=1; i<=3; i++) { ... } }(内层i会覆盖外层i)。
循环条件控制:
外层循环控制 “大循环次数”,内层循环控制 “每轮大循环中的小循环次数”。
例:打印 3 行 2 列的表格,外层循环控制行数(3 次),内层循环控制列数(2 次 / 行)。
循环变量更新:
内层和外层循环变量均需在合适位置更新,避免死循环。
例:while (i<10) { while (j<5) { j++; } i++; }(内外层变量均需更新)。
多重循环的执行次数计算:
若外层循环执行m次,内层循环每次执行n_i次(i为外层循环的第i轮),则总执行次数为n_1 + n_2 + ... + n_m。
特例:内层次数固定(如外层循环m次,内层每次循环n次),总次数为m × n。
例:外层i从1到3(3 次),内层j从1到2(2 次 / 轮),总次数为3×2=6次(见前例执行流程)。
谢 谢 观 看
22
$$