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語...