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