深入了解c語(yǔ)言的循環(huán)語(yǔ)句
C語(yǔ)言循環(huán)語(yǔ)句
大多數(shù)人都希望自己是體格強(qiáng)健,天資聰慧,多才多藝的人。雖然有時(shí)事與愿違,但至少我們用c能寫(xiě)出這樣的程序。訣竅是控制程序流。對(duì)于計(jì)算機(jī)科學(xué)(是研究計(jì)算機(jī),不是用計(jì)算機(jī)作研究)
1 如果滿(mǎn)足某些條件就重復(fù)執(zhí)行語(yǔ)句(循環(huán))。
2 通過(guò)測(cè)試選擇執(zhí)行哪一個(gè)語(yǔ)句(分支)。
在c語(yǔ)言當(dāng)中有while,for,do......while循環(huán)。
while循環(huán)
while循環(huán)語(yǔ)句
while(表達(dá)式)
循環(huán)語(yǔ)句;
#include <stdio.h> int main() { int i =0; while(i<=100) { printf("%d",i); i=i+1; } return 0; }
上面的代碼是打印1~100的數(shù)字。是while循環(huán)的簡(jiǎn)單使用。
在c語(yǔ)言當(dāng)中,所有的非零值都視為真,只有零才為假,也可以這么說(shuō),只要測(cè)試條件的值為非零,就會(huì)執(zhí)行while循環(huán)。
while語(yǔ)句中的break
和continue
break介紹;
#include <stdio.h> int main() { int i = 1; while(i<=10) { if(i==5) break; printf("%d",i); i = i+1; } return 0; }
以上代碼會(huì)輸出以下結(jié)果;
1 2 3 4
所以while中的break是永久終止循環(huán)。
while中的continue是用于終止本循環(huán)也就是continue后面的代碼不會(huì)執(zhí)行而是直接跳轉(zhuǎn)到while語(yǔ)句的判斷部分。代碼如下,它后面沒(méi)有結(jié)束。
for循環(huán)
for循環(huán)表達(dá)式;
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)語(yǔ)句;
表達(dá)式1:是初始化部分。
表達(dá)式2:是條件判斷部分,用于判斷循環(huán)時(shí)候終止。
表達(dá)式3:是調(diào)整部分,用于循環(huán)條件的調(diào)整。
#include <stdio.h> int main() { int i =0; for(i=0;i<=10;i++) { printf("%d",i); } return 0; }
上面的是用for循環(huán)打印1~10的數(shù)字。
for循環(huán)中的break和continue都有不同的用法,感興趣的可以自己去試一下。
do......while
do......while表達(dá)式
do 循環(huán)語(yǔ)句
while(表達(dá)式)
do......while循環(huán)當(dāng)中的break和continue也有不同的用法,我這里就不詳細(xì)講了,你們可以自己去試一下。
do......while循環(huán)用的很少,for循環(huán)用的最多,while循環(huán)在循環(huán)時(shí)要滿(mǎn)足三個(gè)條件,而這三個(gè)條件偏離得很遠(yuǎn),查找起來(lái)不是很方便所以for循環(huán)更勝一籌。
循環(huán)的嵌套
嵌套循環(huán)是指在一個(gè)循環(huán)內(nèi)包含另一個(gè)循環(huán)。嵌套循環(huán)常用于按行和列顯示數(shù)據(jù),也就是說(shuō),一個(gè)循環(huán)處理一行中的所有列,另一個(gè)循環(huán)處理所有的行。
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 9; i++) //外面的循環(huán)把它看成列。 { for (j = 1; j <= i; j++) //而里面的循環(huán)時(shí)行。 { printf("%d*%d=%-2d ", i, j, i * j); //內(nèi)層 for 的結(jié)束條件是j <= i。外層 for 每循環(huán)一次,i 的值就會(huì)變化,所以每次開(kāi)始內(nèi)層 for 循環(huán)時(shí),結(jié)束條件是不一樣的。 //具體如下: } printf("\n"); } return 0; }
當(dāng) i=1 時(shí),內(nèi)層 for 的結(jié)束條件為 j<=1,只能循環(huán)一次,輸出第一行。 當(dāng) i=2 時(shí),內(nèi)層 for 的結(jié)束條件是 j<=2,循環(huán)兩次,輸出第二行。 當(dāng) i=3 時(shí),內(nèi)層 for 的結(jié)束條件是 j<=3,循環(huán)三次,輸出第三行。 當(dāng) i=4、5、6... 時(shí),以此類(lèi)推。
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
上面的代碼很好的解釋了循環(huán)的嵌套的使用。
在c語(yǔ)言當(dāng)中if...else,while,for,都......while循環(huán)都可以相互嵌套。
總結(jié):
while語(yǔ)句和for語(yǔ)句提供了入口條件循環(huán)。for語(yǔ)句特別適用于需要初始化和更新的循環(huán)。使用逗號(hào)運(yùn)算符可以在for循環(huán)中初始化和更新多個(gè)變量。有些場(chǎng)合也需要使用出口條件循環(huán),c為此提供了do......while循環(huán)。
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語(yǔ)言中二維數(shù)組作為函數(shù)參數(shù)來(lái)傳遞的三種方法
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中二維數(shù)組作為函數(shù)參數(shù)來(lái)傳遞的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09C++游戲編程之模擬實(shí)現(xiàn)鍵盤(pán)打字程序
這篇文章主要介紹了通過(guò)C++模擬實(shí)現(xiàn)鍵盤(pán)打字的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12基于VC編寫(xiě)COM連接點(diǎn)事件的分析介紹
本篇文章是對(duì)VC編寫(xiě)COM連接點(diǎn)事件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C語(yǔ)言實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02