循环结构
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。循环结构的三个要素:循环变量、循环体和循环终止条件。循环结构有三种语句,即while、do…while和for循环。
while语句
当表达式结果为真(非0)时,则一直执行循环语句,知道表达式结果为假(0)时,跳出循环。
代码结构
复制代码
1
2
3while(表达式) 循环语句;
执行流程
语句特点
- break在while循环中的作用:在循环中只要遇到break,就停止后期的所有的循环,直接跳出循环。 所以,while中的break是用于永久终止循环的。
- continue在while循环中的作用就是:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
- while循环中,当条件表达式成立时,才会执行循环体中语句,每次执行期间,都会对循环因子进行修改(否则就成为死循环),修改完成后如果while条件表达式成立,继续循环,如果不成立,循环结束。因此:while循环条件将会比循环体多执行一次。
典型例题
- break实例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14#include <stdio.h> int main() { int i = 1; while(i<=10) { if(i == 5) break; printf("%d ", i); i = i+1; } return 0; }
输出结果:1 2 3 4,break的作用是跳出循环,后面的语句都不再执行
- continue实例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14#include <stdio.h> int main() { int i = 1; while(i<=10) { if(i == 5) continue; printf("%d ", i); i = i+1; } return 0; }
输出结果:1 2 3 4 ,continue的作用是跳过本次循环,之后一直有i = 5,程序陷入死循环。
do…while语句
先执行一次循环语句,然后再判断表达式是否满足循环条件。
代码结构
复制代码
1
2
3
4do 循环语句; while(表达式);
执行流程
语句特点
- 循环至少执行一次,使用的场景有限,所以不是经常使用。
- break在do…while循环中的作用:停止break之后的所有循环,直接跳出循环。
- continue在do…while循环中的作用就是:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
典型例题
- break实例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13#include <stdio.h> int main() { int i = 10; do { if(5 == i) break; printf("%dn", i); }while(i<10); return 0; }
输出结果:10,do…while语句至少执行一次,不满足循环条件跳出循环体
- continue实例
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13#include <stdio.h> int main() { int i = 10; do { if(5 == i) continue; printf("%dn", i); }while(i<10); return 0; }
输出结果:10,do…while语句至少执行一次,不满足循环条件跳出循环体
for语句
在while循环中存在循环的三个必须条件(循环变量、循环体和终止条件),由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹,因此for循环使用的频率也最高。
代码结构
复制代码
1
2
3for(表达式1;表达式2;表达式3) 循环语句;
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
执行流程
语句特点
- 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
- 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
典型例题
- 计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#include <stdio.h> int main() { int i = 0; int j = 0; double sum1 = 0; double sum2 = 0; double sum = 0; for (i = 1; i <= 100; i+=2) { sum1 += 1.0 / i; } for (j = 2; j <= 100; j+=2) { sum2 += 1.0 / j; } sum = sum1 - sum2; printf("%fn", sum); return 0; }
输出结果:
- 在屏幕上输出9 * 9乘法口诀表
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#include <stdio.h> int main() { int i = 0; int j = 0; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { if (i >= j) printf("%d*%d=%dt",j,i,i*j ); } printf("n"); } return 0; }
输出结果:
- 编写程序数一下 1到 100 的所有整数中出现多少个数字9
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28#include <stdio.h> int main() { int m = 0; int n = 0; int i = 0; int count = 0; for (i = 1; i <= 100; i++) { m = i / 10; n = i % 10; if (m > 8 && m < 10) { printf("%d ", i); count++; } if (n > 8 && n < 10) { printf("%d ", i); count++; } } printf("ncount=%dn", count); return 0; }
输出结果:
4. 求10 个整数中最大值
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#include <stdio.h> int main() { int i = 0; int max = 0; int a[10] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 }; for (i = 0; i < 10; i++) { if (a[i] > a[i + 1]) max = a[i]; else max = a[i + 1]; } printf("%dn", max); return 0; }
输出结果:
最后
以上就是疯狂红酒最近收集整理的关于C语言中的循环结构循环结构的全部内容,更多相关C语言中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复