C語言循環(huán)控制入門介紹
循環(huán)控制:
for 循環(huán)
for (語句1; 表達(dá)式; 語句2) { 語句塊 }
1)循環(huán)開始時(shí),先執(zhí)行語句1。
2)接著判斷表達(dá)式的條件,如果條件成立,就執(zhí)行一次循環(huán)體中的語句塊。
3)語句塊執(zhí)行完后,接下來會(huì)執(zhí)行語句2。
4)重復(fù)第2)步和第3),直到表達(dá)式的條件不成立才結(jié)束for循環(huán)。
常見形式:
for (int i = 0; i < n; i++)
while 循環(huán)
while (語句1) { 語句塊 }
語句1為真時(shí) 執(zhí)行循環(huán)
常見形式:
while (n--) // 循環(huán)n次
do while 循環(huán)
do { 語句塊 } while (語句1)
do while先執(zhí)行一次循環(huán),然后再判斷表達(dá)式的值,如果為真,再執(zhí)行一次循環(huán)體,如此重復(fù)下去
switch case
switch(表達(dá)式) { case 整型數(shù)值1: 語句 1; case 整型數(shù)值2: 語句 2; ...... case 整型數(shù)值n: 語句 n; default: 語句 n+1; }
執(zhí)行過程:
1 ) 首先計(jì)算“表達(dá)式”的值,假設(shè)為 m。
2 )從第一個(gè) case 開始,比較“整型數(shù)值1”和 m,如果它們相等,就執(zhí)行冒號(hào)后面的所有語句,也就是從“語句1”一直執(zhí)行到“語句n+1”,而不管后面的 case 是否匹配成功。
3 ) 如果“整型數(shù)值1”和 m 不相等,就跳過冒號(hào)后面的“語句1”,繼續(xù)比較第二個(gè) case、第三個(gè) case……一旦發(fā)現(xiàn)和某個(gè)整型數(shù)值相等了,就會(huì)執(zhí)行后面所有的語句。假設(shè) m 和“整型數(shù)值5”相等,那么就會(huì)從“語句5”一直執(zhí)行到“語句n+1”。
4 ) 如果直到最后一個(gè)“整型數(shù)值n”都沒有找到相等的值,那么就執(zhí)行 default 后的“語句 n+1”。
break:
跳出循環(huán)語句 (for循環(huán)、while循環(huán)、do...while循環(huán))
跳出switch語句
continue:
只用于結(jié)束本次循環(huán)(for循環(huán)、while循環(huán)、do...while循環(huán)),進(jìn)行下一次循環(huán)
注意: continue是結(jié)束本次循環(huán),繼續(xù)下一次循環(huán),完成代碼跳轉(zhuǎn),并不是繼續(xù)向下順序執(zhí)行的意思。
break continue 區(qū)別:
break 是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立;continue 語句則只結(jié)束本次循環(huán),不是終止整個(gè)循環(huán),還會(huì)繼續(xù)判斷循環(huán)的條件是否成立。
演示代碼如下:
for(i=0;i<5;i++) //第一層循環(huán) { for(j=0;j<5;j++) //第二層循環(huán) { function_a(); //功能函數(shù) a if(j>=2) { break; //或continue ; } } }
1)如果為 break 當(dāng) j = 2 時(shí),執(zhí)行完break; 程序會(huì)直接跳出第二層循環(huán),去執(zhí)行第一層循環(huán)的 i++ ;
2)如果為 continue 當(dāng) j = 2時(shí),執(zhí)行完continue;程序?qū)⒔Y(jié)束本次循環(huán),繼續(xù)下一次循環(huán),去執(zhí)行 j++;
3)如果滿足 j < 5 則會(huì)繼續(xù)進(jìn)入第二層循環(huán)繼續(xù)執(zhí)行 ,即continue不會(huì)跳出第二層循環(huán)。
?。。?/strong>break 只能跳出一層循環(huán)。當(dāng)有多層循環(huán)嵌套的時(shí)候,break只能跳出“包裹”它的最里面的那一層循環(huán),無法一次跳出所有循環(huán)。
總結(jié)
到此這篇關(guān)于C語言循環(huán)控制入門介紹的文章就介紹到這了,更多相關(guān)C語言循環(huán)控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)系列篇二叉樹的概念及滿二叉樹與完全二叉樹
在上一章中我們正式開啟了對(duì)數(shù)據(jù)結(jié)構(gòu)中樹的講解,介紹了樹的基礎(chǔ)。本章我們將學(xué)習(xí)二叉樹的概念,介紹滿二叉樹和完全二叉樹的定義,并對(duì)二叉樹的基本性質(zhì)進(jìn)行一個(gè)簡(jiǎn)單的介紹。本章附帶課后練習(xí)2022-02-02利用C++實(shí)現(xiàn)從std::string類型到bool型的轉(zhuǎn)換
利用C++實(shí)現(xiàn)從std::string類型到bool型的轉(zhuǎn)換。需要的朋友可以過來參考下。希望對(duì)大家有所幫助2013-10-10C++ 中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)的區(qū)別
這篇文章主要介紹了C++ 中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05C++實(shí)現(xiàn)紅黑樹核心插入實(shí)例代碼
紅黑樹是一種二叉搜索樹,但在每個(gè)結(jié)點(diǎn)上增加一個(gè)存儲(chǔ)位表示結(jié)點(diǎn)的顏色,可以是Red或Black,下面這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)紅黑樹核心插入的相關(guān)資料,需要的朋友可以參考下2023-06-06C++?Boost?Accumulators累加器詳細(xì)講解
Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱2022-11-11C/C++中數(shù)據(jù)類型轉(zhuǎn)換詳解及其作用介紹
這篇文章主要介紹了C/C++中數(shù)據(jù)類型轉(zhuǎn)換詳解及其作用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09