continue語句的作用是結束整個迴圈的執行嗎?

青灯夜游
發布: 2020-08-29 17:19:04
原創
29106 人瀏覽過

錯,continue語句的作用不是結束整個循環的執行,而是結束本次循環,跳過循環體中剩餘的語句,直接進入到下次循環中,準備再次執行循環體。

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板