小編昨天把循環(huán)語(yǔ)句里面的for循環(huán)寫(xiě)完了,今天把剩下的兩個(gè)給大家?guī)?lái)一下,這一篇貌似也只能把while循環(huán)寫(xiě)完,do while的話貌似還有點(diǎn)多,先寫(xiě)一部分這個(gè)吧。
一、while循環(huán)
1、while介紹
while(邏輯表達(dá)式) //布爾值為1 真
{
反復(fù)執(zhí)行的語(yǔ)句
}
只要邏輯表達(dá)式結(jié)果為真就反復(fù)不停執(zhí)行大括號(hào)里的語(yǔ)句,直到邏輯表達(dá)式結(jié)果為假循環(huán)結(jié)束
只要把邏輯表達(dá)式寫(xiě)成1則循環(huán)成為死循環(huán),while(1)
while循環(huán)里可以使用break和continue;
break 關(guān)鍵字很重要,表示終止本層循環(huán)?,F(xiàn)在這個(gè)例子只有一層循環(huán),當(dāng)代碼執(zhí)行到break 時(shí),循環(huán)便終止。
如果把 break 換成 continue 會(huì)是什么樣子呢? continue 表示終止本次(本輪) 循環(huán)。當(dāng)代碼執(zhí)行到 continue 時(shí),本輪循環(huán)終止,進(jìn)入下一輪循環(huán)。while( 1)也有寫(xiě)成 while(true) 或者 while(1==1) 或者 while((bool) 1)等形式的,效果一樣。
還需注意:任何非零值都是真.比如,while (-1) == while (true)
2、while復(fù)合語(yǔ)句
復(fù)合語(yǔ)句是使用花括號(hào)組織起來(lái)的兩個(gè)或更過(guò)的語(yǔ)句,它也被稱(chēng)為一個(gè)代碼塊。
例如:
/*程序1*/
加群466572167,群內(nèi)有學(xué)習(xí)資料
/*程序2*/
加群466572167,群內(nèi)有學(xué)習(xí)資料
說(shuō)明:在沒(méi)有花括號(hào)的情況下,while循環(huán)語(yǔ)句的范圍是從while到下一個(gè)分號(hào)。
3、技巧
①、假如你想要跳過(guò)輸入直到第一個(gè)不為空格或者數(shù)字的字符,你可以使用這樣的循環(huán):
while (scanf ('%d', &num) == 1) {....}
只要scanf()輸入一個(gè)整數(shù),它就返回1,循環(huán)就會(huì)繼續(xù)。
②、while ((ch = getchar ()) != '\n') {....}
只要輸入不為換行符'\n',它就返回1,循環(huán)就會(huì)繼續(xù)。
③、while循環(huán)內(nèi)只執(zhí)行一次的語(yǔ)句
int i = 0;
while (1)
{
if (0 == i)
{只執(zhí)行一次該語(yǔ)句};
i == 1;
}
4、空語(yǔ)句
加群466572167,群內(nèi)有學(xué)習(xí)資料
while語(yǔ)句之后的單獨(dú)一個(gè)分號(hào)稱(chēng)為空語(yǔ)句,它就是應(yīng)用于目前這個(gè)場(chǎng)合,也就是語(yǔ)法要求這個(gè)地方出現(xiàn)一條語(yǔ)句但又無(wú)需執(zhí)行任何任務(wù)的時(shí)候,這個(gè)分號(hào)獨(dú)占一行,這是為了防止讀者錯(cuò)誤地以為接下來(lái)的語(yǔ)句也是循環(huán)的一部分。
小編把while循環(huán)暫時(shí)寫(xiě)到這,可以加群466572167,群內(nèi)有學(xué)習(xí)資料,下一篇的話,等會(huì)把它更新一下,接著寫(xiě)下去,do while循環(huán),希望對(duì)剛接觸C語(yǔ)言知識(shí)點(diǎn)的大家有點(diǎn)幫助,小編能幫到就盡量幫一下。
聯(lián)系客服