版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第C語言超細(xì)致講解循環(huán)語句目錄C語言循環(huán)家族while循環(huán)for循環(huán)dowhile循環(huán)
C語言循環(huán)家族
家族成員有while語句,for語句和do....while語句。這些成員都能實(shí)現(xiàn)循環(huán),但又各有特點(diǎn)。今天就由我?guī)ьI(lǐng)大家一起認(rèn)識(shí)他們吧!
while循環(huán)
while語句的基本格式:
while(表達(dá)式)
{
循環(huán)語句;
}
while語句執(zhí)行的流程:
while語句的理解:
1當(dāng)表達(dá)式為假時(shí)(0為假),不執(zhí)行while語句中的內(nèi)容。
2當(dāng)表達(dá)式為真的時(shí)候(非0),便循環(huán)執(zhí)行while循環(huán)語句的內(nèi)容,直到表達(dá)式為假的時(shí)候便跳出循環(huán)。
3當(dāng)while循環(huán)語句中出現(xiàn)break語句時(shí),break語句的作用是結(jié)束所有循環(huán)。
4當(dāng)while循環(huán)語句中出現(xiàn)continue語句時(shí),continue語句的作用是結(jié)束本次循環(huán)。
代碼理解while:
我們要想在屏幕中打印1~10便可以借助循環(huán)
#define_CRT_SECURE_NO_WARNINGS
#includestdio.h
//打印1~10
intmain()
inti=1;
while(i=10)
printf("%d",i);
i++;
return0;
}
while循環(huán)中出現(xiàn)break:
#includestdio.h
intmain()
inti=1;
while(i=10)
if(i==5)
break;
printf("%d",i);
i++;
return0;
}
從這個(gè)代碼中我們可以看出,當(dāng)程序進(jìn)入到while循環(huán)中的時(shí)候,當(dāng)i==5時(shí)便會(huì)進(jìn)入到if語句中,這時(shí)后便會(huì)執(zhí)行break,從上面我們可以知道break作用是停止所有循環(huán)。那么屏幕中此時(shí)打印到1~4便會(huì)停止。
while循環(huán)中出現(xiàn)continue:
#includestdio.h
intmain()
inti=1;
while(i=10)
if(i==5)
continue;
printf("%d",i);
i++;
return0;
}
當(dāng)我們分析這段代碼可以發(fā)現(xiàn),就是把break換成了continue,屏幕同樣打印了1~4,但不同的是第二個(gè)程序結(jié)束了,而第三個(gè)程序沒結(jié)束,進(jìn)入了死循環(huán),為什么這樣會(huì)呢?我們知道continue的作用是結(jié)束本次循環(huán)(即continue后面的語句不在執(zhí)行),這時(shí)候i便會(huì)一直等于5進(jìn)入到if中不斷的跳過后面的語句而進(jìn)入的死循環(huán)中。
for循環(huán)
在C語言中我們既然有了while循環(huán)為什么還要來一個(gè)for循環(huán)呢?大家可以帶這個(gè)疑問繼續(xù)往下看。
for語句的基本格式:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
循環(huán)語句;
}
表達(dá)式1:為初始化部分,用于初始化循環(huán)變量的。
表達(dá)式2:為條件判斷部分,用于判斷循環(huán)時(shí)候終止。
表達(dá)式3:為調(diào)整部分,用于循環(huán)條件的調(diào)整。
for語句執(zhí)行的流程:
當(dāng)程序來到for語句中的時(shí),首先是來到表達(dá)式1初始化循環(huán)變量,在來到表達(dá)式式2進(jìn)行初始循環(huán)變量判斷是否滿足循環(huán)條件,若不滿足則跳出循環(huán),滿足則執(zhí)行循環(huán)中的語句,執(zhí)行完后來到表達(dá)式3調(diào)整循環(huán)條件,在指向表達(dá)式2進(jìn)行判斷,直到不滿足循環(huán)條件而跳出循環(huán)。
用for打印1~10:
#includestdio.h
intmain()
inti=1;
for(i=1;i=10;i++)
printf("%d",i);
return0;
}
用下面代碼理解for循環(huán)中的break和continue
#includestdio.h
intmain()
inti=1;
for(i=1;i=10;i++)
if(i==5)
break;
printf("%d",i);
return0;
}
#includestdio.h
intmain()
inti=1;
for(i=1;i=10;i++)
if(i==5)
continue;
printf("%d",i);
return0;
}
大家細(xì)細(xì)體會(huì)代碼1和代碼2,可以看出break和continue在循環(huán)中的作用都是一樣的,但是在不同的循環(huán)語句可能會(huì)出現(xiàn)不同的循環(huán)效果。
for語句的一些建議:
1不可在for循環(huán)體內(nèi)修改循環(huán)變量,防止for循環(huán)失去控制
2建議for語句的循環(huán)控制變量的取值采用前閉后開區(qū)間寫法
inti=0;
//前閉后開的寫法f
or(i=0;ii++){}
//兩邊都是閉區(qū)間
for(i=0;ii++){}
這里是拓展部分大家可以細(xì)細(xì)體會(huì)。
for語句的變種:
#includestdio.h
intmain()
//代碼1
for(;;)
printf("hehe\n");
//for循環(huán)中的初始化部分,判斷部分,調(diào)整部分是可以省略的,但是不建議初學(xué)時(shí)省略,容易導(dǎo)致問
//代碼2
inti=0;
intj=0;
//這里打印多少個(gè)hehe
for(i=0;ii++)
for(j=0;jj++)
printf("hehe\n");
//代碼3
inti=0;
intj=0;
//如果省略掉初始化部分,這里打印多少個(gè)hehe
for(;ii++)
for(;jj++)
printf("hehe\n");
//代碼4-使用多余一個(gè)變量控制循環(huán)
intx,y;
for(x=0,y=0;x2y++x,y++)
printf("hehe\n");
return0;
}
代碼1:死循環(huán)打印hehe
代碼2:打印100個(gè)hehe
代碼3:打印10個(gè)hehe
代碼4:打印2個(gè)hehe
看到這里大家知道為什么要出現(xiàn)for語句了嗎?
我相信大家一定發(fā)現(xiàn)了while循環(huán)中依然存在循環(huán)的三個(gè)必須條件,但是由于風(fēng)格的問題使得三個(gè)部分很可能偏離較遠(yuǎn),這樣查找修改就不夠集中和方便。所以,for循環(huán)的風(fēng)格更勝一籌;for循環(huán)使用的頻率也最高。
dowhile循環(huán)
在這里我就開門見山的和大家說do.....while循環(huán)的特點(diǎn):循環(huán)至少執(zhí)行一次,使用的場景有限,所以不是經(jīng)常使用。
do語句的語法:
do
{
循環(huán)語句;
}while(表達(dá)式);
do語句的執(zhí)行流程:
從執(zhí)行圖中,程序到這里最少執(zhí)行一次循環(huán)中的語句,這里需要注意的是先執(zhí)行語句在進(jìn)行判斷循環(huán)條件
在do語句中的break和continue:
#includestdio.h
intmain()
inti=1;
if(i==5)
break;
printf("%d",i);
i++;
}while(i=10);
return0;
}
#includ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年環(huán)境評(píng)估(土壤環(huán)境質(zhì)量評(píng)估)試題及答案
- 2025年中職(醫(yī)學(xué)檢驗(yàn))血常規(guī)檢測實(shí)務(wù)綜合測試題及答案
- 2025年大學(xué)(測繪科學(xué)與技術(shù)專業(yè))地理信息系統(tǒng)基礎(chǔ)試題及答案
- 2025年大學(xué)第四學(xué)年(工程項(xiàng)目融資)融資方案設(shè)計(jì)階段測試題及答案
- 2025年大學(xué)美術(shù)學(xué)(美術(shù)學(xué)概論)試題及答案
- 2025年大學(xué)安全教育(交通安全知識(shí))試題及答案
- 2025年中職(市場開發(fā)實(shí)務(wù))客戶開發(fā)流程階段測試試題及答案
- 2025年中職船舶工程技術(shù)(船舶建造工藝)試題及答案
- 2025年中職道路橋梁工程技術(shù)(路橋施工技術(shù))試題及答案
- 2025年大學(xué)臨床醫(yī)學(xué)(臨床診療技術(shù))試題及答案
- LY/T 3408-2024林下經(jīng)濟(jì)術(shù)語
- 2025年湖南邵陽市新邵縣經(jīng)濟(jì)開發(fā)區(qū)建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- ICH《M10:生物分析方法驗(yàn)證及樣品分析》
- 國家開放大學(xué)電大24210丨學(xué)前兒童科學(xué)教育活動(dòng)指導(dǎo)(統(tǒng)設(shè)課)期末終考題庫
- 【讀后續(xù)寫】2021年11月稽陽聯(lián)考讀后續(xù)寫講評(píng):Saving the Daisies 名師課件-陳星可
- 教育培訓(xùn)班項(xiàng)目可行性研究報(bào)告
- 人參健康食品營銷策劃
- 2024年人參項(xiàng)目營銷策劃方案
- 工會(huì)職工大會(huì)制度實(shí)施細(xì)則范本
- ups拆除施工方案
- GB/T 21196.4-2007紡織品馬丁代爾法織物耐磨性的測定第4部分:外觀變化的評(píng)定
評(píng)論
0/150
提交評(píng)論