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

2022-03-08 21:35:13 字數 6098 閱讀 3647

1樓:

如果編譯器有優化處理,這兩個與無條件的goto標號做的迴圈沒有區別

label: {} goto label;

等效的,c語言轉成彙編**,在c51中常見,keil uvision4中除錯程式,就能對比的看到彙編**和c51**的對比,其它c的我不知道有沒有中間生成彙編碼,但單步除錯,看到機器碼時也是有反彙編出來的**的,你不防去單步跟蹤除錯,試著看一下

2樓:

首先同意「小小缺420」和「hwm_2011「while迴圈就是for迴圈的簡化,while(表示式)和for(;表示式;)是一樣的,for比while多出了乙個初始化表示式、乙個修改迴圈變數內容的表示式(通常是自增自減,當然也可以不修改,只是提供這麼乙個地方而已)。

while(1){}和for(;;){}沒有區別。

for(表示式1;表示式2;表示式3){}和表示式1;while(表示式2)//表示式1寫在while之前,表示式3寫在迴圈體的末尾。

沒有區別

3樓:小小缺

for用在固定步長的迴圈上(已知迴圈次數),while用在非固定步長迴圈上(不固定迴圈次數)。

4樓:匿名使用者

while迴圈比for長,while可以做的for都可以做,for的語言比較簡短,

5樓:江秀珍南煙

.樓上的很多朋友都犯了乙個錯誤,如果inti沒有賦初值,那麼預設應該是0。

所以for語句格式為:

intsum;

for(int

i=0;

i<11

;i++)

c語言中while的用法

6樓:楓璽

當n==1時執行while迴圈結構裡的語句,當n不等於1時,則跳過該迴圈執行迴圈體外的語句。

while 迴圈的格式:while (表示式)

while 迴圈的執行順序:當表示式為真,則執行下面的語句,語句執行完之後再判斷表示式是否為真,如果為真,再次執行下面的語句,然後再判斷表示式是否為真……就這樣一直迴圈下去,直到表示式為假,跳出迴圈。

例:int a=null;

while(a<10)

}結果: 結束後 a的值為6 。

擴充套件資料

while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止迴圈,則可以用下面的三種方式:

一、在while語句中設定條件語句,條件不滿足,則迴圈自動停止。

如:只輸出3的倍數的迴圈;可以設定範圍為:0到20。

二、在迴圈結構中加入流程控制語句,可以使使用者退出迴圈。

1、break流程控制:強制中斷該執行區內的語句,跳出該執行區,繼續執行區域外的語句。

2、continue流程控制:也是中斷迴圈內的執行操作,並且從頭開始執行。

三、利用標識來控制while語句的結束時間。

7樓:芯之度

語句a;

while(n==1);

語句b;

當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接是分號「;」所以這裡n==1直接就是死迴圈,

當n與等於1時,程式同樣是while(1)成立,和上面的情況一樣,所以兩個都是死迴圈。

擴充套件資料:whilewhile是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,進入迴圈後,當條件不滿足時,執行完迴圈體內全部語句後再跳出(而不是立即跳出迴圈)。

while語句的一般表示式為:while(表示式)。

典型迴圈

while 《條件》

《語句體》

end while

do while 《條件》

《語句體》

loop

語法pascal

while 《條件》 do 《語句》

意為當條件符合時,接著做下面的語句;不符合時,退出迴圈。

cdo 《語句》 while(《條件》);

while(《條件》) 《語句》;

c++while(《條件》) 《語句》;

do 《語句》 while(《條件》).

8樓:打娘胎裡喜歡你

while是迴圈流程控制,while的語法格式為 :

while(condition)

//do something 2

說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括乙個能夠改變表示式的變數,這個變數稱為迴圈變數。

②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束。

③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體。

④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值。

9樓:匿名使用者

問題:語句a;

while(n==1);

語句b;

語句c;

答:當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接

是分號「;」所以這裡n==1直接就是死迴圈,不執行下面的程式語句b;

當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句b;語句c;

while(n==1);此處有沒有分號意義大有不同,沒有的話,以上面的例子,程式while(1)成立時,執行下面的每乙個語句b;一直迴圈執行;當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句c;

10樓:佔碩瞿秀竹

一般迴圈有四個部分組成,這幾個部分都不能缺失,要不然迴圈可能完不成。不一定是在規定的地方出現,但是聯絡上下文,可以看到這幾個部分的影子

初始化、判斷迴圈條件、執行迴圈體、改變迴圈條件

如while迴圈

i=1;s=0;

//初始化變數

while(i<10)

//判斷迴圈條件

for迴圈也是這樣

for(初始化變數;判斷迴圈條件;改變迴圈條件)

迴圈體不管是for,while,do--while,goto等迴圈,他迴圈體只能管一句,也就是說遇到分號就結束,多個語句的話,用{}括起來相當於一句話

有些人不注意,在for

while等後面跟上乙個分號。我的觀點是出現這個情況的理由是每個語句都有分號結束,但是沒有注意的是有幾個情況是不能跟分號的

forif,while,還有子函式有函式體的時候,這一句都是不能有分號的

