循环结构是C语言中的一种基本结构,用于重复执行某些语句。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。循环结构的三个要素是:循环变量、循环体和循环终止条件。1. While 循环While 循环是一种常见的循环结构,用于在满足条件时执行循环体。While 语句的一般表达式为:while(表达式){循环体}。其执行流程是:先判断表达式,如果表达式为真,则执行循环体,然后回到判断表达式处,直到表达式为假时跳出循环。例如,下面是一个水仙花数的程序,使用 while 循环来遍历 100-1000 的数字:```c#include<Stdio.h>int main(void) {int n;scanf("%d", &n);int number=1;int t = 1;int i;while (t < n) {number *= 10;t++;}i = number;while (number < i * 10) {// ...}return 0;}```2. Do-While 循环Do-While 循环是 While 循环的变体,用于在执行循环体后判断条件是否为真,如果条件为真,就会重复 Do-While 循环,直至条件为假。Do-While 语句的一般表达式为:do{循环体}while(表达式)。例如,下面是一个水仙花数的程序,使用 Do-While 循环来遍历 100-1000 的数字:```c#include<Stdio.h>int main(void) {int n;scanf("%d", &n);int number=1;int t = 1;int i;do {// ...} while (number < i * 10);return 0;}```3. For 循环For 循环是一种特殊的循环结构,用于执行循环体多次。For 语句的一般表达式为:for(初始化动作;条件;每轮做的动作){循环体}。其中,初始化动作、条件和每轮做的动作都是可选的,但是分号不可省略。例如,下面是一个白鸡百钱问题的程序,使用 For 循环来遍历所有可能的解:```c#include<stdio.h>int main(void) {int x, y, z;int sum = 0;for (x = 0; x < 20; x++) {for (y = 0; y < 33; y++) {z = 100 - x - y;if ((x * 5 + y * 3 + z / 3.0) == 100 && x > 0 && y > 0 && z > 0) {printf("%d %d %d\n", x, y, z);}}}return 0;}```4. Goto 循环Goto 语句是无条件转移语句,用于跳转到指定的语句标号处。Goto 语句的一般格式为:goto 语句标号;其中语句标号是按标识符规定书写的符号,放置在某一语句行的前面,标号后加冒号(:)。例如,下面是一个输入-1 结束循环的程序,使用 Goto 语句来跳转到指定的语句标号处:```c#include<stdio.h>int main(void) {int n;scanf("%d", &n);int i;out: if (n != -1) {// ...goto out;}return 0;}```循环结构是C语言中的一种基本结构,用于重复执行某些语句。While 循环、Do-While 循环、For 循环和 Goto 循环都是常见的循环结构,每种循环结构都有其特点和应用场景。
|