C语言循环控制:求π与循环结构

需积分: 9 0 下载量 5 浏览量 更新于2024-07-14 收藏 271KB PPT 举报
"这篇资料主要介绍了C语言的基础知识,特别是关于循环控制的语法,包括goto语句、while、do-while、for语句以及循环的嵌套。通过示例程序展示了如何使用这些循环结构来计算累加和以及求解π的近似值。" 在C语言中,循环控制是编程中的重要部分,它允许我们重复执行一段代码直到满足特定条件为止。资料中提到了几种不同的循环结构: 1. **goto语句**:这是一种无条件跳转语句,可以将程序执行流转移到程序的任何位置。然而,由于其可能导致程序结构混乱,通常不推荐使用。 示例: ```c voidmain() { int i = 1, sum = 0; L: if (i <= 100) // 判断结束条件 { sum = sum + i; i++; goto L; } printf("sum=%d", sum); } ``` 这段代码使用`goto`实现了累加和的计算,但从可读性和结构化的角度来看,这种方式并不理想。 2. **while语句**:在条件表达式为真时执行循环体内的代码。先检查条件,后执行循环体。 示例: ```c voidmain() { int i = 1, sum = 0; while (i <= 100) { sum = sum + i; i++; } printf("sum=%d", sum); } ``` 这种结构更符合结构化编程原则,因为循环体至少会被执行一次。 3. **do-while语句**:与while相似,但即使条件不满足也会先执行一次循环体。特点是后检查条件。 示例: ```c voidmain() { int i = 1, sum = 0; do { sum = sum + i; i++; } while (i <= 100); printf("sum=%d", sum); } ``` `do-while`循环确保循环体至少执行一次。 4. **for语句**:一种更紧凑的循环结构,通常用于已知循环次数的情况。 示例: ```c voidmain() { int sum = 0; for (int i = 1; i <= 100; i++) { sum = sum + i; } printf("sum=%d", sum); } ``` `for`循环可以方便地设置初始化、条件检查和每次迭代后的更新操作。 5. **循环的嵌套**:在循环内部可以再包含一个或多个循环,用于处理更复杂的逻辑。 示例: ```c voidmain() { int outerSum = 0, innerSum = 0; for (int i = 1; i <= 10; i++) { for (int j = 1; j <= i; j++) { innerSum += j; } outerSum += innerSum; innerSum = 0; } printf("outerSum=%d", outerSum); } ``` 这个例子展示了两层嵌套循环,外层循环累加内层循环的结果。 此外,资料还提到了求π的近似值的方法,使用了一个无限序列公式,并通过逐步累加每个项的相反数,直到序列项的绝对值小于给定阈值(如1e-6)为止。这涉及到浮点数比较和循环终止条件的设定。 C语言中的循环控制提供了多种方式来实现重复执行的逻辑,每种都有其适用场景。理解并熟练掌握这些结构对于编写高效且易于维护的代码至关重要。在实际编程中,应尽量遵循结构化编程的原则,避免过多使用`goto`,以提高代码的可读性和可维护性。