跳转语句中断继续转到退出

中断指令:

使用 break 我们可以留下一个循环,即使它的结束条件没有得到满足。它可用于结束无限循环,或强制它在自然结束之前结束

语法是

break;

示例 :我们经常在 switch 情况下使用 break,即一旦满足 i 开关的情况,则执行该条件的代码块。

switch(conditon){
case 1: block1;
case 2: block2;
case 3: block3;
default: blockdefault;
} 

在这种情况下,如果满足情况 1 然后执行块 1,我们真正想要的只是要处理的块 1,而是一旦处理了块 1,剩余块,块 2,块 3 和块默认也被处理,即使只有情况 1 被满足为了避免这种情况,我们在每个块的末尾使用 break,如:

switch(condition){
case 1: block1;
        break;
case 2: block2;
        break;
case 3: block3;
        break;
default: blockdefault;
        break;
}

因此只处理了一个块,控制器移出开关循环。

break 也可用于其他条件和非条件循环,如 ifwhilefor 等;

例:

if(condition1){
   ....
   if(condition2){
    .......
    break;
    }
 ...
}

继续说明:

continue 指令使程序在当前迭代中跳过循环的其余部分,就好像已经到达语句块的结尾一样,导致它跳转到下一次迭代。

语法是

continue;

示例考虑以下内容:

for(int i=0;i<10;i++){
if(i%2==0)
continue;
cout<<"\n @"<<i;
}

产生输出:

 @1
 @3
 @5
 @7
 @9

我的代码只要满足 i%2==0 条件 continue 被处理,这会导致编译器跳过所有剩余的代码(打印 @和 i),并且循环的递增/递减语句被执行。

https://i.stack.imgur.com/Fbuep.jpg

goto 指令:

它允许绝对跳转到程序中的另一个点。你应该小心使用此功能,因为它的执行会忽略任何类型的嵌套限制。目标点由标签标识,然后标签用作 goto 指令的参数。标签由有效标识符后跟冒号(:)组成

语法是

goto label;
..
.
label: statement;

注意: 强烈建议不要使用 goto 语句,因为它很难跟踪程序的控制流程,使程序难以理解且难以修改。

https://i.stack.imgur.com/Li8ZR.jpg

示例:

int num = 1;
STEP:
do{
 
    if( num%2==0 )
    {
        num = num + 1;
        goto STEP;
     }

   cout << "value of num : " << num << endl;
   num = num + 1;
 }while( num < 10 );

输出:

value of num : 1
value of num : 3
value of num : 5
value of num : 7
value of num : 9

只要条件 num%2==0 满足,goto 就会将执行控制发送到 do-while 循环的开头。

退出功能:

exitcstdlib 中定义的函数。exit 的目的是使用特定的退出代码终止正在运行的程序。它的原型是:

void exit (int exit code);

cstdlib 定义了标准退出代码 EXIT_SUCCESSEXIT_FAILURE