第6章循环控制
第6章 循环控制
61概述 在上一章中我们已经学习了算法的选择结构的C语言 程序实现及其程序流程控制转移方式。本章将讨论最后 种算法的基本结构—循环结构的C语言程序实现及其 程序流程控制转移方式—循环控制。 所谓循环控制,即满足一个指定的条件,每次使用不 同的数据,对程序中的计算或处理步骤完全相同的程序 段,重复计算若干次的程序控制
6.1 概述 在上一章中,我们已经学习了算法的选择结构的C语言 程序实现及其程序流程控制转移方式。本章将讨论最后 一种算法的基本结构──循环结构的C语言程序实现及其 程序流程控制转移方式──循环控制。 所谓循环控制,即满足一个指定的条件,每次使用不 同的数据,对程序中的计算或处理步骤完全相同的程序 段,重复计算若干次的程序控制
如计算5!,若用顺序结构实现: ints=1, t=1 s=s*t: t++ s=st.t++ s=s*t: t++ t;t++ s=s"t printf(“%d”,s); 在该程序段中,语句s=s*t;t++;连续执行了四次, 而且每次使用的s和的值都不同,这就构成了循环的条件。 因此,程序应该使用循环控制方式来实现
int s=1 , t=1; s=s*t; t++; s=s*t; t++; s=s*t; t++; s=s*t; t++; s=s*t; printf(“%d” , s); 如计算5!,若用顺序结构实现: 在该程序段中,语句 s=s*t;t++;连续执行了四次, 而且每次使用的s 和t的值都不同,这就构成了循环的条件。 因此,程序应该使用循环控制方式来实现
上面的程序如果用C语言的循环结构来实现,可以写成 如下简单形式: int s=l t=1 while(t<=5) s=s* t++ printf(“%d”,s); 很明显,这样的程序不仅简单,而且逻辑性更强
int s=1,t=1; while ( t<=5 ) { s=s*t ; t++ ; } printf(“%d” , s); 上面的程序如果用C语言的循环结构来实现,可以写成 如下简单形式: 很明显, 这样的程序不仅简单, 而且逻辑性更强
62goto语句以及用goto语句构成循环 选择控制和循环控制都依赖于条件测试,条件测试 的结果决定了程序执行的方向或路径,所以它们都是有 条件的程序控制转移。 相应的,在计算机程序设计语言中还提供另一类程 序流程控制语句一转向语句。用这类语句来实现程 序的控制转移不依赖于任何条件,故称之为无条件控制 转移。 本节讨论实现程序的无条件控制转移的goto语句的 使用
6.2 goto 语句以及用 goto 语句构成循环 选择控制和循环控制都依赖于条件测试, 条件测试 的结果决定了程序执行的方向或路径,所以它们都是有 条件的程序控制转移。 相应的,在计算机程序设计语言中还提供另一类程 序流程控制语句 ── 转向语句。 用这类语句来实现程 序的控制转移不依赖于任何条件,故称之为无条件控制 转移。 本节讨论实现程序的无条件控制转移的goto语句的 使用