控制流

若如初见. 提交于 2019-11-28 22:03:08

控制流


1 语句与程序块

在表达式之后加上一个分号,就变成了语句。

用一对花括号 { } 把一组声明和语句括在一起就构成了一个复合语句(程序块)。

2 条件语句

2.1 if-else语句

else部分是可选的,该语句先计算表达式的值,若其值为真(非0)则执行语句1,若其值为假(0)则执行语句2。在嵌套的if语句中将每个else与最近的前一个没有else配对的if进行匹配。使用花括号可以强制实现匹配关系。

/* 用于条件判定 */
if(exp1)
    statement1;
else
    statement2;

2.2 else-if语句

编写多路判定最常用的方法。其中各表达式将被一次求值,一旦某个表达式为真,则执行与之相关的语句,并终止整个语句的执行。最后一个else用于处理上述条件均不成立或默认情况,可省略。

if(exp1)
    statement1;
else if(exp2)
    statement2;
else
    statement3;

2.3 switch语句

switch语句中,case的作用只是一个标号,某个分支中的代码执行完后,程序将进入下一分支继续执行,除非在程序中显式地跳转。正常情况下为了防止直接进入下一个分支执行,每个分支后必须以一个break语句结束。

switch(exp){
    case exp1:
        statement1;
    case exp2:
        statement2;
    default:
        statement3;
}

3 循环语句

3.1 while、do-while循环

while(exp)
    statement;

do
    statement;
while(exp);

while:先求表达式的值,若其值为真则执行语句,并再次求该表达式的值。这一循环过程一直进行,直到该表达式的值为假为止。

do-while:先执行循环体中的语句,再求表达式的值,若表达式的值为真则再次执行语句,直到表达式的值为假时终止循环。故循环体中的语句至少执行一次。

3.2 for循环

表达式1和表达式3是赋值表达式或函数调用,表达式2是关系表达式。这3个组成部分都可以省略,但分号必须保留。省略表达式1和表达式3则退化成while语句,省略表达式2则认为其值永远为真。

在for语句中,被逗号分割的一对表达式将按从左到右的顺序进行求值,可以将多个表达式放在各个语句成分中。

for(exp1; exp2; exp3)
    statement;
//等价于
exp1;
while(exp2){
    statement;
    exp3;
}

当循环中没有初始化操作时,使用while循环语句更自然一些,当语句中需要执行简单初始化和变量递增时,使用for语句更合适一些。

3.3 break和continue语句

break:使程序从switch语句或最内层循环中立即跳出。

continue:使循环语句开始下一次循环的执行,不用于switch语句。

3.4 goto语句与标号

goto:可以终止程序在某些深度嵌套的结构中的处理过程。

标号:后面要紧跟一个冒号,标号可以位于对应的goto语句所在函数的任何语句前面。标号的作用域是整个函数。

语句与标号

goto:可以终止程序在某些深度嵌套的结构中的处理过程。

标号:后面要紧跟一个冒号,标号可以位于对应的goto语句所在函数的任何语句前面。标号的作用域是整个函数。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!