深入了解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ǔ)言網(wǎng)絡(luò)編程-標(biāo)準(zhǔn)步驟(比較簡(jiǎn)單)
這篇文章主要介紹了c語(yǔ)言網(wǎng)絡(luò)編程-標(biāo)準(zhǔn)步驟(比較簡(jiǎn)單),需要的朋友可以參考下2014-01-01
淺析string 與char* char[]之間的轉(zhuǎn)換
與char*不同的是,string不一定以NULL('\0')結(jié)束。string長(zhǎng)度可以根據(jù)length()得到,string可以根據(jù)下標(biāo)訪(fǎng)問(wèn)。所以,不能將string直接賦值給char*2013-10-10
C++實(shí)現(xiàn)LeetCode(25.每k個(gè)一組翻轉(zhuǎn)鏈表)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(25.每k個(gè)一組翻轉(zhuǎn)鏈表),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
wchar_t,char,string,wstring之間的相互轉(zhuǎn)換
以下是對(duì)wchar_t,char,string,wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-09-09
C語(yǔ)言中使用qsort函數(shù)對(duì)自定義結(jié)構(gòu)體數(shù)組進(jìn)行排序
這篇文章主要介紹了C語(yǔ)言中使用qsort函數(shù)對(duì)自定義結(jié)構(gòu)體數(shù)組進(jìn)行排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C++基于socket編程實(shí)現(xiàn)聊天室功能
這篇文章主要介紹了C++基于socket編程實(shí)現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
C語(yǔ)言 選擇排序算法詳解及實(shí)現(xiàn)代碼
本文主要介紹C語(yǔ)言 選擇排序算法,這里對(duì)排序算法做了詳細(xì)說(shuō)明,并附代碼示例,有需要的小伙伴可以參考下2016-08-08
C語(yǔ)言中 int main(int argc,char *argv[])的兩個(gè)參數(shù)詳解
這篇文章主要介紹了C語(yǔ)言中 int main(int argc,char *argv[])的兩個(gè)參數(shù)詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03

