自學黑馬系列C++基礎之跳轉語句

木然而闌珊發表於2020-11-24

跳轉語句有三個:分別是 break continue goto

  1. break
    break在迴圈中,表示跳出迴圈。如果用在巢狀迴圈中的內層迴圈中,表示跳出內層迴圈,如果再外層迴圈中,表示跳出外層迴圈。
    在switch-case結構中,一般用在各層case語句的最後,用於結束本層的case語句。
    用在條件語句中,表示跳出條件語句。
    內層迴圈使用break:
    示例:
#include <iostream>

int main(void)
{


        for(int i=1; i<=9; i++){
                for(int j=1; j<=i; j++){
                        if(j>4){
                                break;
                        }
                        std::cout << j << "*" << i << "=" << i*j << "\t";
                }
                std::cout<< std::endl;
        }

        return 0;
}
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T3
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	
1*6=6	2*6=12	3*6=18	4*6=24	
1*7=7	2*7=14	3*7=21	4*7=28	
1*8=8	2*8=16	3*8=24	4*8=32	
1*9=9	2*9=18	3*9=27	4*9=36	
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ 

外層迴圈用break:

#include <iostream>

int main(void)
{


        for(int i=1; i<=9; i++){
                if(i > 4){
                        break;
                }
                for(int j=1; j<=i; j++){
                        std::cout << j << "*" << i << "=" << i*j << "\t";
                }
                std::cout<< std::endl;
        }

        return 0;
}
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T3
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ 

  1. continue
    表示結束本次餘下的語句。
    例如:
    continue用在外層迴圈中,當i==4時,下面的for迴圈就不執行了,但是也沒有跳出迴圈,當i!=4時,繼續迴圈下面的輸出。
#include <iostream>

int main(void)
{


        for(int i=1; i<=9; i++){
                if(i == 4){
                        continue;
                }
                for(int j=1; j<=i; j++){
                        std::cout << j << "*" << i << "=" << i*j << "\t";
                }
                std::cout<< std::endl;
        }

        return 0;
}

沒有輸出第四行14 24 34 44

ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T3
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ 
  1. goto
    goto的語法:
    goto flag;
    flag:
    示例:
#include <iostream>

int main(void)
{

        for(int i=1; i<=9; i++){
                if(i == 4){
                        goto flag;
                }
                for(int j=1; j<=i; j++){
                        std::cout << j << "*" << i << "=" << i*j << "\t";
                }
                std::cout<< std::endl;
        }

flag:
        std::cout << "goto " << std::endl;

        return 0;
}

ubuntu@VM-0-16-ubuntu:~/lijh/cc$ ./T3
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
goto 
ubuntu@VM-0-16-ubuntu:~/lijh/cc$ 

一般不用goto,以防程式混亂。謹用goto。

相關文章