延续上文,本篇中我将为你们介绍循环语句。
一、 while循环
在if语句中,如果条件满足,则执行语句内容,否则不执行。但是语句只能执行一次。
C语言中,为我们引入了 while语句,可以在条件满足的情况下,实现语句内容的多次执行。
int i=1; while(i<=10) { printf("%d ",i); i++; }
如上代码,我们就可以一次性把1~10所有整数打印在屏幕上。
如果我们加上一点要求,比如:1、当 i > 5 时,不再打印;2、在打印 1 ~ 10 的过程中跳过5。
为了实现 1 , 2 ,我们需要引入两个新的关键词: break 、 continue 。
1. break 的功能
图1:
当 i > 5 时,执行 if 语句中的 break ,终止循环。
图二:
将 图一 和 图二 进行对比 ,我们可以得出结论:
break 能够终止 其所在的 while 循环。
2. continue 的功能
continue 的作用总结:
本次循环中continue后边的代码不会再执行,
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断
二、 for循环
1. for循环语法
for(表达式1;表达式2;表达式3) 循环语句;
表达式 1 : 初始化部分,用于初始化循环变量;
表达式 2: 条件判断部分,用于判断循环是否继续进行;
表达式 3: 调整部分,用于调整循环条件。
这里,我将用for循环 为读者演示 while循环部分 代码功能的实现;
打印1 ~ 10 的数字:
for (i = 1; i <= 10; i++) { //i=1 初始化循环变量 ; 判断循环终止条件 ; 调整循环变量 printf("%d ", i); }
2. for循环中的 break 和 continue
break:
continue:
可以看出,for循环中 break 和 continue 在功能上 与 二者在while循环中并无不同。
3. for语句的循环控制变量
不可在for 循环体内修改循环变量,防止 for 循环失去控制
在这里,我故意写一个错误代码:
#include<stdio.h> int main() { int i = 0; for (i = 1; 1 <= 10; i++) { if (i = 5) printf("%d ", i); } return 0; }
这里是运行结果:
(死循环地打印 5 )
4. for循环的一些变种
//代码1
for循环中的初始化部分,判断部分,调整部分是可以省略的
#include<stdio.h> int main() { for (;;) { printf("hehe\n"); } return 0; }
(死循环打印"hehe")
(建议新手不要这么用)
//代码2
#include<stdio.h> //代码2 int main() { int i = 0; int j = 0; for (; i < 4; i++) { for (; j < 4; j++) printf("hehe "); printf("\n"); } return 0; } //给出代码3,供读者比较 //代码3 int main() { int i = 0; int j = 0; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) printf("hehe "); printf("\n"); } return 0; }
读者觉得 代码2 的运行结果 与代码3 相比如何?
代码2:
代码3 :
之所以两段代码在结果上产生不同,其原因在于 代码3 中第二个for循环起始都对 j进行了初始化 。
//代码4
#include<stdio.h> int main() { int i = 0; int j = 0; for (i = 0, j = 0; i < 2 && j < 5; ++i, j++) { printf("hehe "); } return 0; } //多变量控制循环
本篇文章到此结束!