C語言中同條件的while和do while後者是比前者多迴圈一次麼

2022-05-09 14:40:03 字數 6074 閱讀 3880

1樓:倒霉熊

不是, 只有當while迴圈條件不成立的情況下 後者比前者多迴圈一次。

其他情況是完全一樣的。

do while 是迴圈體至少執行一次。

而while 的迴圈體可以執行0次

2樓:天雲小店

do...while迴圈比while迴圈多執行一次迴圈體語句。

原因如下:

do...while是先執行迴圈體語句,之後再進行迴圈條件的判斷的。

while剛好相反,即先進行迴圈條件的判斷,之後再執行迴圈體語句的。

舉例如下:

int i=0;

int a=0;

dowhile(i>0);

// 執行完後,a=1

int i=0;

int a=0;

while(i>0)

// 執行完後,a=0

從上面的兩個例子可以看出do...while迴圈確實比while迴圈多執行一次迴圈體語句。

3樓:匿名使用者

區別在於

while語句先判斷while後括號內的條件 根據條件的真假執行{}內的程式

do while 總是先執行{}的語句, 完了後再判斷 while後括號內的條件,如果真就在先執行{}內的語句

多迴圈一次的理解是不完全正確的

如://///////////////////////unsigned char x = 0;

while(x<1)

////////////////////////unsigned char x = 0;

dowhile(x<1);

////////////////////////這兩個語句條件完全正確,都是判斷x<1,可是他們都只執行一次。

4樓:匿名使用者

do while 是迴圈體至少執行一次while 的迴圈體可以執行0次及以上。

而且一般用的while,因為在執行上while基本可以包含do while

5樓:天空天空天空空

沒錯,因為前者是先進行判斷在執行,後者是先執行再判斷,憑空多了一次執行

6樓:匿名使用者

迴圈的次數不是關鍵,關鍵是while要滿足條件才執行中的**。do while 是執行執行完中的**,再來判斷條件,是否還要執行的**。這個才是兩者的本質區別。

7樓:

while只有條件成立才會執行。do while無論條件成不成立至少會執行一次。

8樓:匿名使用者

你看好了,這就是本質區別。別聽那些沙雕瞎bb

c語言中,while 和 do while 迴圈的主要區別是( )

9樓:問明

1、迴圈結構的表示式不同:

while迴圈結構的表示式為:while(表示式){迴圈體}。

do-while迴圈結構表示式為:do{迴圈體;}while(條件表達);。

2、執行末尾迴圈體的順序不同

while迴圈的末尾迴圈體也是在中間迴圈體裡,並在中間迴圈體中執行,迴圈體是否繼續執行的條件也在迴圈體中。

do-while迴圈是在中間迴圈體中加入末尾迴圈體,並在執行中間迴圈體時執行末尾迴圈體,迴圈體是否繼續執行的條件在末尾迴圈體裡。

舉例如下:

while(0)

{printf("執行迴圈體。");

do{printf("執行迴圈體");

}while(0);

前者先判斷一次條件是否滿足,不滿足所以不執行下面的迴圈體,迴圈體沒有被執行;

後者先執行一次迴圈體,再判斷條件是否滿足,不滿足所以不再執行迴圈體,迴圈體執行了一次。

這種區別只有在條件在第一次判斷就為"0"(假)時才體現出來,若第一次條件判斷為非"0"(真),則沒有這種區別。

3、執行次數不同

while迴圈是先判斷後執行,如果判斷條件不成立可以不執行中間迴圈體。

do-while迴圈是先執行後判斷,執行次數至少為一次,執行一次後判斷條件是否成立,如果不成立跳出迴圈,成立則繼續執行迴圈體。

4、執行時判斷方式不同

while迴圈執行時只有當滿足條件時才會進入迴圈,進入迴圈後,執行完迴圈體內全部語句至當條件不滿足時,再跳出迴圈。

do-while迴圈將先執行一次,在經過第一次do迴圈後,執行完一次後檢查條件表示式的值是否成立,其值為不成立時而會退出迴圈。

10樓:寫在楓葉上的故事

c語言中while和do–while迴圈的主要區別如下:

1、迴圈結構的表示式不同

while迴圈結構的表示式為:while(表示式)。

do-while迴圈結構表示式為:dowhile (條件表達);。

2、執行時判斷方式不同

while迴圈執行時只有當滿足條件時才會進入迴圈,進入迴圈後,執行完迴圈體內全部語句至當條件不滿足時,再跳出迴圈。

do-while迴圈將先執行一次,在經過第一次do迴圈後,執行完一次後檢查條件表示式的值是否成立,其值為不成立時而會退出迴圈。

3、執行次數不同

while迴圈是先判斷後執行,如果判斷條件不成立可以不執行中間迴圈體。

do-while迴圈是先執行後判斷,執行次數至少為一次,執行一次後判斷條件是否成立,如果不成立跳出迴圈,成立則繼續執行迴圈體。

4、執行末尾迴圈體的順序不同

while迴圈的末尾迴圈體也是在中間迴圈體裡,並在中間迴圈體中執行,迴圈體是否繼續執行的條件也在迴圈體中。

do-while迴圈是在中間迴圈體中加入末尾迴圈體,並在執行中間迴圈體時執行末尾迴圈體,迴圈體是否繼續執行的條件在末尾迴圈體裡。

11樓:匿名使用者

答案應該是b吧。

do while的時候會先執行迴圈體一次,再判斷條件

而while是先判斷條件,條件不成立,不會執行迴圈體。

12樓:小樓微醉

while在執行第一次之前會檢查條件,不滿足則不會執行,而do while 在執行第一次之前則不會檢查條件,至少會執行一次

13樓:

do-while迴圈體語句只能是一條語句

14樓:匿名使用者

答案必然是b。while與do……while的區別體現在判斷條件在第一次判斷時就為"0"(假)的情況,若第一次判斷不為"0"(假),則這兩者完全一樣。舉例如下:

while(0)

dowhile(0);

前者先判斷一次條件是否滿足,不滿足所以不執行下面的迴圈體,迴圈體沒有被執行;

後者先執行一次迴圈體,再判斷條件是否滿足,不滿足所以不再執行迴圈體,迴圈體執行了一次。

這種區別只有在條件在第一次判斷就為"0"(假)時才體現出來,若第一次條件判斷為非"0"(真),則沒有這種區別。

因此答案必然是b。

15樓:開發者分享

do while 多執行一次

c語言do while 是先迴圈還是先判斷條件

16樓:

do{} while是先迴圈

while (){}是先判斷條件

例如:#include

int main()while(1==2);

return 0;}

