900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C语言循环结构(while循环 do...while循环 for循环)

C语言循环结构(while循环 do...while循环 for循环)

时间:2018-10-08 13:12:19

相关推荐

C语言循环结构(while循环 do...while循环 for循环)

while 循环

只要控制表达式为 true,while 循环就会反复地执行语句:

while (表达式)语句

先计算循环条件(也就是控制表达式)。如果为 true,就执行循环体,然后再次计算控制表达式。如果控制表达式为 false,程序跳过循环体,而去执行循环体后面的语句。

从语法上讲,循环体只有一条语句组成。如果需要执行多条语句时,可以使用语句块把它们组合在一起。例 1 展示了一个简单的 while 循环,整数逆序。

【例1】一个while循环 (整数逆序):

// 输入一个整数,输出该数的逆序#include <stdio.h>int main(){int x;scanf("%d", &x);int digit;int ret = 0;while ( x> 0 ) {digit = x%10;printf("%d", digit);ret = ret*10 + digit;// printf("x=%d,digit=%d,ret=%d\n", x, digit, ret);x /= 10;}// printf("%d", ret);return 0;}

while 循环流程图:

do…while 循环

do…while 循环是一种底部驱动的循环:

do 语句 while (表达式)

在控制表达式被第一次计算之前,循环体语句会首先被执行一次。与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。

例 2 展示了一个do… while 循环,数位数。

【例2】一个do… while 循环(数位数):

//输入一个整数,输出该数的位数#include<stdio.h>int main(){int x;int n=0;scanf("%d",&x);do {n++;x /= 10;}while( x> 0 ); printf("%d\n",n) ;return 0;}

do…while 循环流程图

for 循环

和 while 一样,for 循环也是一个顶部驱动的循环,但是它包含了更多的循环逻辑,如下所示:

for ( [表达式1] ; [表达式2] ; [表达式3] )

语句

在一个典型的 for 循环中,在循环体顶部,下述三个动作需要执行:

(1) 表达式 1:初始化

只计算一次。在计算控制表达式之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。

(2) 表达式 2:控制表达式

每轮循环前都要计算控制表达式,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。

(3) 表达式 3:调节器

调节器(例如计数器自增)在每轮循环结束后且表达式 2 计算前执行。即,在运行了调节器后,执行表达式 2,以进行判断。

例 3 展示了一个 for 循环,计算一个数的 n! 。

【例3】一个for 循环:

#include<stdio.h>int main(){int n;scanf("%d",&n);int fact = 1;int i = 1;for ( i=1; i<=n; i++){fact *=i;}printf("%d!=%d\n",n,fact);return 0;}

for 循环的流程图:

for 循环中的每一个表达式都是可以省略的,for ( ; 条件 ; ) == while ( 条件 )。

例3 中的循环:

for ( i=1; i<=n; i++){fact *=i;}

可以改写为 while 循环 如下所示;

int i = 1;while ( i<=n ){fact *=n;i++;}

Tips for loops

如果有固定次数用 for必须执行一次用 do…while其他情况用 while

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。