C语言之循环结构

循环的三大结构(for,while,do while)。

1.for循环

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

   循环体语句;

for语句的执行循序:首先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分,表达式2 的结果如果==0,则循环结束;表达式2 的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表达式3 ,调整循环变量,然后再去表达式2 的地方执行判断, 表达式2 的结果是否为0,决定循环是否继续。

整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。

 

表达式1:初值表达式,用于循环变量的初始化,只执行一次。

表达式2:条件表达式,用于循环结束条件的判断。一旦表达式为“假”,循环结束。

表达式3:步长表达式,用于循环变量的调整。

循环体语句:被反复执行的语句,只能是一条语句,如果要多条语句,要用大括号括起来组成复合语句。

相关例题:

注意语句2并不属于循环,所以只做了1次。

答案:10   ; 1   ; 10   ;   101 ;

2.while循环

while(表达式)

    循环体结构;

while先判断表达式,表达式为真,循环执行;表达式为假,循环终止。 

注意:1.    0为假,非0为真。while(2),while(x=2)都是死循环。

           2.    while循环里要有能改变循环条件真假性的操作。

3.while和for循环的比较

forwhile在实现循环的过程中都有初始化、判断、调整这三个部分,但是for循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候while循环的三个部分就比较分散,所以从形式上for循环要更优一些。

4.do while 循环

do 

      语句;

while(表达式);

while和for这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环。

而 do while 循环则是先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。

执行流程如下图:

do while循环中先执行图上的“语句”,执行完语句,在去执行“判断表达式”,判断表达式的

结果是不为0,则继续循环,执行循环语句;判断表达式的结果为0,则循环结束。

所以在do while语句中循环体是至少执行一次的,这是do while 循环比较特殊的地方。

5.循环中的break和continue

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了break和continue两个关键字,就是应该到循环中的。

  • break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。
  • continue的作用是跳过本次循环continue后边的代码,在for循环和while 循环中有所差异的。
#include <stdio.h>
int main()
{
     int i = 1;
     while(i<=10)
     {
     if(i == 5)continue;
     //当i等于5后,就执行continue,直接跳过continue的代码,去循环的判断的地方
     printf("%d ", i);
     i = i+1;
     }
     return 0;
}

因为这里跳过了i = i+1,所以i一直为5,程序陷入和死循环 ,而for循环不同。

#include <stdio.h>
int main()
{
    int i = 1;
    for(i=1; i<=10; i++)
    {
     if(i == 5)
     continue;//这里continue跳过了后边的打印,来到了i++的调整部分
     printf("%d ", i);
     }
    return 0;
}

这里只有5不被输出,因为输出的语句被跳过,但是i++的语句依然被执行,所以不是死循环。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值