在c語言中在for迴圈語句中當執行到continue語

2021-03-19 11:42:29 字數 6281 閱讀 9269

1樓:匿名使用者

出第一次執行表示式1之外

之後的循序是:表示式2->for語句塊(遇到continue後跳出當前迴圈)->表示式3 ->表示式2->for語句塊(遇到continue後跳出當前迴圈)->表示式3 ->表示式2……

如果執行到continue語句時是直接去執行表示式2 而不是去執行表示式3 那麼for語句就很有可能陷入死迴圈了

2樓:匿名使用者

break是中止迴圈,即跳出迴圈去執行迴圈語句的下一句;

continue 是完成本次迴圈,執行下次迴圈,即跳到for中的表示式3,然後跳到表示式2進行判斷,如此迴圈

3樓:優秀男孩

如果執行到continue語句時是直接去執行表示式2 而不是去執行表示式3 那麼for語句就很有可能陷入死迴圈了

怎樣理解:在for迴圈中,continue語句一結束,先執行每次迭代後的操作,再計算迴圈繼續條件。

4樓:

就以這個例子

for(int n=1;n<=10;n++)輸出結果就是1,2,3,4,。。。。就是continue之後會執行n++

而如果用while語句

int n=1;

while(n<=10)

結果就是1、2然後無限迴圈下去也不輸出結果,因為i=3時continue之後直接跳到n<=10而不會執行i++,結果i就永遠只能是3

關於c語言的。在for迴圈裡如果迴圈語句出現break。那麼for迴圈中表示式3還會不會執行呢??

5樓:an很圓滑

break是退出迴圈了,迴圈下面還有什麼,都不會執行了

6樓:2一瞬間

不會再執行了,直接跳出當前迴圈

7樓:廿四點半

你沒看書啊。。這麼基礎的知識。break是直接跳出迴圈,continue是跳出當前迴圈。。。

基本上都是搭配if來用的。那你自己說break出現了,表示式三的累加會不會繼續執行?肯定不會的

8樓:匿名使用者

break只會跳出當前迴圈

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

9樓:匿名使用者

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

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

10樓:春雨_潤物

break不執行

continue執行

為什麼說「在for迴圈中continue語句一結束,先執行每次迭代後的操作,再計算迴圈繼續條件」?

11樓:小青蛙跳著走

for迴圈只執行初始動作一次,當迴圈繼續條件為真時,重複執行迴圈體中的語句,然後完成每次迭代後的操作。

實現**如下:

for(int n=1;n<=10;n++)

輸出結果就是1,2,3,4,。。。。就是continue之後會執行n++

而如果用while語句

int n=1;

while(n<=10)

1、 for迴圈語句從關鍵字for開始,然後是用雙括號擴住的迴圈控制結構體。這個結構體包括初始動作、迴圈繼續條件和每次迭代後的動作。

2、初始動作、迴圈繼續條件和每次迭代後的動作都要用分號分隔。控制結構體後緊跟著花括號括起來的迴圈體,若迴圈體內只有一條語句,則可以省略花括號。

注意:for迴圈中的初始動作可以是0個或是多個以逗號隔開的變數宣告語句或賦值表示式。

for迴圈中每次迭代後的動作可以是0個或多個以逗號隔開的語句。

如果省略for迴圈中的的迴圈繼續條件,則隱含地認為迴圈繼續條件為true。

c語言中continue的用法在for迴圈與while迴圈中的區別

12樓:12345額時代

for(part1;part2;part3) 在for迴圈中,使用continue是跳到part3部分。而while(exp):中沒有part3這一部分。操作方法如下:

1、首先在電腦中雙擊開啟devc++程式,輸入c語言中的固定格式,main函式的呼叫。

2、定義三個變數,a,b,i,分別進行賦值。

3、while的使用,固定結構如圖所示,while後括號後面的是迴圈的條件,當滿足這個條件時,才開始迴圈,不滿足這條件時,則終止迴圈。