17樓:匿名使用者

while裡的表示式不管為真還是假,都會先執行一次do裡的**,在做是否迴圈的判斷。

dowhile(0)//條件為假(0)不迴圈

18樓:匿名使用者

驗證**如下:

#include

int main()  while(i<1);

}執行結果如下:

說明如下:

先將i預設值為5,進入do/while迴圈後,先直接執行{}內的**,輸出i的值,執行完畢後,進行判斷,因為i<4,故此退出迴圈。

19樓:匿名使用者

do while 在程式語言中意思是不管條件,至少執行do while語句塊中**一次。

所以是先執行一遍之後再看條件

20樓:k寂寞的小炮

先迴圈一次再判斷條件

c語言中while和do-while迴圈的主要區別是?

21樓:

用while語句實現迴圈:

while語句用來實現「當型」迴圈結構。其一般形式如下:

while(表示式)

語句;

執行順序:先判斷表示式,後執行語句。也就是說當while後面的表示式為真(非零)時,就執行語句。

執行完後再次返回while表示式,如果還為真(非零)就再次執行語句,然後再次返回while表達試……直到while後面的表示式為假(為零)時終止執行。看不懂沒關係,我們再來看一道例題:

#include //標頭檔案

int main()    //主函式

int i,sum=0;    //定義整形i和sum的值,並把0的值賦給sum

i=1; //把1的值賦給i

while(i<=100)    //當i的值<=100時執行下面迴圈體語句。

//然後返回while表示式,發現i的值仍然<=100所以繼續往下做語句,直到i<=100為止

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

用do...while語句實現迴圈:

do...while語句的特點是先執行迴圈體,熱後判斷迴圈條件是否成立。其一般形式為:

do

迴圈體語句;

while(表示式)

執行順序:先執行一次指定的迴圈體語句,然後判別表示式。當表示式的值為真(非零)時,返回重新執行迴圈體語句,如此反覆,直到表示式的值為假(為零)時為止,此時迴圈結束。

下面來看一道例題:

#include

int main()

int i,sum=0;

i=1;

do     //先做這個語句

sum=sum+i;

i++;

while(i<=100)     //再判斷while後面的表示式成不成立

printf("%d\n",sum);    //如果成立返回do,繼續做語句,不成立則迴圈結束。

這麼一總結我們可以知道:

while語句是先判斷表示式成不成立。如果成立就做表示式;如果不成立則迴圈結束。 do...

while語句不管條件成不成立,先做一段語句。做完後再去判斷表示式成不成立。如果成立返回do後的語句繼續做;如果不成立則迴圈結束。

22樓:刑皓不秋柳

while是先判斷,再迴圈,而do-while是先迴圈然後判斷,兩個基本一樣,可以互換

23樓:

主要先判斷還是先迴圈的區別。

while:先判斷迴圈條件再執行迴圈。

do-while:先迴圈再判斷迴圈條件。

也就是說while可能一次迴圈都不執行就退出了,do-while至少會執行一次迴圈。

例如:while(false) do_something();   //這裡先判斷出迴圈條件為false,所以直接退出迴圈

dowhile(false);    //這裡雖然迴圈條件是false,但是由於do-while是先執行迴圈的,所以do_something會執行一次才退出。

24樓:匿名使用者

主要區別就是,如果條件不滿足,while的話就一次都不執行,而do-while的話最起碼執行一次。

25樓:匿名使用者

while是「當什麼的時候」的意思,就是這個語句是先要滿足什麼條件才執行,而後面這個語句是先就執行「do」後面的語句,執行完了再看時候滿足條件,滿足就繼續執行,否則就停止

C語言中的while與for,c語言中while的用法

如果編譯器有優化處理,這兩個與無條件的goto標號做的迴圈沒有區別 label goto label 等效的,c語言轉成彙編 在c51中常見,keil uvision4中除錯程式,就能對比的看到彙編 和c51 的對比,其它c的我不知道有沒有中間生成彙編碼,但單步除錯,看到機器碼時也是有反彙編出來的 ...

C語言中,while語句中如果有是int y 10 whiley 那麼while中的判斷條件是什麼

這裡,先進行y y 1,然後判斷的條件就是 y 0,也就是說,判斷y自減1之後是否為0,不為0則為true,否則為false。等價於while y 希望可以解決你的疑問 while y 這個是先做y y 1 然後判斷表示式是 y 0 是先減再判斷的 while y 這個 在後面,是先判斷y 0再 w...

c語言中6d中是什麼意思,C語言中6d中是什麼意思

c語言中,6d 6為指定的輸出欄位的寬度為6。如果資料的位數小於6,則左端補以空格,若大於6,則按實際位數輸出。這主要是為了右對齊的格式化輸出。c語言的語法限制不太嚴格,對變數的型別約束不嚴格,影響程式的安全性,對陣列下標越界不作檢查等。從應用的角度,c語言比其他高階語言較難掌握。也就是說,對用c語...