你這裡while(n==1);後面有個分號,那麼while就是空迴圈了,不做任何操作,也就是說沒有迴圈體語句

當n是1的時候是死迴圈

n不是1的時候,直接跳過這個迴圈,不做任何操作

11樓:奚緯印令慧

先說一下,前面的例子有問題,你需要注意,「while();」如果你這麼書寫的話,這一行是整個while的迴圈,下一行的語句不算迴圈體,所以如果你希望下一行的******;迴圈執行的話,while後面的分號千萬不要加。

從語義上來說,while

(條件)迴圈體;

迴圈體只是乙個語句,如果你需要執行多條語句的話,必須使用大括號括起來,相當於一條語句,這是在進行編譯時需要確認的。

c語言的語句是以分號結束的,也就是說,不管你寫多少行,只要沒有看到分號,這一句話就沒有結束。

12樓:福建省寧德市

while是迴圈流程控制,使用的標準格式為while(表示式)

說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括乙個能夠改變表示式的變數,這個變數稱為迴圈變數

②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值

13樓:匿名使用者

c++中while的用法如下:

while(條件) {}

當條件為假時結束

迴圈。如while(0){}。 裡的命令不執行結束迴圈;

do {} while() 當條件為假時結束迴圈。 但d0 {} while(0) 先執行一次在結束

14樓:夜禮服假面

while (1)

是個死迴圈,會一直迴圈下去,你寫進去的時候,程式一直在迴圈中,跑不出去,當然不亮。

while (0)

等於沒寫這段**,不跑迴圈

15樓:匿名使用者

n==1時,死迴圈

n!=1時,跳過迴圈語句

c語言中用while和for一起求100到200的整數和?

16樓:馬小芳

1.#include

int main()

2.#include

int main()

printf("%d",sum);

return 0;}

c語言裡,for迴圈裡能巢狀while迴圈嗎

17樓:

沒問題的,一下幾種迴圈巢狀都沒問題。

18樓:匿名使用者

能啊。。都是迴圈嘛,巢狀迴圈 只要語法不出錯,多少都可以的

19樓:聽不清啊

完全可以的。例如,以下的二重迴圈程式執行的結果:

#include

void main( void )

int i,j=5;

for(i=0;i<3;i++,j=5)

while(j--)

printf("*");

printf("\n");

system("pause");

20樓:匿名使用者

可以....語句之間都可以巢狀的.....

21樓:豆鬥逗1號

你嵌入多少個都沒問題

c語言,if迴圈和while迴圈的區別是。。。

22樓:汽車影老師

一、語法不同

if:if(logical_test,value_if_true,value_if_false)

while:while<條件>do<語句>

二、功能不同

if語句,if( ),括號裡的內容和while( )裡的內容都是判定句,判定為真則執行語句,假則不執行語句。

不同點就是if沒有迴圈的性子,一旦執行過後就跳出語句,而while判定為真後執行它下面的語句,執行完後返回括號裡繼續判定,判定為真繼續執行語句知道括號裡判定為假為止。

三、意思不同

while是迴圈語句,在c語言中通常用while來表示迴圈,例如在main()函式中一般都用while(1)來讓主程式迴圈執行。

while語句叫做迴圈語句。同樣是判斷條件是否成立。但是執行完畢後繼續判斷該條件,直到該條件不成立則轉入下一條語句。

23樓:笨仔

if不是迴圈,是條件判斷,while才是迴圈。if語句中,當後面括號內語句判斷為true時執行if後面的語句或者語句塊,只執行一次,while語句中,當後面括號內語句判斷為true時執行while後面的語句或者語句塊,並且每執行完一次都要再進行條件檢查(就是while括號內的語句是否為true),每當條件符合時就執行迴圈體,直到條件不符合或者遇到break為止。

24樓:投哦咯

兩個都是可以有條件的迴圈,

if迴圈執行完了會跳出迴圈,而while就不一樣了,除非改變了迴圈條件,否則一直在迴圈裡面,不會跳出

c語言中,while. if. for的區別,具體點

25樓:雪v歌

if語句,if( ),括號裡的內容和while( )裡的內容都是判定句,判定為真則執行語句,假則不執行語句,不同點就是if沒有迴圈的性子,一旦執行過後就跳出語句,而while判定為真後執行它下面的語句,執行完後返回括號裡繼續判定,判定為真繼續執行語句知道括號裡判定為假為止

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

不是,只有當while迴圈條件不成立的情況下 後者比前者多迴圈一次。其他情況是完全一樣的。do while 是迴圈體至少執行一次。而while 的迴圈體可以執行0次 do.while迴圈比while迴圈多執行一次迴圈體語句。原因如下 do.while是先執行迴圈體語句,之後再進行迴圈條件的判斷的。w...

c語言中與的區別,C語言中 與 的區別

區別如復下表 擴充套件資料具體區別制的例子 bai1 c 語言輸入輸出du printf a d,b d zhi,a,b scanf d d d a,b,c 2 vb 語言的輸入輸出 inputbox x 輸入 x 的值dao print x x 而且,這兩種運算子,還分為字首運算和字尾運算 如 i...

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