4、在while迴圈中一定要記得寫i++;不然會出現無限次迴圈的結果,將程式這樣寫,去掉i++部分。

5、最後可以在裡面寫上printf(hello world),執行即可。

13樓:丌氏

語法區別不大。在while中continue較少使用。

相同:都是跳過剩下的迴圈體**,直接到達右大括號位置

不同:for中continue之後,接著執行 i++部分。而在while(c=='a')中,直接又回到了判真條件c=='a'這裡。

實踐:從不同點可看出,若在while(c=='a') 中,c=='a'始終為真,因為你把 改變條件的語句(c='b')跳過了。而for不會出現此情況,因為 for(int i = 0;i<10;i++),它的變數自增i++是寫到 for()結構裡面的。

另外,迴圈體注意有三個要素:

1、初始條件;

2、變化;

3、跳出條件。

舉個例子:

for ( int i= 0;i<10; i++ )

//第一次continue後,i變為1,而非99

//迴圈10次之後,此迴圈結束

char c = getchar();//從螢幕讀取單個字元

while ( c == 'a' )

//第一次continue後,c還是』a『,

//while是無限迴圈,c永為 』a『

//因為while的判斷條件 c == 'a',始終沒有改變,始終為真。

14樓:匿名使用者

應該說,沒什麼區別,都是跳轉到迴圈體最後一句之後:

for ( ... )

while ( ... )

15樓:匿名使用者

在執行到continue時,for中的第三個語

句,就是for (語句1;語句2;語句3)中語句3還是會執行,而語句三可以看作 是while裡的最後一條語句。所以continue在while中是從continue開始所有語句不執行,而for中還是執行整個迴圈的最後一條語句,語句3

16樓:哈利路艾

一樣的,都是終止while/for下個執行**段, 重新從while或者for開始判斷。

break語句在for語句和while語句中的作用都是:永久終止其迴圈;而continue語句在兩個語句中存在區別:

在for語句中,continue語句跳過迴圈體的剩餘部分,直接回到調整部分;

在while語句中,調整部分是迴圈體的一部分,所以continue將會跳過它。

17樓:匿名使用者

沒區別,作用都是跳出本次迴圈

18樓:匿名使用者

countinue語句在這兩個迴圈中的功能完全相同,都是直接跳轉到該迴圈的語句體的開始部分,至於是否執行迴圈體,取決於迴圈條件的真與假。

在c語言的if 語句中,用作判斷的表示式是( )a關係表示式 b邏輯表示式 c算術表示式 d任意表示式

19樓:匿名使用者

d任意表示式。

c語言提供了兩種形式的if語句:

1、if(表示式)語句;

2、if(表示式)語句1 else 語句2。

這個表示式可以是任意表示式,如果表示式為 true,則 if 語句內的**塊將被執行。如果表示式為 false,則 if 語句結束後的第一組**(閉括號後)將被執行。

c 語言把任何非零和非空的值假定為 true,把零或 null 假定為 false。

所以既可以是關係表示式、邏輯表示式 ,也可是算術表示式,甚至是一個變數、常量等。

20樓:黃榮大俠

任意表示式,只要()裡的是非零就要執行if()語句;是零就不執行.

關係表示式成立是1,不成立是0;邏輯表示式成立是1,不成立是0;算術表示式的值是非0就是執行,0就不執行.

21樓:匿名使用者

選擇d;

因為:在c中if語句是可以用算術表示式的,例如:a!=c;

在c中if語句是可以用邏輯表示式,例如:a==0||b==0;

關係表示式,要麼真要麼假(1,0),也作為判斷該if語句是否成立,所有是a,b,c都是的,因為答案為d任意表示式!!!

在c語言中 for語句裡面有continue 那還執行for上的a++嗎

22樓:

執行。而continue後面的語句將被跳過

23樓:常語風僪許

if(i%2==0)

括起來是一條複合語句,i為偶數是直接跳轉到開頭的for語句,但不會執行後面的b++

