3.5 跳转语句
C+ +中有4种跳转语句,它们是:break语句、continue语句、return语句和goto语句。
1break语句
break语句又称为跳出语句,其语法格式如下:
break;
即由关键字break加上一个分号构成。
break语句只能用在switch语句和循环语句中。在switch语句中,break用来使执行流程跳出switch语句,而继续执行switch后面的语句。在循环语句中,break用来使执行流程无条件地跳出本层循环体。
另外,break语句还经常用于使执行流程跳出死循环。
2continue语句
continue语句又称为继续语句,其语法格式如下:
continue;
即由关键字continue加上一个分号构成。
continue语句仅用在循环语句中,它的功能是:结束本次循环,即跳过循环中尚未执行的语句,接着进行下一次是否执行循环的条件判定。
在while和do…while循环中,continue语句将使执行流程直接跳转到循环条件的判定部分,然后决定循环是否继续进行。在for循环中,当遇到continue时,执行流程将跳过循环中余下的语句,而转去执行for语句中的<表达式3>,然后根据<表达式2>进行循环条件的判定以决定是否继续执行for循环体。
3return语句
return语句又称为返回语句,它具有两种语法格式:
(1)return;
(2)return<表达式>;
其中,return为关键字,第2种格式中的<表达式>可以是任何类型的C+ +表达式。
return语句只能用在函数体中。在返回类型为void的函数体中,若想跳出函数体,将执行流程转移到调用该函数的位置,应使用return语句的第1种格式。在返回类型不是void的函数体中,应使用return语句的第2种格式,使执行流程转移到调用该函数的位置,并将<表达式>的值作为函数的返回值。
对于非void返回类型的函数来说,其函数体中必须至少具有一条return语句。
4goto语句
goto语句又称为转向语句,其语法格式如下:
goto<标号>;
其中,goto为关键字;<标号>是一个由用户命名的标识符。在goto语句所处的函数体中必须同时存在一条由<标号>标记的语句,其格式为:
<标号>:<语句>
即在<标号>和<语句>之间使用一个冒号分隔,这种语法结构称为标号语句。标号语句中的<标号>应与goto语句中的<标号>相同,<语句>可以是任何类型的C+ +语句。注意:某个goto语句和相应的标号语句必须位于同一函数体内。
goto语句的功能是使执行流程跳转到<标号>所标记的<语句>处(即对应的标号语句处)。