循環(huán)結(jié)構(gòu)while 和do while
一聋呢、是什么?
是指程序循環(huán)語句,當(dāng)條件滿足時進(jìn)入循環(huán),循環(huán)判斷,知道不滿足條件跳出循環(huán)
循環(huán)結(jié)構(gòu)簡單來說就是:循環(huán)是一次又一次的執(zhí)行相同的代碼塊
一般來說一個循環(huán)需要以下幾部分構(gòu)成:
1)循環(huán)控制條件循環(huán)退出的主要依據(jù),來控制循環(huán)到底什么時候退出
2)循環(huán)體循環(huán)的過程中重復(fù)執(zhí)行的代碼段
3)能夠讓循環(huán)結(jié)束的語句(遞增、遞減颠猴、真娜饵、假等)能夠讓循環(huán)條件為假的控制,否則退出循環(huán)
二坡贺、有什么用?
可以根據(jù)條件反復(fù)執(zhí)行一段代碼
三、怎么用?
while(條件){語句 循環(huán)控制 };do(語句)while{循環(huán)控制}
四箱舞、什么時候用?
當(dāng)需要重復(fù)執(zhí)行一段代碼或滿足一定條件后重復(fù)執(zhí)行一段代碼,實現(xiàn)相應(yīng)的功能
五遍坟、有什么特點?
1.只有滿足條件 循環(huán)才會執(zhí)行
2.注意死循環(huán)的出現(xiàn),會一直循環(huán)執(zhí)行下去,除非程序強(qiáng)制退出
3.如果碰到continue,則跳出本次(后面代碼塊不會執(zhí)行)循環(huán),繼續(xù)開始下一次循環(huán)
4.如果碰到break,則無論條件是否滿足,循環(huán)立刻結(jié)束(循環(huán)無條件結(jié)束)
5.continue與break跳出的是當(dāng)前所在的循環(huán)作用域,如果外層有循環(huán)不受影響.
6.do..while至少執(zhí)行一次,而while不一定.
作用域:內(nèi)部代碼塊中定義的變量不可以在外邊代碼塊中訪問
while (1 < 3) { int a = 0;
}
printf("a = %d\n",a); //不可訪問!
for循環(huán)
一、是什么?
是指程序循環(huán)語句,當(dāng)滿足條件時開始循環(huán),直到不滿足條件跳出循環(huán)
二晴股、有什么用?
根據(jù)條件反復(fù)執(zhí)行一段代碼
三政鼠、怎么用?
for( ; ; ;){代碼快};里面是3個語句,兩個分號,第一個語句開始開始前執(zhí)行,第二個語句是判斷真假,如果為真,則執(zhí)行代碼塊 第三個語句是循環(huán)控制.
四、什么時候用?
當(dāng)需要重復(fù)執(zhí)行一段代碼或者滿足一定條件重復(fù)執(zhí)行的一段代碼實現(xiàn)相應(yīng)的功能.
五队魏、有什么特點?
1.只有滿足條件循環(huán)才會執(zhí)行.
2.注意死循環(huán)的出現(xiàn),會一直循環(huán)執(zhí)行下去,除非程序強(qiáng)制退出.
3.如果碰到continue,則跳出本次循環(huán)繼續(xù)下一次循環(huán).如果下一循環(huán)的條件成立則繼續(xù)循環(huán)
4.如果碰到break,則無論條件滿足與否,循環(huán)立刻結(jié)束
5.continue與break跳出的都是當(dāng)前坐在的循環(huán)作用域,如果外層有循環(huán),不受影響
雙層for循環(huán):
注意:for循環(huán)中如果使用++i,則計算性能會比i++好一些.這是跟編譯有關(guān)的.
外層控制行數(shù),內(nèi)層控制列數(shù)
continue與break
當(dāng)break語句用于do-while公般、for、while循環(huán)語句中時,可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句
通常break語句總是與while語句聯(lián)在一起,即滿足條件時便跳出循環(huán)胡桨。
continue語句的作用是跳過循環(huán)體中剩余的語句而繼續(xù)下一次官帘。
continue語句只用在 for、while昧谊、do-while等循環(huán)體中,常與if條件語句一起使用,用來加速循環(huán)刽虹。