第六章 迴圈控制結構
6.1 迴圈控制結構與迴圈語句
● 計數控制的迴圈:需要處理的次數是已知的
● 條件控制的迴圈:重複處理的次數是未知的
而且上述兩種都需要用迴圈結構來實現。
● 迴圈結構通常有兩種型別:
(1)、當型迴圈結構:表示當條件p成立(為真)時,反覆執行a操作,直到條件p不成立(為假)時迴圈結束
(2)、直到型迴圈函式:表示先執行a操作,再判斷條件p是否成立(為真),若條件p成立(為真),則反覆執行a操作,直到條件p不成立(為假)時結束迴圈
● c語言提供for、while、do-while三種迴圈語句來實現迴圈結構
● while語句(當型迴圈)
(1)計算迴圈控制表示式的值
(2)如果迴圈控制表示式的值為真,那麼就執行迴圈體的語句,並返回步驟(1)
(3)如果迴圈控制表示式的值為假,就退出迴圈,執行迴圈體後面的語句
while(迴圈控制表示式)
語句序列
● do-while語句(直到型迴圈)
(1)執行迴圈體中的語句
(2)計算迴圈控制表示式的值
(3)如果迴圈控制表示式的值為真,那麼返回步驟(1)
(4)如果迴圈控制表示式為假,就退出迴圈,執行迴圈體後面的語句
do 語句序列
}while(迴圈控制表示式);
● do-while語句由於先執行迴圈體後計算並判定迴圈控制條件為真還是為假,所以迴圈體內的語句將至少被執行一次
● for迴圈(當型迴圈結構)
for(初始化表示式;迴圈表示式;增值表示式)
語句序列
●for語句可用while語句來等價實現
初始化表示式;
while(迴圈控制表示式)
語句序列
增值表示式;
● for語句中三個表示式之間的分隔符是「分號」,有且僅有兩個分號,既不能多,也不能少
● 一般,迴圈控制表示式很少省略,若省略,則表示迴圈條件永真
● 當已在迴圈體中改變了迴圈控制變數時,增值表示式可以省略
初始化表示式; 初始化表示式
for(;迴圈控制表示式;增值表示式)
語句序列
for(;迴圈控制表示式;)
語句序列
增值表示式;
●如果迴圈次數已知,一般用for語句;未知,一般用while;迴圈體至少執行一次,用do-while
●要在迴圈語句前賦初值,並且挨著
● 逗號運算子可把多個表示式連線在一起,構成逗號表示式,其作用是實現對各個表示式的順序求值,因此逗號運算子也稱順序求值運算子
● 空語句:僅由乙個分號構成的語句 ,什麼都不做,只表示語句的存在。當迴圈體中是空語句時,表示在迴圈體中什麼也不做,常用於編寫延時程式
● 如果for語句末尾有分號,就表示迴圈體是分號之前的內容,相當於迴圈體變成了空語句,表示迴圈體內什麼都不做,將產生邏輯錯誤
● 如果while後面被意外的加上了分號,可能會產生死迴圈
● 當第一次測試迴圈條件就為假時,while語句和do-while語句是不等價的
6.2 計數控制的迴圈
● 迴圈次數事先已知的迴圈為計數控制的迴圈,且用for語句編寫計數控制的迴圈更方便
6.3 巢狀迴圈
● 巢狀迴圈:將乙個迴圈語句放在另乙個迴圈語句的迴圈體中構成的迴圈
● while、do-while、for這三種迴圈均可以相互巢狀
● 雙重巢狀迴圈其總的迴圈次數等於外層的迴圈次數和內層的迴圈次數的乘積
6.4 條件控制的迴圈
● 迴圈次數事先未知的迴圈通常是由乙個條件控制的,稱為條件控制迴圈。用while和do-while程式設計更方便
● 如果想要改變計算機生成的隨機數的範圍:
(1)利用求餘運算rand()%b將函式rand()生成的隨機數變化到【0,b-1】之間
(2)利用rand()%b+a將隨機數的取值範圍平移到【a,a+b-1】之間
● rand()函式是產生隨機數的乙個隨機函式,使用該函式首先應在開頭包含標頭檔案#include
●使用time()時,必須在程式開頭將標頭檔案
6.5流程的轉移控制
●goto語句、break語句、continue語句、ruuturn語句是c語言中用於控制流程轉移的跳轉語句
●當執行迴圈體遇到break語句時,迴圈將立即終止,從迴圈語句後的第一條語句開始繼續執行
●當在迴圈體中遇到continue語句時,程式將跳過continue語句後面尚未執行的語句,開始下一次迴圈,即只結束本次迴圈的執行,並不終止整個迴圈的執行
●在巢狀迴圈時,break語句和continue語句只對包含他們的最內層的巢狀語句起作用,不能用break語句跳出多重迴圈
學習了迴圈結構,感覺c語言已經進入困難的階段。通過做迴圈結構的題,感覺越來越吃力,有很多知識點不能很熟練的運用。在拿到乙個迴圈題的時候,並不能短時間內清楚的分析題的思路,需要想很長時間才能將題做對。
第六章 迴圈控制結構
第六章 迴圈控制結構 知識點 1,迴圈控制結構與迴圈語句 2,計數控制的迴圈 3,巢狀迴圈 4,條件控制的迴圈 5流程的轉移控制 迴圈分為常見五種語句 1.for語句 for 初始化表示式 迴圈控制表示式 增值表示式 語句序列 2.while語句 while 迴圈控制表示式 語句序列 增值表示式 注...
第六章 迴圈控制結構
從鍵盤輸入n,然後輸出1 2 3 n include intmain i 0 while i n do while方法 i 1 dowhile i n 注意 這個迴圈它至少執行一次 printf d n sum 空語句,常用於編寫延時程式 for i 0 i 巢狀迴圈,輸出1!2!3!include...
第六章迴圈總結
對 第六章 迴圈的總結 學習過第六章後,讓我學會了運用迴圈結構。迴圈結構通常有當型迴圈結構和直到型迴圈結構兩種型別。c語言中有for while do while三種迴圈語句,其中for語句多用於計數控制的迴圈,其他兩種多用於條件控制的迴圈。迴圈體中要有乙個迴圈表示式,若表示式為真,則繼續迴圈,否則...