第六章 迴圈控制結構
通過本章的學習,主要學會了計數控制的迴圈,條件控制的迴圈,巢狀迴圈。這三種迴圈主要還是通過for,while,do-while語句還有continue,break語句來實現的。除此之外還包含了結構化程式設計的基本思想,程式除錯與排錯等內容 下面我總結一下這些內容以及本人的理解與感悟。
迴圈控制結構
c語言中提供了for、while、還do-while三種迴圈語句來實現迴圈結構。迴圈條件為真時,重複執行,而被重複執行的語句序列被稱為迴圈體。
①while語句(當型迴圈)
while(迴圈控制表示式)
注:迴圈控制表示式是在執行迴圈體之前測試的。且一般是迴圈次數未知使用。
②do-while語句(直到型迴圈)
dowhile(迴圈控制表示式);
注:1:迴圈體內的語句將至少被執行一次。
2:行末不能有分號。可能倒置死迴圈
③for語句(當型迴圈)
使用頻率最高且靈活方便,掌握這一種可以完全只用這一種。
for(初始化表示式;迴圈控制表示式;增值表示式)
注:1:初始化表示式的作用是賦初值。
2:增值表示式決定了執行次數。
3:該語句表示式之間分隔符是分號,有僅有兩個。迴圈表示式若省略則永真。
4:迴圈次數已知的時候用的多。
5:僅由分號構成的語句,成為空語句,啥也不做,只表示語句存在。常用來編寫延時程式。
以上三種迴圈結構都可以相互轉換,下面我用乙個例題來展示這三種迴圈的轉換。
例:程式設計從鍵盤輸入n,計算並輸1+2+3…+n的值。
方法一:用for語句程式設計實現。
#include
using namespace std;
int main()
cout<>n;
sum=0;i=1;
while(i<=n)
cout<>n;
sum=0;i=1;
dowhile(i<=n)
cout《一種特殊運算子:逗號運算子
該運算子可以把多個表示式連線在一起,構成逗號表示式,作用是實現對各個表示式的順序求值,因此也被稱為順序求值運算子
形式:表示式1,表示式2,…表示式n
注:該運算子在所有運算子中優先級別最低,且具有左結合性。
迴圈巢狀
將乙個迴圈語句放在另乙個迴圈語句的迴圈體中構成的迴圈,就稱為迴圈巢狀。上面說的while,do-while,for這三種迴圈均可以相互巢狀。
★執行時,先由外層迴圈進入內層,並在內層迴圈終止之後接著執行外層迴圈,再由外層迴圈進入內層迴圈中,當外層迴圈全部終止時,程式結束。
例:輸出水仙花數,水仙花數指乙個三位數,其各位數字立方和等於該數本身。
#include
using namespace std;
int main()
{for(int i=1;i<=9;i++)
{for(int j=0;j<=9;j++)
{for(int k=0;k<=9;k++)
{if(iii+jjj+kkk==i100+j10+k)
cout<100+j10+k
break語句的效果是,從break語句開始,跳過剩餘迴圈語句,並結束迴圈。
goto語句:
goto語句的特點是,直接跳到對應的語句,然後向下執行。
goto語句的格式為:
乙個標誌(例如abc):(←這裡是冒號)
goto 標誌(例如goto abc;)
注意:在迴圈巢狀的情況下,break語句和continue語句只對包含他們的最內層的迴圈語句起作用,不能用break語句跳出多重迴圈。若要跳出多重迴圈,使用break語句只能一層一層跳,而顯然goto語句是跳出多重迴圈的一條捷徑。
總結:雖然goto 很方便,但按照推薦說法是,不推薦使用goto語句。而是應該使用if、while、for、switch、continue等結構化控制語句。
以上就是本人對迴圈的理解與感想。
迴圈控制結構
最近我們的c語言課程剛剛結束對迴圈控制結構的學習。在此對c語言中迴圈控制結構的知識點進行總結,並發表看法。迴圈結構主要分為兩種 當型迴圈結構和直到型迴圈。當型迴圈是根據條件決定是否執行迴圈,直到型迴圈是先迴圈再判斷,即至少迴圈一次。c語言中主要是通過for while do while三中迴圈語句來...
迴圈控制結構
一 迴圈控制結構型別 1.當型迴圈結構,表示當條件p成立 為真 時,反覆執行a操作,直到條件p不成立 為假 時結束迴圈。如 while語句 可能一遍都不執行 while 迴圈控制表示式 語句序列 while r 0 與 while r 含義相同 for語句 for 初始化表示式 迴圈控制表示式 增值...
Shell控制結構 迴圈控制
迴圈控制 迴圈或跳轉是一系列命令的重複執行過程。3種迴圈語句 for 迴圈每次處理依次列表內資訊,直至迴圈耗盡。u n t i l迴圈直至條件為真。條件部分在迴圈末尾部分。while 迴圈w h i l e迴圈當條件為真時,迴圈執行,條件部分在迴圈頭。流控制語句的任何迴圈均可巢狀使用。1 for迴圈...