C语言有三大循环语句,他们分别是:for循环语句、while循环语句、do-while循环语句。下面具体谈谈这三种循环语句吧!
for循环
for循环的一般形式如下:
for(初始化;条件表达式;增量) | |
{ | |
语句; | |
} |
初始化是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定何时退出循环; 增量定义循环控制变量每循环一次后如何变化。这三个部分之间用英文的分号分开。
for循环实例:输出九九乘法表,源代码如下:
int main() { | |
for (int i = 1; i < 10; ++i) { | |
for (int j = 1; j < 10; ++j) { | |
if (j>=i) | |
{ | |
printf("%d * %d = %2d",i,j,i*j); | |
printf(" "); | |
} | |
} | |
printf("\n"); | |
} | |
return 0; | |
} |
运行编译上面的源代码,将会输出以下结果:
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 | |
2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 | |
3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 | |
4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 | |
5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 | |
6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 | |
7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 | |
8 * 8 = 64 8 * 9 = 72 | |
9 * 9 = 81 | |
while循环
while循环的一般形式如下:
while(条件) | |
{ | |
语句; | |
} |
while循环里,条件可以是一个单独的语句,也可以是几个语句组成的代码块。语句可以是任意的表达式,当为任意非零值时都为true。当条件为true时执行循环。当条件为false时,程序流将继续执行紧接着循环的下一条语句。
while循环实例:输出20以内的偶数,源代码如下:
int main() { | |
int n = 20; | |
while (n>0) | |
{ | |
if (n%2==0) | |
{ | |
printf("%d ",n); | |
} | |
n--; | |
} | |
return 0; | |
} |
运行编译上面的源代码,将会输出以下结果:
20 18 16 14 12 10 8 6 4 2
do...while循环
do...while循环是在循环的尾部检查它的条件。do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。do...while循环的一般形式如下:
do{ | |
语句; | |
}while(条件); |
do...while循环里,条件表达式出现在循环的尾部,所以循环中的语句会在条件被测试之前至少执行一次。如果条件为真,控制流会跳转回上面的do,然后重新执行循环中的语句。这个过程会不断重复,直到给定条件变为假为止。
do...while循环实例:输出20以内的奇数,源代码如下:
int main() { | |
int n = 20; | |
do { | |
if (n%2!=0) | |
{ | |
printf("%d ",n); | |
} | |
} while (n--); | |
return 0; | |
} |
运行编译上面的源代码,将会输出以下结果:
19 17 15 13 11 9 7 5 3 1