内容正文:
C语言程序设计案例教程第4章 循环结构程序设计
第 4 章 循环结构程序设计
当程 序 中 要做 重 复的 工 作 时, 可 以使 用 循 环结 构 程序 , 例 如, 第 2 章 【 实例 21】介 绍
的计 算 1+2+3+4+5+6 的 值, 求 1 到 6 的自 然 数 和。 环结 构 程 序可 以 提高 程 序设 计 的 效率 。即循
在分 支 和 循环 结 构程 序 中 ,C 语 言提 供 了可 以 处 理一 些 特 殊情 况 的语 句 , 这些 语 句是 中
断、 接 续 、转 向 及返 回 语 句。 循 环结 构 程 序也 可 以进 行 嵌 套。
4.1 循环结构
循环 结 构 程序 的 应用 使 得 大量 重 复的 工 作 变得 更 容易 ,提 高 了程 序 设 计的 效 率 。循环 结
构语 句 是 在某 个 条件 成 立 时反 复 执行 一 段 程序 , 直到 条 件 不成 立 后才 停 止 执行 这 段程 序 , 退
出循 环 语 句。 C 语 言提 供 了 while、 do while 和 for 三 种 循环 语 句 。循 环 结构 可 分 为当 型 循环
结构 与 直 到型 循 环结 构 , 前者 是 先进 行 条 件判 断 ;后 者 是 执行 一 次要 重 复 执行 的 程序 段 或 语
句, 再 进 行条 件 判断 。
4.1.1
while 语 句
While 语 句 循环 是 当型 循 环 ,其 格 式及 其 功 能介 绍如 下 。
1. 语 句 格 式 和 功 能
【格 式 】 while (表 达式)
循 环 体;
【功 能 】 while 循 环的 程 序流 程 如图 411 所示 。执 行到 while 语 句 后 ,先 对 表达 式 进 行
判断 , 当 值为 真 ( 非 0) 时, 就 依次 执 行 循环 体 中的 各 条 语句 , 然后 再 检 查表 达 式的 值 , 再
循环 ,直 到 表达 式 值为 假( 0)时 结 束 循环 ,执 行循 环 后 面的 语 句 。由 图 411 可 以 看 出 ,当
型循 环 的 特点 是 “先 判 断 ,后 执 行”。
表达式
假
真
循环体
图 4-1-1 while 语 句 程 序 流 程
例如 : 下 面程 序 可以 完 成 计算 1+2+… …+100 的 任务 。
int m=1,n,sum=0;
n=100;
while(m<=n)
{
sum=sum+m;
m++;
}
/*判 断 循 环条 件*/
81
2. while 循 环 语 句 的 应 用 实 例
4.1.2
do – while 语 句
在程 序 执 行过 程 中, 有 时 需要 先 执行 循 环体 内 的 语句 , 再 对输 入 的条 件 进 行判 断 (即 直
到型 循 环) 在 C 语 言 中, 直 到 型循 环 可以 使 用 dowhile 循 环 来实 现 。 。
1. 语 句 格 式 和 功 能
do while 循环 语 句的 使 用 格式 和 其功 能 如 下。
【格 式 】 do {
循 环 体;
}while( 表达 式 );
【功 能 】 程序 执 行后 , 先 执行 循 环体 , 再对 表 达 式进 行 判 断, 如 果表 达 式 的值 为 真( 非
0),就 重复 执 行 循环 ,直到 表 达 式的 值 为假(0)时 结 束循 环 ,执行 循 环结 构 后 面的 语 句。其
特点 是 “ 先执 行 ,后 判 断” do…while 循 环 的程 序流 程 如 图 4.22 所 示 。。
可以 看 出 , dowhile 循 环和 while 循 环 的不 同 仅 在于 , 在 检查 条 件表 达 式 之前 , 是否 先
执行 过 一 遍循 环 体, dowhile” 循环 至 少要 执 行一 遍 循 环体 。“
图 413 do…while 循 环 的 流 程 图
例如 :
int m=100,n=1,sum=0;
do{
sum=sum+m;
m--;
}while(m>=n);
printf("%d
",sum);
上述 程 序 执行 到 循环 结 构 后,先 执行“ sum=sum+m”语 句,然 后 m 进 行 自 减,再 判 断 m
是否 小 于 或等 于 n,如 果 大 于或 等于 n, 则 返回 执行 “ sum=sum+m” 语 句 , m 进 行 自 减, 再
判 断 m 是 否 大 于 或 等于 n; 如 果 小 于 n,则 退