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;
}解釋?zhuān)?/p>
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;
}解釋?zhuān)?/p>
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;
}解釋?zhuān)?/p>
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++在C語(yǔ)言基礎(chǔ)之上增強(qiáng)的幾個(gè)實(shí)用特性總結(jié)
這篇文章主要介紹了C++在C語(yǔ)言基礎(chǔ)之上增強(qiáng)的幾個(gè)實(shí)用特性總結(jié),包括C++中更強(qiáng)的類(lèi)型約束以及結(jié)構(gòu)體方面等一些更加高級(jí)的特性,需要的朋友可以參考下2016-03-03
C++中function包裝器的應(yīng)用實(shí)例詳解
這篇文章主要介紹了C++中function包裝器的相關(guān)資料,std::function是C++11引入的一個(gè)模板類(lèi),用于封裝任何可調(diào)用對(duì)象,使得函數(shù)能夠像對(duì)象一樣傳遞、存儲(chǔ)和調(diào)用,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12
c++ std::sort使用自定義的比較函數(shù)排序方式
文章介紹了使用std::sort對(duì)容器內(nèi)元素進(jìn)行排序的基本方法,包括自定義排序函數(shù)和在類(lèi)中調(diào)用自定義成員函數(shù)進(jìn)行排序的方法,文章還指出了在傳遞成員函數(shù)指針時(shí)可能會(huì)遇到的錯(cuò)誤,并提供了使用Lambda表達(dá)式的解決辦法2025-02-02
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的推箱子游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的推箱子游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
OpenCV4.1.0+VisualStudio2019開(kāi)發(fā)環(huán)境搭建(超級(jí)簡(jiǎn)單)
這篇文章主要介紹了OpenCV4.1.0+VisualStudio2019開(kāi)發(fā)環(huán)境搭建(超級(jí)簡(jiǎn)單),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Qt5+QMediaPlayer實(shí)現(xiàn)音樂(lè)播放器的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Qt5和QMediaPlayer實(shí)現(xiàn)簡(jiǎn)易的音樂(lè)播放器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12
C++隱式類(lèi)型轉(zhuǎn)換運(yùn)算符operator type()用法詳解
這篇文章主要介紹了C++隱式類(lèi)型轉(zhuǎn)換運(yùn)算符operator type()用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

