Python實戰社羣php
Java實戰社羣程序員
長按識別下方二維碼,按需求添加web
掃碼關注添加客服編程
進Python社羣▲微信
掃碼關注添加客服函數
進Java社羣▲編碼
做者丨李肖遙
spa
來源丨技術讓夢想更偉大(ID:TechDreamer)
code
前言
循環裏Continue,Break,Return常常會用到,也是很容易出錯的一個坑,今天特意花個時間來總結下,在循環裏使用Continue,Break,Return的不一樣效果是什麼?圖片
Continue 語句
涵義
C 語言中的 continue 語句有點像 break 語句,所不一樣的是,它不是強制終止,continue 會跳過當前循環中的代碼,強迫開始下一次循環迭代。
對於 for 循環,continue 語句執行後,自增語句仍然會執行。
對於 while 和 do...while 循環,continue 語句從新執行條件判斷語句。
語法
流程圖
實例
多層 for 循環實例以下:
#include <stdio.h> int main () { int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ continue; } printf("j 的值: %d\n",j); } } return 0; }
編譯結果以下,咱們能夠得出結論,在雙層FOR循環中,在內循環使用Continue,只會在內循環中跳過此處循環,小循環繼續執行,不會跳過大循環。
咱們再舉一個while循環的例子以下:
#include <stdio.h> int main () { int a = 0; do { if( a == 5) { /* 跳過迭代 */ a = a + 1; continue; } printf("a 的值: %d\n", a); a++; }while( a < 10 ); return 0; }
輸出以下:
Break 語句
在循環中,關鍵詞Break,做用是跳出循環,通常有如下兩種用法:
當 break 語句出如今一個循環內時,循環會當即終止,且程序流將繼續執行緊接着循環的下一條語句。
它可用於終止 switch 語句中的一個 case。
若是使用的是嵌套循環,break 語句會中止執行最內層的循環,而後開始執行該塊以後的下一行代碼。
注意:
break語句對if-else的條件語句不起做用。
在多層循環中,一個break語句只向外跳一層。
因爲它是用來退出循環或者switch語句的, 因此只有當它出如今這些語句的時候, 這種形式的break語句纔是合法的。
語法
流程圖
實例
以下:
#include <stdio.h> int main () { int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ break; } printf("j 的值: %d\n",j); } printf("\n"); } return 0; }
編譯結果以下,咱們能夠看到在雙層FOR循環中,在內循環使用Break,只會在內循環中結束本次循環,小循環結束這次執行,不會跳過大循環。
咱們再舉一個while循環的例子以下:
#include <stdio.h> int main () { int a = 0; do { printf("a 的值:%d\n" , a ); a = a + 1; if( a > 5) { // 終止循環 break; } }while( a < 10 ); return 0; }
輸出以下:
Return
在循環中,Return語句,做用是結束本次循環,將函數調用棧彈棧,恢復現場。
說的簡單點兒就是結束當前的函數,返回函數執行結果,回到本函數被調用處繼續執行。
咱們舉個例子以下:
#include <stdio.h> int main () { int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); for (j = 0; j < 3; j++ ) { if( j==1){ return; } printf("j 的值: %d\n",j); } } return 0; }
輸出以下:
提問思考?
不知道大對上面的解釋有沒有理解清楚,這裏提出3個問題,若是一看即知道答案,那麼確定沒有問題了。
一樣是跳出循環,return和break有什麼區別?
一樣是中斷執行,return和return false有什麼區別?
在什麼應用場景下咱們會用到break或continue?
程序員專欄 掃碼關注填加客服 長按識別下方二維碼進羣 近期精彩內容推薦: 程序員買房先後對比,看完後已哭瞎... 內部泄露版!互聯網大廠的薪資和職級一覽 Google 出品的 Java 編碼規範 Python編程 高階函數使用技巧 在看點這裏好文分享給更多人↓↓