continue 是跳出本次迴圈還是所有迴圈

24樓:浪子_回頭

continue語句在c語言中的作用是跳過此語句下面的語句,然後繼續迴圈,並不是跳出迴圈。

就拿問題中的程式來說,如果i=2時,進入do迴圈,i%3=2%3=2,if(2)條件是正確的,執行continue語句,跳過本迴圈下面的語句,即跳過n++,再判斷while(! i)。

25樓:匿名使用者

continue的作用是在迴圈結構中跳出本次迴圈,繼續執行後面的迴圈:

1. 在你這個題目中,有一個迴圈巢狀,其中for{}是一個迴圈,do{}while是for迴圈裡面的巢狀迴圈,所以如果當前i%3的結果為真,那麼執行continue,也就是跳出當前迴圈,繼續執行下一次的do{}while迴圈。

2. 所以「跳出的是do還是while?」,問法是錯的,跳出的是當前的do{}while迴圈,do{}while是一個整體。

3.如果此處是break的話,那麼會跳出do{}while迴圈,回到外層的for迴圈。

擴充套件資料:

break和continue的區別:

1. break:

1) break 語句可用於跳出迴圈。

2) break所在的迴圈體已經結束。

2. continue:

1) continue 語句中斷迴圈中的迭代,如果出現了指定的條件,然後繼續迴圈中的下一個迭代。2) continue所在的迴圈體並沒有結束

例:

for (i=0;i<5;i++)

//  只輸出 0 , 1 , 2 , 到3就跳出迴圈了

--------------

for (i=0;i<=5;i++)

//  不輸出3,因為continue跳過了,直接進入下一個迭代

26樓:匿名使用者

結束本次迴圈,即跳出迴圈體中下面尚未執行的語句,接著進行下一次是否執行迴圈的判定。

continue語句和break語句的區別是:

continue語句只結束本次迴圈,而不終止整個迴圈的執行。而break語句則是結束整個迴圈過程,不再判斷執行迴圈的條件是否成立。

continue語句只用在for、while、do-while等迴圈體中, 常與if條件語句一起使用, 用來加速迴圈。

27樓:匿名使用者

跳過本次迴圈中的剩餘語句,執行是否進行下一次迴圈的判斷

28樓:匿名使用者

do,while搭配使用時是一體的,不存在跳出do還是跳出while。而是跳出do while這個迴圈整體。

29樓:和睦空大

continue 是跳過本次迴圈 還是要迴圈do while的不跳出所有迴圈

break是跳出迴圈 跳出do while迴圈但不跳出for迴圈

30樓:匿名使用者

跳過本次迴圈中後面的**

你這個程式還弄一個do while迴圈幹什麼?

在c語言中,if語句後面的else語句中能不能巢狀for迴圈

在c語言中,if.else分支語句與for迴圈語句和其他迴圈及分支都是可以巢狀使用的,也就是說在if語句後面和else語句後面都是可以使用for迴圈語句的,例如 給定一個整數n,判斷這個整數n是不是小於2,如果小於2則提示給定數值不在有效範圍內,否則計算從1到n的累加和。int sum 0 if n...

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

為什麼?我想為你為什麼不知道原因,這是很簡單的邏輯推算題,一看就知道你的呼叫的函式返回值就是你的輸入值,我猜你是想要的結果是1,1 2,1 2 3,1 2 3 4,1 2 3 4 5是吧?呼叫函式的形參只是在你用的時候形成,當呼叫完畢就會釋放,j的運算結果不會保留在記憶體當中,因此你想要那種結果的話...

在C語言中,設有char a Cb A執行語句printfd

設有char a c b a 執行語句printf d,d b,a b 後,輸出結果是 a 65,2 因為在c中,char 等同於一個8位有符號整數,只是內作 字元 解讀。容所以,char a c b a 等同於char a 67 b 65 在以 d格式輸出時的值就是 65,2 選擇a,這個就是把對...