C語言怎麼退出while迴圈,c語言中while的用法

時間 2021-09-05 20:04:53

1樓:不不見不念

if條件語句寫錯了:

if(a=="#")        判斷字串相等不能用等號

if (strcmp(a, "#") == 0)       要這麼寫

while 是乙個迴圈體,退出迴圈體的方法有:

(1)迴圈體條件 不成立,如:while( a>0); 當 a≤0 的時候,條件 a>0不成立,while 迴圈結束,退出 while 迴圈。

(2)在迴圈體內使用無條件跳出語句(break),如 while(1)當 b>5 的時候,程式執行 break ,跳出 while 迴圈體,迴圈體被結束。

(3)在迴圈體內使用 函式返回 語句(return),如 while(1),當 c>8的時候,程式執行 return,退出函式返回到上級函式。其中返回值 *** 需要根據 函式型別進行返回。

如 int 型函式 int fun(),*** 應為 int型,空返回值函式 void fun(),*** 可以省略。

2樓:匿名使用者

if(a=="#") // 判斷字串相等不能用等號

if (strcmp(a, "#") == 0) // 要這麼寫

3樓:茫茫路遠何處去

輸入 #號 啊 。你把a變成字串接受了 所以a就不是字元了。應該scanf("%1s",&a);

4樓:一路清晨

if(a=="#")

break;

這裡不能有空行

你最好把if下面屬於這個if的語句用括號括起來如:if(a=="#")

5樓:煙火夜空

while 是乙個迴圈體,退出迴圈體的方法有:

① 迴圈體條件 不成立,如:while( a>0); 當 a≤0 的時候,條件 a>0不成立,while 迴圈結束,退出 while 迴圈。

②在迴圈體內使用無條件跳出語句(break),如 while(1)當 b>5 的時候,程式執行 break ,跳出 while 迴圈體,迴圈體被結束。

③在迴圈體內使用 函式返回 語句(return),如 while(1),當 c>8的時候,程式執行 return,退出函式返回到上級函式。其中 返回值 *** 需要根據 函式型別進行返回,如 int 型函式 int fun(),*** 應為 int型,空返回值函式 void fun(),*** 可以省略。

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樓:醉染木葉

先說while((ch=getchar())!='\n'):可以把它分成

ch=getchar();while(ch!='\n').前者是呼叫getchar函式,即ch為從鍵盤鍵入的字元.

後者括號裡指:當鍵入的不是'\n'(即回車),所以迴圈結束的條件是輸入回車鍵.

然後,這是乙個小寫字母轉化成大寫的程式,

if(ch>='a'&&ch<='z') //當輸入的字元在a和z之間時

ch=ch-32; //這個字元的ascii碼減32,即實現小寫轉換為大寫.(因為乙個字母的ascii碼,小寫比大寫大32.

其他沒什麼難懂的了吧

16樓:

while((ch=getchar())!='\n')

是獲取的字元 回車符 就停止迴圈,退出程式

.這段程式的意思是獲取字元,如果獲取的字元不是回車,並且是從小寫的a到大寫的z,就是abcd...xyzabc...

xyz,就減去32,轉換為另外乙個字元,具體轉換到什麼字元查下ascii表,然後顯示出來.如果獲取的字元是回車,就是按enter鍵,就停止迴圈,退出程式

17樓:匿名使用者

n==1時,死迴圈

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

c語言中什麼情況下跳出while的迴圈

18樓:匿名使用者

賦值運算子也會返回乙個值的……這個值就是賦值運算子左邊的變數賦值後的值,也就是其右邊的表示式的值,只要輸入的不是字元eof,while()裡的判斷條件就是真,因此可以跳出迴圈……

19樓:匿名使用者

跳出while迴圈有以下四種可能:

bai1 while(expr)的判斷條件du為假時,自zhi動退出循

dao環。即專expr值為0。

2 while中執行到屬屬於while自身的break語句。break語句的功能就是跳出所在迴圈,所以這個可以實現強制跳出。

3 當執行到return語句。 如果執行了return語句,會退出整個函式,自然就跳出迴圈了。

4 執行goto語句,同時目標在迴圈外。如果goto語句指向的標籤在迴圈外,那麼程式會無條件執行該點,同樣也可以達到退出迴圈的效果。

c 語言while迴圈,c語言while的用法

p1 p2 這個是賦值語句,而非比較運算。字元陣列雖然有大小限制,但是指標就不同,即便超過了大小,指標指向陣列越界後的下乙個記憶體單元,並不會發生錯誤 另外,printf s a 函式列印字串,它是在遇到字串結束符的時候才終止輸出,此時a陣列的值已經被賦值為p2所指向的記憶體空間的值。這個程式是錯的...

C語言死迴圈如何退出?C語言中死迴圈怎麼解決?

在迴圈裡面加入break 這麼一句就會自動跳出迴圈了。在c語言裡,正在執行的死迴圈怎麼跳出 一般情況下,迴圈中都需要加入迴圈控制語句 當條件達到時,就會退出迴圈,例如。while 1 或for i 0 i i 如果你是說編譯器執行時今入死迴圈,關閉終端或者掐死程式程序就ok了。1 c語言中,強制終止...

C語言中,關於while迴圈的問題

include int main int argc,char argv 我在解釋一下,昨天沒說清楚。就算你只輸入了乙個a,這個時候scanf掃瞄緩衝區,發現不是整形,所以直接退出,指標仍舊指在a的位置,下次scanf呼叫的時候,指標仍舊指在a這裡,所以scanf不等待你輸入,但是a不是整數,又直接退...