C語言詳細(xì)講解while語句的用法
while語句格式
格式:
while(表達(dá)式)
{
語句塊
}
1、先執(zhí)行while(表達(dá)式),如條件為真執(zhí)行語句塊;
2、執(zhí)行完語句塊,繼續(xù)執(zhí)行表達(dá)式;
3、知道表達(dá)式為假。就退出循環(huán),執(zhí)行while后面的代碼。
例題1
用while語句,輸出0-9的值。
代碼:
#include <stdio.h> int main (void) { int i=0; //初始條件i=0; while(i<10) //while 循環(huán) //while(表達(dá)式) 如果為真執(zhí)行{ }里面語句塊。 { printf("i的值為:%d\n",i); //輸出i的值 i++; //自增 } return 0; }
解釋:
1、開始定義初始條件i=0;
2、開始進(jìn)入while( i<10 )
循環(huán),i=0;
條件成立,立即執(zhí)行語句塊內(nèi)容,輸出 i = 0;
再計(jì)算 i++;
i = 1;
3、進(jìn)入while( i<10 )
; i = 1;
條件成立,立即執(zhí)行語句塊內(nèi)容,輸出 i = 1;再計(jì)算 i++;
i = 2;
4、重復(fù)上面的步驟,直到 i =10;
條件不成立時(shí)候,跳出循環(huán),執(zhí)行return 0
;
結(jié)果:
例題2
用while計(jì)算1-100的和
代碼:
#include <stdio.h> int main (void) { int i=0; //定義一個(gè) i、sum 的初始條件; int sum=0; while(i<=100) //while 循環(huán) { sum += i; //語句塊 條件 i ++; } printf("1-100的和:%d\n",sum); //求和 return 0; }
解釋:
1、開始運(yùn)行while(i <=100); 因?yàn)?i=1,i<=100 成立,所以會(huì)執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i ++ ; i 的值變?yōu)?2,sum 的值變?yōu)?1。
2、while循環(huán)繼續(xù)判斷 i<=100是否成立,因?yàn)榇藭r(shí) i=2,i<=100 成立,所以繼續(xù)執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i ++ ; i 的值變?yōu)?3,sum 的值變?yōu)?。
3、重復(fù)執(zhí)行步驟 2。當(dāng)循環(huán)進(jìn)行到第100次,i 的值變?yōu)?101,sum 的值變?yōu)?050;因?yàn)榇藭r(shí) i<=100 不再成立,所以就退出循環(huán),不再執(zhí)行循環(huán)體,轉(zhuǎn)而執(zhí)行while循環(huán)后面的代碼。
結(jié)果:
例題3
經(jīng)典題目水仙花數(shù)
(從0至999之間各個(gè)位數(shù)的立方和等于本身的數(shù)等于水仙花數(shù))
代碼:
#include <stdio.h> int main (void) { int i=0; //定義初始值數(shù) int a,b,c; //定義個(gè)位數(shù)百位數(shù) while( i<=999) //條件 { //開始拆解個(gè)位、十位、百位; a = i/100; //百位 b = i/10%10; //十位 c = i%10; //個(gè)位 if (a*a*a+b*b*b+c*c*c == i) //if語句判斷條件 { printf("水仙花:%d\n",i); //為真輸出語句塊 } i++; //再計(jì)算i,后面返回while } return 0; }
解釋:
1、開始確定區(qū)間【0-999】
2、開始執(zhí)行 i = 0;條件成立,執(zhí)行語句塊內(nèi)容,拆解i的個(gè)位百位數(shù),在用if語句判斷是否成立,成立就輸出i;
3、判斷i的值,拆分個(gè)位十位百位;a = i/100; //百位; b = i/10%10; //十位;c = i%10; //個(gè)位
4、重復(fù)上面的操作,直到i=1000時(shí),條件不成立,直接跳出while循環(huán),運(yùn)行while下面的語句。
結(jié)果:
到此這篇關(guān)于C語言詳細(xì)講解while語句的用法的文章就介紹到這了,更多相關(guān)C語言while語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++通用動(dòng)態(tài)抽象工廠的實(shí)現(xiàn)詳解
在面向?qū)ο蟮木幊讨?一般通過繼承和虛函數(shù)來提供抽象能力,下面這篇文章主要給大家介紹了關(guān)于C++通用動(dòng)態(tài)抽象工廠的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07C語言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03C++進(jìn)階練習(xí)刪除鏈表的倒數(shù)第N個(gè)結(jié)點(diǎn)詳解
這篇文章主要給大家介紹了關(guān)于如何利用C++刪除鏈表的倒數(shù)第N個(gè)結(jié)點(diǎn),文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-05-05C++11 簡(jiǎn)單實(shí)現(xiàn)線程池的方法
這篇文章主要介紹了C++11 簡(jiǎn)單實(shí)現(xiàn)線程池的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10C++11中l(wèi)onglong超長(zhǎng)整型和nullptr初始化空指針
本文介紹?C++11?標(biāo)準(zhǔn)中新添加的?long?long?超長(zhǎng)整型和?nullptr?初始化空指針,在?C++11?標(biāo)準(zhǔn)下,相比?NULL?和?0,使用?nullptr?初始化空指針可以令我們編寫的程序更加健壯,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友跟隨小編一起看看吧2022-12-12