c語言巢狀迴圈中的continue語句

2021-03-29 13:00:29 字數 5977 閱讀 3166

1樓:文化廚子

continue語句:表示終止本次(本輪)迴圈。當**執行到continue 時,本輪迴圈終止,進入下一輪迴圈。比如下面的**:

#include

int main()

}return 0;

}當i + j的和是偶數時,輸出i、j、i+j的值,當不是偶數時則終止本次迴圈,終止本次迴圈,執行下一輪的條件判斷,它只侷限於continue語句所在的迴圈語句,即第二個for語句中。

事實上,continue語句的執行,和迴圈是不是巢狀沒有任何關係。

2樓:匿名使用者

continue在這裡是用來跳出第二個while 跳出的是輸入字串的動作

這段**的意思是 用while迴圈來實現輸入一段字串 you are rong!

當我們輸入的字元為回車時則停止輸入並顯示已經輸入的字元

3樓:匿名使用者

這裡的continue語句是跳轉到while(getchar()=='y')的迴圈體裡面,

這裡的continue語句是跳出while(getchar()=='\n')這一句的,

因為它是屬於while(getchar()=='\n')的迴圈體

4樓:皮3帥

continue是跳出當次迴圈 進入下次迴圈

c語言for語句巢狀中的continue

5樓:匿名使用者

continue的意思是跳過這個語句後面的迴圈體,直接進入下一輪迴圈。當然for迴圈語句的話,還要先執行for語句第二個分號後面的語句,這裡即為c++。

迴圈巢狀,用括號分開,就看得清楚了。

#include

void main()}}}

6樓:匿名使用者

for是巢狀,continue是指跳出此次迴圈繼續內部for的程式,因為是巢狀for,如果沒有這個continue那麼就會直接進行外部的for語句。

c語言裡,在迴圈巢狀中continue語句跳出本次迴圈時,跳出的是內迴圈還是整個外迴圈?

7樓:匿名使用者

continue 均是跳出內迴圈 ,

如果你要跳出外迴圈 只有自己加個跳出標識

在迴圈前判斷標識,手動跳出

8樓:匿名使用者

是內迴圈啊,continue跳過的是當前迴圈的這一次操作,繼續進行當前迴圈的 下一次操作

9樓:匿名使用者

一般做法是每一級迴圈定義一個額外的標誌來決定迴圈是否退出,如:

bool bisend = false;

while(!bisend)} }

關於c語言continue在巢狀迴圈語句下的作用.

10樓:

for(k=0;ka[k][maxj]) //將最大數與該列元素比較

回到 k 迴圈,做下一個 (k=k+1) 迴圈

11樓:匿名使用者

執行到continue之後,跳出當前迴圈,即k的迴圈不做了,繼續執行k迴圈後面的語句,這裡就是對flag的判斷語句,而後,再繼續執行i++,continue與break 都是隻能跳出一層迴圈~多層迴圈的跳出可以嘗試return的用法,或者直接程式結束exit~

12樓:匿名使用者

魚魚愛葉子 說得對執行k++

關於c語言。continue語句。 有兩個迴圈內迴圈和外迴圈。執行內迴圈時遇 5

13樓:0揮不去的傷痛

continue在哪執行哪的迴圈,在內迴圈就重新執行內迴圈。

如下版:

for(i=10;i<12;i++)

printf("%d\n",i);

}輸出結果權如下:02

100211

c語言中break和continue在各種迴圈中的用法,謝謝...

14樓:匿名使用者

c語言中continue與break的用法介紹

1. continue

continue 可用於 c 提供的全部三種迴圈結構。continue 會致使迴圈跳過迴圈體中餘下的語句,轉而判斷迴圈條件是否仍然成立,然後選擇是否再次進入迴圈體。如果 continue 位於迴圈巢狀中的一個內迴圈,則其僅能影響該內迴圈的執**況,而不會對外迴圈造成任何影響。

例如:| 功能: 統計從 1 到 n 中一共有多少個數字可以被 5 整除

#include

int main(void)

for ( j = 1, total = 0; j <= i; ++j )

++total; /* 統計從 1 到 i 一共有多少個數字可以被 5 整除 */

}printf("total: %d ", total);

} while ( i ) ; /* i 等於 0 時退出迴圈 */

}我們先來分析一下內迴圈。假設使用者輸入的是 5,則內迴圈的前四次迴圈中,j % 5 都為真,然後執行 continue; 跳過迴圈體中餘下的語句,直接執行 ++j,繼而判斷 j <= i 的真假性,從而選擇是否再次進入迴圈體。本內迴圈中,因為 continue 的關係,前四次迴圈 ++total; 都會被跳過。

第五次迴圈 j % 5 為假,不會執行 continue; ,++total; 終於得以被執行。

外迴圈中,假設使用者輸入 0,則 i == 0 為真,continue; 得以被執行,因此跳到 while ( i ),因為 i 為假,故外迴圈結束。如下圖所示:

請注意,本例中的內迴圈完全是出於演示目的才用 continue 的,這使**複雜化了,有違 continue 的初衷。continue 是為了簡化**而生的!本例中的內迴圈如果不使用 continue,**將會更簡單:

for ( j = 1, total = 0; j <= i; ++j ) }

記住,continue 是為了簡化**而生的!使用前請斟酌使用它是否能簡化**,如果不能,則不要用。

其實本例中的外迴圈也可以不用 continue。以下**沒有使用 continue,但其功能和上面使用 continue 的那段**完全一樣。

doelse }

printf("total: %d ", total);

}} while ( i ) ; /* i 等於 0 時退出迴圈 */

