六、循环控制

第六章、循环控制

一、goto语句以及用goto语句构成循环

1.goto语句为无条件转向语句,他的一般形式为------goto 语句标识符;

一般来说,goto语句有两种用途:

(1)与if语句一起构成循环结构。

(2)从循环体中跳转到循环体外,但在C语言中可以用break语句和continue语句跳出本层循环和结束本次循环。goto语句的使用机会已大大减少,只是需要从多层循环的内层循环跳到外层循环外时才用到goto语句。但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能大大提高效率)才使用。

二、while语句循环(循环体可能一次不执行)

1.循环语句的三要素

int main(void)

{

int sum = 0;

int i;

i = 1; ——————————————(1)循环变量初始化:

while(i <= 100) ——————————(2)循环的执行条件

{

sum += i;

++i;  ——————————————(3)又使循环趋于结束的语句

}

printf("%d\n", sum);

return 0;

}        

  • do...while循环(循环体至少执行一次)

int main(void)

{

int sum = 0;

int i;

i = 1;

do

{

sum += i;

++i;

}while(i <= 100);————————后面的分号不能少。

printf("%d\n", sum);

return 0;

}

  • for语句循环

for语句的一般形式为

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

表达式1--循环变量初始化 表达式2--循环条件 表达式3--使趋于循环结束的条件

它的执行过程如下:

(1)先求解表达式1。

(2)求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后

执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。

(3)求解表达式3。

(4)转回上面第(2)步骤继续执行。

(5)循环结束,执行for语句下面的一个语句。

int main(void)

int sum = 0;

{

int i;

i = 1;

for(i = 1;i <= 100;++i)

{

sum += i;

}

printf("%d\n", sum)

return 0;

}

  • 循环的嵌套(内层循环比外层循环运行的更快)一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。3种循环(while循环、do…while循环和for循环)可以互相嵌套。
  • 几个循环的比较:用while和do…while循环时,循环变量初始化的操作应在while和do…while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。while循环、do…while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。
  • break语句和continue语句

1.break语句可以终止当前循环。(对于for循环在跳出循环后不会执行表达式三)

循环的控制语句有下列两种:

       break语句也可以用来跳出循环体。continue语句也会终止当前循环,和break语句不同的是,continue语句终止当前循环后又回到循环体的开头准备执行下一次循环。

        对于while循环和do/while循环,执行continue语句之后测试控制表达式,如果值为真则继续执行下一次循环;

        对于for循环,执行continue语句之后首先计算控制表达式3,然后测试控制表达式2,如果值为真则继续执行下一次循环。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值