第五章 循环控制(二)

二、for语句

1、for语句的一般形式

for 循环语句非常灵活,针对确定循环次数和不确定循环次数的情况,for 语句都可以处理,所以for语句是能够取代while语句的,但是否真取代,取决于使用习惯。

格式:

for(表达式1;表达式2;表达式3;){     //内嵌的语句只有1条语句时,可以省略{}

内嵌的语句

}

for 语句的执行步骤如下:

(1)求解表达式 1 的值。

(2)求解表达式 2 的值。

(3)若表达式 2 的值为真(非 0),则执行 for 语句中指定的内嵌语句 ,同时求解表达式 3,反复循环步骤 2,直到表达式 2的值为假,若表达式 2 的值为假 (0) ,则循环结束 ,跳到整个 for 语句后面的语句去执行。

for语句的执行流程图如下:

表达式1只会被求解(执行)一次,而表达2和表达式3会被执行多次。

for 语句最简单也是最常用的应用形式如下:

for (循环变量赋韧值,循环变量结束条件,循环变量增加值){

内嵌的语句;

}

例:用 for 语句实现从 1 到 100 的加法运算。

2、for语句的主要说明

(1)表达式 1 可以省略 ,但其后面的分号 ; 不能省略,当表达式 1 省略时,应该在 for语句之前就给循环变量赋初值。当然,这种写法相对比较少见,把上面从 1 加到 100 的加法运算例子稍微改造一下 :

(2)表达式 2 可以省略, 也就是不判断循环结束条件,但分号依旧不能省略,那么循环就会无终止地进行下去,此时,就必须用 break语句终止for循环,break语句后面会讲到。这种写法相对比较少见。

例:

(3)表达式 3 可以省略, 但必须保证循环能正常结束,否则循环会无终止地进行下去。这种写法相对也不多见。

例:

(4)可以省略表达式 1 、表达式 3,只写表达式 2,要注意该保留的分号必须要保留。

例:

(5) 三个表达式都省略:不设置初值,不判断条件(认为条件一直为真),循环变量值不增加,这会导致无终止地执行循环体。这种写法在一些实际项目中会看到,需要认识一下。

相当于:

这种写法的循环要想终止执行,必须要在for 的内嵌语句中,根据一定的条件增加break语句来跳出循环体。

(6)表达式1可以用于设置循环变量的初值,也可以是与循环变量无关的其他表达式。

例:

(7) 表达式1和表达式3 都可以是简单表达式或者逗号表达式, 不过这种用法比较少见。注意:表达式1只被执行 一次,但表达式3是循环体执行几次,它就执行几次。

例:

(8)表达式2的值一般是关系表达式或者逻辑表达式,但只要其值为非 0,就执行循环体,这种用法也比较少见。

例:

虽然for语句有各种各样的花哨用法 ,但建议还是中规中矩地使用,这样也方便他人阅读,最传统的for语句用法如下:

int i;

for(i=0;i<=100;i++){

    //一系列要执行的语句

}

或者直接把变量i的定义与初始化写在一起 ,如下(这是 C++的写法而非 C 语言的写法了):

for(int i=0;i<=100;i++){

    //一系列要执行的语句

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值