C++学习笔记4[循环语句]
C++學習目錄鏈接:
C++學習筆記目錄鏈接(持續更新中)
文章目錄
- 一、while循環
- 二、do...while循環
- 三、do...while循環與while循環區別
- 四、for循環
- 五、循環控制
- 六、循環嵌套
- 總結
一、while循環
???while循環語句的一-般形式如下:
???while(表達式)語句
????表達式-般是一個關系表達式或一個邏輯表達式, 表達式的值應該是- -個邏輯值真或假(true 和false),當表達式的值為真時開始循環執行語句,當表達式的值為假時退出循環,執行循環外的下一條
語句。循環每次都是執行完語句后回到表達式處重新開始判斷,重新計算表達式的值,一旦表達式的值為假時就退出循環,為真時就繼續執行語句。while 循環可以用流程來演示執行過程,如圖所示。
????語句可以是復合語句,也就是用大括號括起多條簡單語句,大括號及其所包括的語句,被稱為循環體,循環主要指循環執行循環體的內容。
????使用while循環的注意事項如下:
- (1)表達式不可以為空,表達式為空不合法。
- (2)表達式可以用非0代表邏輯值真(true), 用0代表邏輯值假( false)。
- (3)循環體中必須有改變條件表達式值的語句,否則將成為死循環。
二、do…while循環
????do…while循環語句的一般形式如 下:
do
語句
while(表達式)
????do為關鍵字,必須與while配對使用。do與while之間的語句稱為循環體,該語句同樣是用大括號“{}”括起來的復合語句。循環語句中的表達式與while 語句中的相同,也多為關系表達式或邏輯表達式。但特別值得注意的是do…while語句后要有分號“;”。do…while循環可以用流程來演示執行過程,如圖所示。
????do…while循環的執行順序是先執行循環體的內容,然后判斷表達式的值,如果表達式的值為真就跳到循環體處繼續執行循環體,循環一直到表達式的值為假。表達式的值為假時跳出循環,執行下一條語句。
#include <iostream> using namespace std;void main() {int sum=0,i=1;do{sum=sum+i;i=i+1;}while(i<=10);//注意有分號 cout<<"sum:"<<sum<<endl; cout<<"i:"<<i<<endl; }????do…while循環的注意事項如下:
- (1)循環先執行循環體,如果循環條件不成立,循環體已經執行-次了,使用時注意變量變化。
- (2)表達式不可以為空,表達式為空不合法。
- (3)表達式可以用非0代表邏輯值真(true), 用0代表邏輯值假( false)。
- (4)循環體中必須有改變條件表達式值的語句,否則將成為死循環。
- (5)循環語句后要有分號“;”。
三、do…while循環與while循環區別
????區別如下:當1開始while表達式都成立時,兩者最后執行結果一樣。當一開始while表達式為false時,兩者執行結果不一樣。
#include <iostream> using namespace std;void main() {int i=0,j=0;cout<<"before do..,while,j="<<j<<endl;do{j++;}while(i>1);//注意有分號 cout<<"after do..while,j="<<j<<endl;} #include <iostream> using namespace std;void main() {int i=0,j=0;cout<<"before,while,j="<<j<<endl;while(i>1){j++;}cout<<"after, while,j="<<j<<endl;}四、for循環
????for循環語句的一般格式如 下:
for(表達式1;表達式2;表達式3)語句
- 表達式1:該表達式通常是一個賦值表達式,負責設置循環的起始值,也就是給控制循環的變量賦初值。
- 表達式2:該表達式通常是一個關系表達式,用控制循環的變量和循環變量允許的范圍值進行比較。
- 表達式3:該表達式通常是一個賦值表達式,對控制循環的變量進行增大或減小。
- 語句:語句仍然是復合語句。
????for循環執行過程見下
#include <iostream> using namespace std;void main() {int sum=0;int i;for(i=0;i<=10;i++){sum=sum+i;}cout<<"sum is "<<sum<<endl; }????for循環的注意事項
- (1) for語句可以在表達式1中直接聲明變量。
????????for在循環語句中聲明變量,也相當于在函數內聲明了變量,如果在表達式1中聲明兩個相同變量,編譯器將報錯。例如:
#include <iostream> using namespace std;void main() {for(int i=0,sum=0;i<=10;i++)//在表達式內聲明變量{sum=sum+i;}for(int i=0,sum=0;i<=10;i++)//報錯{sum=sum+i;}cout<<"sum is "<<sum<<endl; }- ????for循環中的表達式1、表達式2、表達式3都可以省略。
如果省略表達式1,且控制變量在循環外聲明了并賦初值,程序能編譯通過并且正確運行。例如:下面代碼1
省略了表達式2也就是省略了循環判斷語句,即沒有循環的終止條件,循環變成無限循環。
省略表達式3后循環也是無限循環,因為控制循環的變量永遠都是初始值,永遠符合循環條件。
for循環語句如果省略表達式1和表達式3,就和while循環-樣了。例如:下面代碼2
for循環語句如果省略3個表達式,就會變成無限循環。無限循環就是死環,它會使程序進入癱瘓狀態。使用循環時,建議使用計數控制,也就是說循環執行到指定次數,就跳出循環。例如:代碼3
代碼1
#include <iostream> using namespace std;void main() {int i=0,sum=0;for(;i<=10;i++)//將循環變量拿到表達式外并賦予初值{sum=sum+i;}cout<<"sum is "<<sum<<endl; }代碼2
#include <iostream> using namespace std;void main() {int i=0,sum=0;for(;i<=10;){sum=sum+i;i++;}cout<<"sum is "<<sum<<endl; }代碼3
#include <iostream> using namespace std;void main() {int i=0,sum=0;for(;;){sum=sum+i;i++;if (i>5)//計數控制{break;//跳出循環}}cout<<"sum is "<<sum<<endl; }五、循環控制
????循環控制包含兩方面的內容,一方 面是控制循環變量的變化方式,一方面是控制循環的跳轉。控制循環的跳轉需要用到break和continue兩個關鍵字,這兩條跳轉語句的跳轉效果不同,break 是中斷循環,continue 是跳出本次循環體的執行。
循環變量控制
????for循環的循環控制變量的變化方式有兩種,一個是遞增方式,一個是遞減方式。使用遞增方式還是遞減方式和變量的初值和范圍值的比較有關。
????如果初值大于限定范圍的值,表達式2是大于關系(>) 判定的不等式,使用遞減方式。
????如果初值小于限定的范圍值,表達式2是小于關系(<) 判定的不等式,使用遞增方式。
????前文使用for循環計算1到10的累計和使用的是遞增方式,也可以使用遞減方式計算1到10的累計和。代碼如下:
break語句
????使用break語句可以跳出switch 結構。在循環結構中,同樣也可用break語句跳出當前循環體,從而中斷當前循環。
????在3種循環語句中使用break 語句的形式如圖所示。
continue語句
????continue語句是針對break 語句的補充。continue 不是立即跳出循環體,而是跳過本次循環結束前的語句,回到循環的條件測試部分,重新開始執行循環。在for循環語句中遇到continue后,首先執行循環的增量部分,然后進行條件測試。在while和do… while循環中,continue 語句使控制直接回到件測試部分。
六、循環嵌套
????循環有for、while、 do…while 3種方式,這3種循環可以相互嵌套。例如,在for循環中套用for循環。
for(...){for(...){}}在while循環使用while循環
while(...){while(...){}} }在while循環中使用for循環
while(...){for(...){}}打印9*9乘法表
#include <iostream> #include <iomanip> using namespace std;void main() {int i,j;i=1;j=1;for(i=1;j<10;i++){for(j=1;j<i+1;j++){cout<<setw(2)<<i<<"*"<<j<<"="<<setw(2)<<i*j;}cout<<endl;} }總結
本文講解了C++中的循環語句。
作者:電氣-余登武
總結
以上是生活随笔為你收集整理的C++学习笔记4[循环语句]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 田里养殖什么赚钱 农村创业的朋友一定看一
- 下一篇: 乙肝病毒携带者可以买重疾险吗