目录
只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句
C 语言中 while 循环的语法:
- while(condition)
- {
- statement(s);
- }
在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块
condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句
test20.c
- #include
-
- int main ()
- {
- // 局部变量定义
- int a = 0;
-
- // while 循环执行
- while( a < 10 )
- {
- printf("a 的值: %d\n", a);
- a++;
- }
-
- return 0;
- }

for 循环允许您编写一个执行指定次数的循环控制结构
C 语言中 for 循环的语法:
- for (语句1;表达式;语句2)
- {
- 语句块
- }
- 在for循环中,语句1、表达式和语句2都可以为空,for (;;)等同于while (1)
- continue和break两个关键字也可以用在for循环体中
test21.c
- #include
-
- int main()
- {
- int i = 1;
- int sum = 0;
-
- for (i = 1;i<=100;i++) {
-
- sum += i;
-
- }
-
- printf("sum = %d\n",sum);
-
- return 0;
- }

- do...while 循环不像 for 和 while 循环,它们是在循环头部测试循环条件。在 C 语言中,do...while 循环是在循环的尾部检查它的条件。
- do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。
C 语言中 do...while 循环的语法:
- do
- {
- statement(s);
-
- }while( condition );
请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
test22.c
- #include
-
- int main ()
- {
- // 局部变量定义
- int a = 10;
-
- // do 循环执行,在条件被测试之前至少执行一次
- do
- {
- printf("a 的值: %d\n", a);
- a += 1;
- }while( a < 20 );
-
- return 0;
- }

C 语言中 break 语句有以下两种用法:
- 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
- 它可用于终止 switch 语句中的一个 case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
C 语言中 break 语句的语法:
break;

test23.c
- #include
-
- int main ()
- {
- // 局部变量定义
- int a = 10;
-
- // while 循环执行
- while( a < 20 )
- {
- printf("a 的值: %d\n", a);
- a++;
- if( a > 15)
- {
- // 使用 break 语句终止循环
- break;
- }
- }
-
- return 0;
- }

- continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环
- 对于 for 循环,continue 语句执行后自增语句仍然会执行。对于 while 和 do...while 循环,continue 语句重新执行条件判断语句
C 语言中 continue 语句的语法:
continue;

test24.c
- #include
-
- int main ()
- {
- // 局部变量定义
- int a = 10;
-
- // do 循环执行
- do
- {
- if( a == 15)
- {
- // 跳过迭代
- a += 1;
- continue;
- }
- printf("a 的值: %d\n", a);
- a++;
-
- }while( a < 20 );
-
- return 0;
- }

C 语言中 嵌套 for 循环 语句的语法:
- for (initialization; condition; increment/decrement)
- {
- statement(s);
- for (initialization; condition; increment/decrement)
- {
- statement(s);
- ... ... ...
- }
- ... ... ...
- }
test25.c 查找 2 到 50 中的质数
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
- #include
-
- int main ()
- {
- // 局部变量定义
- int i, j;
-
- for(i=2; i<50; i++) {
-
- for(j=2; j <= (i/j); j++) {
-
- if(!(i%j))
- break; // 如果找到,则不是质数
- }
- if(j > (i/j))
- printf("%d 是质数\n", i);
- }
-
- return 0;
- }

test26.c 九九乘法表
- #include
-
- int main()
- {
-
- for (int i = 1;i<=9;i++) {
-
- for (int j=1;j<=i;j++) {
-
- printf("%d*%d=%d\t",i,j,i*j);
- }
- printf("\n");
- }
-
- return 0;
- }

C 语言中 嵌套 while 循环 语句的语法:
- while (condition1)
- {
- statement(s);
- while (condition2)
- {
- statement(s);
- ... ... ...
- }
- ... ... ...
- }
- #include
- int main()
- {
- int i=1,j;
- while (i <= 5)
- {
- j=1;
- while (j <= i )
- {
- printf("%d ",j);
- j++;
- }
- printf("\n");
- i++;
- }
- return 0;
- }

死循环是指循环的条件永远为真
- while(1)
- {
- // 循环体
- }
- for( ; ; )
- {
- //循环体
- }
如果您的程序不小心进入了死循环,可以用Ctrl+c中止