C語(yǔ)言詳細(xì)講解while語(yǔ)句的用法
while語(yǔ)句格式
格式:
while(表達(dá)式)
{
語(yǔ)句塊
}
1、先執(zhí)行while(表達(dá)式),如條件為真執(zhí)行語(yǔ)句塊;
2、執(zhí)行完語(yǔ)句塊,繼續(xù)執(zhí)行表達(dá)式;
3、知道表達(dá)式為假。就退出循環(huán),執(zhí)行while后面的代碼。
例題1
用while語(yǔ)句,輸出0-9的值。
代碼:
#include <stdio.h>
int main (void)
{
int i=0; //初始條件i=0;
while(i<10) //while 循環(huán)
//while(表達(dá)式) 如果為真執(zhí)行{ }里面語(yǔ)句塊。
{
printf("i的值為:%d\n",i); //輸出i的值
i++; //自增
}
return 0;
}解釋:
1、開(kāi)始定義初始條件i=0;
2、開(kāi)始進(jìn)入while( i<10 )循環(huán),i=0;條件成立,立即執(zhí)行語(yǔ)句塊內(nèi)容,輸出 i = 0; 再計(jì)算 i++;i = 1;
3、進(jìn)入while( i<10 ); i = 1; 條件成立,立即執(zhí)行語(yǔ)句塊內(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; //語(yǔ)句塊 條件
i ++;
}
printf("1-100的和:%d\n",sum); //求和
return 0;
}解釋:
1、開(kāi)始運(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) //條件
{
//開(kāi)始拆解個(gè)位、十位、百位;
a = i/100; //百位
b = i/10%10; //十位
c = i%10; //個(gè)位
if (a*a*a+b*b*b+c*c*c == i) //if語(yǔ)句判斷條件
{
printf("水仙花:%d\n",i); //為真輸出語(yǔ)句塊
}
i++; //再計(jì)算i,后面返回while
}
return 0;
}解釋:
1、開(kāi)始確定區(qū)間【0-999】
2、開(kāi)始執(zhí)行 i = 0;條件成立,執(zhí)行語(yǔ)句塊內(nèi)容,拆解i的個(gè)位百位數(shù),在用if語(yǔ)句判斷是否成立,成立就輸出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下面的語(yǔ)句。
結(jié)果:

到此這篇關(guān)于C語(yǔ)言詳細(xì)講解while語(yǔ)句的用法的文章就介紹到這了,更多相關(guān)C語(yǔ)言while語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++通用動(dòng)態(tài)抽象工廠的實(shí)現(xiàn)詳解
在面向?qū)ο蟮木幊讨?一般通過(guò)繼承和虛函數(shù)來(lái)提供抽象能力,下面這篇文章主要給大家介紹了關(guān)于C++通用動(dòng)態(tài)抽象工廠的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
詳解C語(yǔ)言中條件判斷語(yǔ)句if和switch的用法
這篇文章主要介紹了詳解C語(yǔ)言中條件判斷語(yǔ)句if和switch的用法,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04
C語(yǔ)言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
通過(guò)“回文字算法”復(fù)習(xí)C++語(yǔ)言
這篇文章主要介紹了通過(guò)“回文字算法”復(fù)習(xí)C++語(yǔ)言的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
C++進(jìn)階練習(xí)刪除鏈表的倒數(shù)第N個(gè)結(jié)點(diǎn)詳解
這篇文章主要給大家介紹了關(guān)于如何利用C++刪除鏈表的倒數(shù)第N個(gè)結(jié)點(diǎn),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-05-05
C++11 簡(jiǎn)單實(shí)現(xiàn)線程池的方法
這篇文章主要介紹了C++11 簡(jiǎn)單實(shí)現(xiàn)線程池的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
C++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

