錯,continue語句的作用不是結束整個循環的執行,而是結束本次循環,跳過循環體中剩餘的語句,直接進入到下次循環中,準備再次執行循環體。
continue 語句的作用是結束本次循環,跳過循環體中剩餘的語句而強制進入下一個循環(回到循環體的開頭準備再次執行循環體)。 continue語句只用在 while、for 迴圈中,常與 if 條件語句一起使用,判斷條件是否成立。
使用方式
continue語句只在迴圈語句中。
在迴圈體中的語句集合執行中,continue語句用來結束本次迴圈。在for迴圈中跳至執行迴圈步長語句,以準備測試下一次迴圈的條件;在while迴圈中,則直接跳到迴圈條件測試。例如,下面的程式碼把100~200之間能被3整除的數提出,其餘的都能輸出:
for(int n=100;n<=200;++n) { if(n%3==0) continue; cout<<n<<endl; }
非必要性
continue語句總是有條件執行的。
迴圈體中,語句執行到含有continue語句的條件語句時,可以將後面的語句集合分成兩部分,其中第一部分中含有continue語句:
循环体: {...} if(条件) {第一部分(包含continue语句)} {第二部分} 通过将if(){}语句改写成if-else语句,可将continue语句省略掉,并且逻辑语义不变: 循环体: {...} if(条件) {第一部分} else {第二部分}
如果本來就如上面改寫之後的迴圈體結構,那麼continue語句根本就是多餘的,因為執行了if語句的第一部分,透過if結構就直接跳過屬於else的第二部分了。
如果第一部分只有一條continue語句,則在省略了continue語句之後,得到:
if(条件) {} else {第二部分} //他可以改写成: if(!条件) {第二部分}
也就是說,只要把條件反一下,就可以完成改寫。例如,使用方式中的一段程式碼可以表示為:
for (int n=100; n<=200;++n) if(n%3!=0) cout<<n<<endl;
得到沒有continue語句的程式碼。因此,循環中的continue語句並不是必須的。
循環體描述計算過程。在使用continue的地方,對於在非必要性一段中所描述的第一部分和第二部分集合:
(1)不應該是並列計算功能的結構,因為,並列結構用if-else語句可以描述得更清楚,不需要continue語句;
(2)其主計算也不在第一部分,因為,用一個if語句把主計算框起來,並用continue語句排斥後續部分,在設計上有點頭重腳輕。
當迴圈體在執行主計算過程中,使用continue語句適當地過濾一些不符合主計算條件的情形,可以使邏輯結構清晰。
大多數循環體的結構都不會很複雜,因為採用合理的程式方法可以適當地避免過程體過分龐大。如果優化等處理使循環體簡潔起來的時候,不失時機地使用continue語句,便可以使結構更加清晰。
continue與break的區別
continue語句和break語句的區別是:
continue語句只結束本次循環體的執行,而不是中止整個循環,而break語句則是結束本循環語句,不再進行循環條件判斷。
相關推薦:c語言教學影片
以上是continue語句的作用是結束整個迴圈的執行嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!