C 知识量:16 - 74 - 317
while循环和for循环都是入口条件循环,即在每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容。C语言还有出口条件循环,即在每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次。示例:
#include <stdio.h> int main(void) { int i = 0; do { printf("Working!i is :%d\n", i); i++; } while (i < 10); system("pause"); return 0; }
do while循环的通用形式为:
do statement while (expression);
其中,statement可以是简单语句或复合语句。do while循环以分号结尾。do while循环适用于需要至少迭代一次的循环。
选择使用哪一种循环结构时,首先要确定需要入口条件循环还是出口条件循环。入口条件循环使用的比较多,因为:一是在执行循环前测试条件比安全,更符合人的思维方式;二是测试放在循环的开头,程序的可读性更高。三是许多情况下要求如果不满足条件,就直接跳过整个循环。出口条件循环一般适用于需要至少执行一次循环的情况。
对于使用入口条件循环的情况,for循环一般优于while循环,因为:一是结构比较紧凑,书写方便;二是循环条件集中设置,不容易出错。但是对于在判断条件中嵌入scanf()函数的情况,while循环更合适。
嵌套循环是指在一个循环内包含另一个循环。嵌套循环常用于按行和列显示数据,即一个循环处理一行中的所有列,另一个循环处理所有的行。示例:打印乘法口诀表。
#include <stdio.h> int main(void) { int x, y; for (x = 1; x <= 9; x++) { for (y = 1; y <= x; y++) { printf("%d*%d=%-2d ", y, x, x * y); } printf("\n"); } system("pause"); return 0; }
运行结果为:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
从以上代码中可以看出,外层循环可以影响内层循环。y代表第1个乘数,x代表第2个乘数,y的值不能大于x的值。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6