C語言中for迴圈遇到break語句和continue語句後

2021-03-23 03:04:57 字數 5632 閱讀 7078

1樓:今晚不熬夜

遇到break不自增,continue的話還是會自增

c語言 在for迴圈中用break或continue跳出迴圈後 還執行增量表示式嗎

2樓:匿名使用者

break跳出迴圈,不再執行迴圈內的任何語句

continue執行下一次迴圈,執行for裡面的增量表示式

3樓:春雨_潤物

break不執行

continue執行

c語言for中的break:i++是迴圈後執行,那break後它還執行嗎?下面的輸出是10還是11?還是會根據電腦來?

4樓:嘲笑自己

這個會輸出10

break語句跳出迴圈最後i=10,不會再執行i++了

5樓:匿名使用者

輸出10 ,當i=10時,程式就跳出for迴圈了。故,i是不會+1的。

說明在迴圈中使用break和continue,return語句之間的區別

6樓:千鋒教育

break: 此語句導致程式終止包含它的迴圈,並進行程式的下一階段(整個迴圈後面的語句),即,不是跳到下乙個迴圈週期而是退出迴圈。如果break語句包含在巢狀迴圈裡,它只跳出最裡面的迴圈。

如下**

public class test

system.out.print(i+" ");}}

}可以看到程式輸出了01234到5的時候跳出了迴圈

continue:迴圈語句裡有此語句時,程式執行到此語句時,不在執行迴圈體裡continue後面的語句而是跳到下乙個迴圈入口處執行下乙個迴圈。

把break改為continue

public class test

system.out.print(i+" ");}}

}可以看到只有5沒有輸出,也即當i=5時沒有執行列印操作,直接到下一次迴圈

而return是表示從被調函式返回到主調函式繼續執行,返回時可附帶乙個返回值,由return後面的引數指定。return後函式就結束了,後面的語句不再執行

public class test

system.out.print(i+" ");

}system.out.println("hello");

}public static void main(string args)

}可以看到後面的hello並沒有列印出來

7樓:泉彩榮己夏

break和continue都是中斷當前的迴圈(注意,迴圈是可以巢狀的,中斷的只是當前層的迴圈)

break語句中斷迴圈後跳轉到迴圈後的語句標籤執行(before),而continue則跳轉到迴圈入口語句標籤執行(after)before:

while()

after:............

以上就是乙個迴圈的簡易模型。

return

語句就牛了,它可以出現在**中的任意位置,不只是迴圈(但是一般沒有人將return語句置於迴圈體內,據說是對效率有影響,但是在我理解上看不出來有什麼影響)

return

作用是,將函式呼叫棧彈棧,恢復現場。說的簡單點兒就是結束當前的函式(順便返回函式執行結果),回到本函式被呼叫處繼續執行。

8樓:我是乙個麻瓜啊

如下**

12345678910

public class test             system.out.print(i+" ");        }    }}

可以看到程式輸出了01234到5的時候跳出了迴圈

continue:迴圈語句裡有此語句時,程式執行到此語句時,不在執行迴圈體裡continue後面的語句而是跳到下乙個迴圈入口處執行下乙個迴圈。

把break改為continue

12345678910

public class test             system.out.print(i+" ");        }    }}

可以看到只有5沒有輸出,也即當i=5時沒有執行列印操作,直接到下一次迴圈

而return是表示從被調函式返回到主調函式繼續執行,返回時可附帶乙個返回值,由return後面的引數指定。return後函式就結束了,後面的語句不再執行

1234567891011121314

public class test             system.out.print(i+" ");        }        system.

out.println("hello");    }    public static void main(string args) }

9樓:匿名使用者

break是跳出當前整個迴圈語句,而continue是跳過當前迴圈的某乙個條件語句的動作,return則是跳出當前函式而不往下繼續執行。希望採納

10樓:匿名使用者

break 跳出迴圈 執行下面的迴圈continue 跳出本次迴圈 然後再繼續迴圈return 終止下面的執行

c語言中,while語句是否必須使用break語句跳出迴圈?

11樓:幻翼高達

不使用break語句,while語句仍然可以通過執行到迴圈條件不滿足的情況下結束,也可以通過return、exit、goto等其它控制語句來結束,甚至可以不結束該迴圈。while語句的語法上並沒有要求迴圈一定要跳出。

while語句通常被用於程式中就需要重複執行某些語句的情況。一組被重複執行的語句稱之為迴圈體,能否繼續重複,決定迴圈的終止條件。迴圈結構是在一定條件下反覆執行某段程式的流程結構,被反覆執行的程式被稱為迴圈體。

12樓:匿名使用者

這個要分情況的:1:本身條

件就有出口,這樣的話,可以自然退出,也可以認為退出2:如果本身條件永遠不可能滿足,例如:while(1)像這種的話想要退出的話就必須人為干涉,例如int num = 0;while(1)注意:

一般這類的迴圈都是用break退出的,那個說continue的是錯誤的說法,因為continue是結束本次迴圈,直接進入下次迴圈,其結果導致還是死迴圈,你自己可以去試試。

13樓:匿名使用者

那必須的~不過continue也可以跳出迴圈~不過跳出的是當前迴圈~繼續下一次迴圈~

14樓:匿名使用者

不一定,要看你的需求情況

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

15樓:匿名使用者

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 而瞎編的,導致**複雜化了,請試著將其簡化。

16樓:匿名使用者

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

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

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

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

好好領會吧!

c語言中怎樣跳出所有迴圈,c語言中break怎麼一次退出多個迴圈

c語言要跳出所有迴圈,可以使用goto語句。在所有迴圈外,定義乙個標識,通過goto語句直達該標識,起到跳出所有迴圈的作用。比如while 1 exit all loop 跳出迴圈後需要執行的語句 不過,在結構化程式設計中並不推薦使用goto語句,所以如果goto被禁用,有跳出所有迴圈的需求時,可以...

c語言for迴圈語句,c語言中for語句是怎麼用的

當m 1的時候 就進入第二個迴圈 此時的m經過 後就等於2 當第二個迴圈的n累加到k的時候,就跳出第二個迴圈 返回第乙個迴圈這時m 2,進入第二個迴圈n又重0開始,當n累加到k的時候又會返回到第乙個迴圈的了 一直如此迴圈下去 直到m也累加到k的時候整個迴圈都會推出的了 a為啥要從0開始,那就只有從這...

c語言中結束一次迴圈的語句是,C語言中結束一次迴圈的語句是

break 直接結束 continue 結束當前迴圈 return 如果迴圈是在乙個北調函式中可以加入 return 讓它回到主調函式中自然也就結束了迴圈 continue 後面語句不執行,跳到迴圈開始的地方執行下一次迴圈 break 直接跳出迴圈 continue 結束本次迴圈,若不滿足迴圈結束條...