不過,本例中的外迴圈使用 continue 使得**的結構更加清晰明瞭,緊湊易讀,而且也沒有使**複雜化。本例中的外迴圈使用 continue 告訴我們,當 i 等於 0 時跳到 while ( i )。如果不用 continue 而採用上面這段**的話,當 i 等於 0 時,我們只能知道 else 下的那條複合語句不會被執行,卻不能確定執行完 printf("zero is not allow.

"); 後一定會跳到 while ( i ),因為我們不知道迴圈體中整個 if else 結構後面是否還有其它語句。

2. break

break 可用於 c 提供的全部三種迴圈結構,其作用是跳出迴圈。如果 break 位於迴圈巢狀中的一個內迴圈,則僅跳出該內迴圈。上例中,如果 i 等於 0 的話,肯定會退出外迴圈,所以其實上例中的外迴圈使用 break 更加合適。

下面我們來看一個例子:

/* 本段**僅用作演示目的,不要寫這樣的**!*/

int i, j, total;

while ( 1 )

for ( j = 0, total = 0; j != i; ++j )

/* 其它語句 */

}/* 其它語句 */

}/* 其它語句 */

當 i 等於 100 時,外迴圈中的 break; 會被執行,從而跳出 while 迴圈,轉而繼續執行 while 迴圈後的語句。如果 i 等於 50,則能進入 for 迴圈。for 迴圈中,當 (total += j) > 100 為真時,break; 會被執行,跳出 for 迴圈,轉而繼續執行 for 迴圈後的語句。

如下圖所示:

和 continue 一樣,break 也是為了簡化**而生的!上面這段**完全是為了演示 break 而瞎編的,導致**複雜化了,請試著將其簡化。

15樓:匿名使用者

break:提前結束迴圈,即從迴圈體內跳出迴圈體.當它用於 do while , for ,while 時 可終止迴圈而執行後面的語句.

通常break總與if 語句一起使用,應用廣泛而巧妙!

continue:跳過本次迴圈體中剩餘的語句重新判斷迴圈條件!

功能 是結束本次迴圈 ,轉向迴圈條件,重新執行下一次迴圈!!

好好領會吧!

16樓:匿名使用者

break是退出迴圈

continue是停止下面的語句 重新迴圈for和while沒什麼不同的

for大多用在已知迴圈次數

while用在未知迴圈次數的問題

do while和while的不同是 do while是先執行一次迴圈再判斷真假 也就是最少要迴圈一次

17樓:匿名使用者

都一樣,

break是跳出迴圈

continue是不執行迴圈內continue語句以下的**,直接跳到下一次迴圈

18樓:匿名使用者

continue停止此次迴圈也就是這次迴圈continue下面的語句不用在執行,break終止迴圈.

c語言迴圈語句中用「continue」跳出內層迴圈後 會再次進入內層迴圈並執行嗎? 例如; for

19樓:老王談網際網路

break跳出迴圈,不再執行迴圈內的任何語句continue執行下一次迴圈,執行for裡面的增量表示式一般做法是每一級迴圈定義一個額外的標誌來決定迴圈是否退出,如:

bool bisend = false;

while(!bisend)} }

20樓:為啥啊不能重名

會 continue 和 break的區別就是 continue只跳過當前迴圈 j==5時執行到continue j=6時還會急需執行

如果是break的話 就會直接跳過內層for迴圈 開始下一次外層的迴圈

21樓:詮詩詞

執行到continue的時候,會直接跳出內層迴圈,接著再次進入內層迴圈,直至內層迴圈的判斷條件為false。接著執行外迴圈。

22樓:匿名使用者

會。for(i=1;i<10;i++)

printf("%d ", j);

}printf("\n");

}輸出9行一

模一樣的1 2 3 4 6

c語言巢狀迴圈中break能結束從自己所在算起幾層迴圈?

23樓:快樂家____歡樂

一層break語句bai

只能跳du

出一層語句,break語句的zhi使用方法:if(條件)dao  break;

程式設計使用:

#include

#include

int main()

return 0;

}執行專上面這段代屬碼,你會發現:這隻輸出了1~5,因為i=6的時候,滿足了if語句條件,執行了break語句,跳出了for迴圈

24樓:匿名使用者

while(條

件1 && 條件源4)bai//a//!!!這裡}}

新增一個條件4,並且想break的時候,將條dao件4設定為假,這樣外迴圈再次迴圈判斷的時候,就不滿足條件而退出迴圈了!

25樓:康康

break關鍵字可以結束最裡層的迴圈。也就是最裡面的那一層

26樓:手機使用者

個發就空不熱點多久違法旯的是

c語言迴圈中變數的輸入問題,C語言迴圈中變數的輸入問題

include main printf no return 0 c語言中for迴圈中的變數如何按條件儲存,便於接下來使用?可以抄用兩 個一維陣列 也可以襲建一個二維陣列bai儲存下du標,如int r 10 2 再加一個int n 儲存存zhi入r 中的點dao的個數int i,j,a 10 10 ...

c語言 兩個巢狀的if語句break迴圈

跳出內層循 來環,你如果想跳出外層源迴圈,通常還要加一個變數,判斷一下。int flag 1 for 表達 式1 表示式2 flag 表示式3 加一個變數 for 表示式4 表示式5 表示式6 break之前,將flag置0 語句二 在迴圈語句巢狀使用的情況下,break語句只能跳出 或終止 它所在...

c語言的for迴圈中執行一次需多少機器週期

機器迴圈,當然只是在微控制器中,不同的微控制器使用不同的編譯軟體,最終都轉換成彙編,把機器 燒錄成微控制器。不同的編譯軟體可以用不同的方式編譯語句。以keil為例。我 0 我 1 n 我 i,n是char或unsigned char 賦值語句 i 0 有兩個機械迴圈,一個判斷語句 i 1 4個機械迴...