C语言提供了多种循环语句,可以组成各种不同形式的循环结构:
- 使用goto语句和if语句构成循环
- while语句
- do-while语句
- for语句
goto语句以及goto语句构成循环
goto语句是一种无条件转移语句。
使用格式为:goto 语句标号;
其中语句标号是一个有效的标识符,在要跳转到位置前加上“语句标号:”,执行goto语句后,程序会跳转到该标号处并执行其后的语句。
标号必须与goto语句同处于一个函数中;通常goto与if条件语句连用,当满足某一条件,则跳转到标号处运行
while语句
一般形式为:while(表达式) 语句
语义是,计算表达式中的中,如果为真,则执行循环体语句
do-while语句
do-while语句的一般表现形式为:
do{
语句
}while;
与while不同在于,它执行循环中的语句,然后再判断表达式是否为真,为真则继续循环;为假则终止循环。
do-while至少要执行一次循环体
for语言
一般形式为:for(表达式1; 表达式2; 表达式3) 语句
执行过程:
- 先求解表达式1
- 求解表达式2,若值为真,则执行for语言中指定的内嵌语句,若为假则结束循环
- 执行完内嵌语句之后,进行求解表达式3
for循环最简单的应用形式:
for(循环变量赋初值; 循环条件; 循环变量增量) 语句
- 循环变量赋初值是一个赋值语句,用于给控制循环的变量赋初值
- 循环条件是一个关系表达式,决定了什么时候退出
- 循环变量增量:定义循环每次执行后循环变量发生什么变化
使用for循环时注意:
- for循环中的表达式1、2、3都是可以省略的,但是之间的“;”不可以省略
- 省略了循环变量赋初值,表示不对循环控制变量进行初始的赋值
- 省略了循环条件,则无其他处理变为死循环
- 省略循环变量增量,则不对循环控制变量进行操作;也可以将对循环变量修改的语句放在循环语句中
- for其中的循环变量初始赋值语句和循环变量增量语句,除了可以是简单的语句,也可以是”,语句”
break和continue语句
break语句
break同在出现在循环语句和开关语句(switch)中
当用于switch中,可使程序跳出switch尔跳过switch后面的语句;如果没有break,则将继续执行case满足的条件的执行语句的后面的语句
当用于while、do-while、for的时候,可使程序钟旨当前循环(跳出当前循环),一般与if共同使用,当满足if条件的时候则跳出当前循环
- 在循环嵌套中,一个break只向外跳出一层循环,跳出最近的一层循环
- break在if分支语句中不起作用
continue语句
continue语句的作用是跳过本次循环,而强制执行下一次循环;continue只用于循环结构中,与if共同使用,当满足if表达式的条件的时候,则跳出当前循环,不在执行后面的语句,强制从头开始