日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

C++学习笔记4[循环语句]

發(fā)布時(shí)間:2024/9/30 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++学习笔记4[循环语句] 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C++學(xué)習(xí)目錄鏈接:
C++學(xué)習(xí)筆記目錄鏈接(持續(xù)更新中)


文章目錄

  • 一、while循環(huán)
  • 二、do...while循環(huán)
  • 三、do...while循環(huán)與while循環(huán)區(qū)別
  • 四、for循環(huán)
  • 五、循環(huán)控制
  • 六、循環(huán)嵌套
  • 總結(jié)


一、while循環(huán)

???while循環(huán)語(yǔ)句的一-般形式如下:
???while(表達(dá)式)語(yǔ)句
????表達(dá)式-般是一個(gè)關(guān)系表達(dá)式或一個(gè)邏輯表達(dá)式, 表達(dá)式的值應(yīng)該是- -個(gè)邏輯值真或假(true 和false),當(dāng)表達(dá)式的值為真時(shí)開始循環(huán)執(zhí)行語(yǔ)句,當(dāng)表達(dá)式的值為假時(shí)退出循環(huán),執(zhí)行循環(huán)外的下一條
語(yǔ)句。循環(huán)每次都是執(zhí)行完語(yǔ)句后回到表達(dá)式處重新開始判斷,重新計(jì)算表達(dá)式的值,一旦表達(dá)式的值為假時(shí)就退出循環(huán),為真時(shí)就繼續(xù)執(zhí)行語(yǔ)句。while 循環(huán)可以用流程來(lái)演示執(zhí)行過(guò)程,如圖所示。
????語(yǔ)句可以是復(fù)合語(yǔ)句,也就是用大括號(hào)括起多條簡(jiǎn)單語(yǔ)句,大括號(hào)及其所包括的語(yǔ)句,被稱為循環(huán)體,循環(huán)主要指循環(huán)執(zhí)行循環(huán)體的內(nèi)容。

#include <iostream> using namespace std;void main() {int sum=0,i=1;while(i<=10){sum=sum+i;i=i+1;} cout<<"sum:"<<sum<<endl; cout<<"i:"<<i<<endl; }

????使用while循環(huán)的注意事項(xiàng)如下:

  • (1)表達(dá)式不可以為空,表達(dá)式為空不合法。
  • (2)表達(dá)式可以用非0代表邏輯值真(true), 用0代表邏輯值假( false)。
  • (3)循環(huán)體中必須有改變條件表達(dá)式值的語(yǔ)句,否則將成為死循環(huán)。

二、do…while循環(huán)

????do…while循環(huán)語(yǔ)句的一般形式如 下:

do
語(yǔ)句
while(表達(dá)式)
????do為關(guān)鍵字,必須與while配對(duì)使用。do與while之間的語(yǔ)句稱為循環(huán)體,該語(yǔ)句同樣是用大括號(hào)“{}”括起來(lái)的復(fù)合語(yǔ)句。循環(huán)語(yǔ)句中的表達(dá)式與while 語(yǔ)句中的相同,也多為關(guān)系表達(dá)式或邏輯表達(dá)式。但特別值得注意的是do…while語(yǔ)句后要有分號(hào)“;”。do…while循環(huán)可以用流程來(lái)演示執(zhí)行過(guò)程,如圖所示。

????do…while循環(huán)的執(zhí)行順序是先執(zhí)行循環(huán)體的內(nèi)容,然后判斷表達(dá)式的值,如果表達(dá)式的值為真就跳到循環(huán)體處繼續(xù)執(zhí)行循環(huán)體,循環(huán)一直到表達(dá)式的值為假。表達(dá)式的值為假時(shí)跳出循環(huán),執(zhí)行下一條語(yǔ)句。

#include <iostream> using namespace std;void main() {int sum=0,i=1;do{sum=sum+i;i=i+1;}while(i<=10);//注意有分號(hào) cout<<"sum:"<<sum<<endl; cout<<"i:"<<i<<endl; }

????do…while循環(huán)的注意事項(xiàng)如下:

  • (1)循環(huán)先執(zhí)行循環(huán)體,如果循環(huán)條件不成立,循環(huán)體已經(jīng)執(zhí)行-次了,使用時(shí)注意變量變化。
  • (2)表達(dá)式不可以為空,表達(dá)式為空不合法。
  • (3)表達(dá)式可以用非0代表邏輯值真(true), 用0代表邏輯值假( false)。
  • (4)循環(huán)體中必須有改變條件表達(dá)式值的語(yǔ)句,否則將成為死循環(huán)。
  • (5)循環(huán)語(yǔ)句后要有分號(hào)“;”。

三、do…while循環(huán)與while循環(huán)區(qū)別

????區(qū)別如下:當(dāng)1開始while表達(dá)式都成立時(shí),兩者最后執(zhí)行結(jié)果一樣。當(dāng)一開始while表達(dá)式為false時(shí),兩者執(zhí)行結(jié)果不一樣。

#include <iostream> using namespace std;void main() {int i=0,j=0;cout<<"before do..,while,j="<<j<<endl;do{j++;}while(i>1);//注意有分號(hào) 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循環(huán)

????for循環(huán)語(yǔ)句的一般格式如 下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句

  • 表達(dá)式1:該表達(dá)式通常是一個(gè)賦值表達(dá)式,負(fù)責(zé)設(shè)置循環(huán)的起始值,也就是給控制循環(huán)的變量賦初值。
  • 表達(dá)式2:該表達(dá)式通常是一個(gè)關(guān)系表達(dá)式,用控制循環(huán)的變量和循環(huán)變量允許的范圍值進(jìn)行比較。
  • 表達(dá)式3:該表達(dá)式通常是一個(gè)賦值表達(dá)式,對(duì)控制循環(huán)的變量進(jìn)行增大或減小。
  • 語(yǔ)句:語(yǔ)句仍然是復(fù)合語(yǔ)句。

????for循環(huán)執(zhí)行過(guò)程見下

#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循環(huán)的注意事項(xiàng)

  • (1) for語(yǔ)句可以在表達(dá)式1中直接聲明變量。
#include <iostream> using namespace std;void main() {int sum=0;int i;//在表達(dá)式外聲明變量for(i=0;i<=10;i++){sum=sum+i;}cout<<"sum is "<<sum<<endl; } #include <iostream> using namespace std;void main() {int sum=0;for(int i=0;i<=10;i++)//在表達(dá)式內(nèi)聲明變量{sum=sum+i;}cout<<"sum is "<<sum<<endl; }

????????for在循環(huán)語(yǔ)句中聲明變量,也相當(dāng)于在函數(shù)內(nèi)聲明了變量,如果在表達(dá)式1中聲明兩個(gè)相同變量,編譯器將報(bào)錯(cuò)。例如:

#include <iostream> using namespace std;void main() {for(int i=0,sum=0;i<=10;i++)//在表達(dá)式內(nèi)聲明變量{sum=sum+i;}for(int i=0,sum=0;i<=10;i++)//報(bào)錯(cuò){sum=sum+i;}cout<<"sum is "<<sum<<endl; }
  • ????for循環(huán)中的表達(dá)式1、表達(dá)式2、表達(dá)式3都可以省略。
    如果省略表達(dá)式1,且控制變量在循環(huán)外聲明了并賦初值,程序能編譯通過(guò)并且正確運(yùn)行。例如:下面代碼1
    省略了表達(dá)式2也就是省略了循環(huán)判斷語(yǔ)句,即沒(méi)有循環(huán)的終止條件,循環(huán)變成無(wú)限循環(huán)。
    省略表達(dá)式3后循環(huán)也是無(wú)限循環(huán),因?yàn)榭刂蒲h(huán)的變量永遠(yuǎn)都是初始值,永遠(yuǎn)符合循環(huán)條件。
    for循環(huán)語(yǔ)句如果省略表達(dá)式1和表達(dá)式3,就和while循環(huán)-樣了。例如:下面代碼2
    for循環(huán)語(yǔ)句如果省略3個(gè)表達(dá)式,就會(huì)變成無(wú)限循環(huán)。無(wú)限循環(huán)就是死環(huán),它會(huì)使程序進(jìn)入癱瘓狀態(tài)。使用循環(huán)時(shí),建議使用計(jì)數(shù)控制,也就是說(shuō)循環(huán)執(zhí)行到指定次數(shù),就跳出循環(huán)。例如:代碼3

代碼1

#include <iostream> using namespace std;void main() {int i=0,sum=0;for(;i<=10;i++)//將循環(huán)變量拿到表達(dá)式外并賦予初值{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)//計(jì)數(shù)控制{break;//跳出循環(huán)}}cout<<"sum is "<<sum<<endl; }

五、循環(huán)控制

????循環(huán)控制包含兩方面的內(nèi)容,一方 面是控制循環(huán)變量的變化方式,一方面是控制循環(huán)的跳轉(zhuǎn)。控制循環(huán)的跳轉(zhuǎn)需要用到break和continue兩個(gè)關(guān)鍵字,這兩條跳轉(zhuǎn)語(yǔ)句的跳轉(zhuǎn)效果不同,break 是中斷循環(huán),continue 是跳出本次循環(huán)體的執(zhí)行。

循環(huán)變量控制
????for循環(huán)的循環(huán)控制變量的變化方式有兩種,一個(gè)是遞增方式,一個(gè)是遞減方式。使用遞增方式還是遞減方式和變量的初值和范圍值的比較有關(guān)。
????如果初值大于限定范圍的值,表達(dá)式2是大于關(guān)系(>) 判定的不等式,使用遞減方式。
????如果初值小于限定的范圍值,表達(dá)式2是小于關(guān)系(<) 判定的不等式,使用遞增方式。
????前文使用for循環(huán)計(jì)算1到10的累計(jì)和使用的是遞增方式,也可以使用遞減方式計(jì)算1到10的累計(jì)和。代碼如下:

#include <iostream> using namespace std;void main() {int sum=0;for(int i=10;i>=0;i--){sum=sum+i; } cout<<"sum is "<<sum<<endl; }

break語(yǔ)句
????使用break語(yǔ)句可以跳出switch 結(jié)構(gòu)。在循環(huán)結(jié)構(gòu)中,同樣也可用break語(yǔ)句跳出當(dāng)前循環(huán)體,從而中斷當(dāng)前循環(huán)。
????在3種循環(huán)語(yǔ)句中使用break 語(yǔ)句的形式如圖所示。

#include <iostream> using namespace std;void main() {int i,n ,sum;sum=0;cout<<"輸入10個(gè)整數(shù)"<<endl;for(i=1;i<=10;i++){cin>>n;cout<<" 當(dāng)前i是"<<i<<"輸入的n是"<<n<<endl; if (n<0)break;//跳出循環(huán)sum=sum+n;//對(duì)可輸入的數(shù)進(jìn)行求和}cout<<"sum is "<<sum<<endl; }

continue語(yǔ)句
????continue語(yǔ)句是針對(duì)break 語(yǔ)句的補(bǔ)充。continue 不是立即跳出循環(huán)體,而是跳過(guò)本次循環(huán)結(jié)束前的語(yǔ)句,回到循環(huán)的條件測(cè)試部分,重新開始執(zhí)行循環(huán)。在for循環(huán)語(yǔ)句中遇到continue后,首先執(zhí)行循環(huán)的增量部分,然后進(jìn)行條件測(cè)試。在while和do… while循環(huán)中,continue 語(yǔ)句使控制直接回到件測(cè)試部分。

#include <iostream> using namespace std;void main() {int i,n ,sum;sum=0;cout<<"輸入10個(gè)整數(shù)"<<endl;for(i=1;i<=10;i++){cin>>n;cout<<" 當(dāng)前i是"<<i<<"輸入的n是"<<n<<endl; if (n<0)//判斷是否小于0continue;//跳出本次循環(huán)sum=sum+n;//對(duì)可輸入的數(shù)進(jìn)行求和}cout<<"sum is "<<sum<<endl; }

六、循環(huán)嵌套

????循環(huán)有for、while、 do…while 3種方式,這3種循環(huán)可以相互嵌套。例如,在for循環(huán)中套用for循環(huán)。

for(...){for(...){}}

在while循環(huán)使用while循環(huán)

while(...){while(...){}} }

在while循環(huán)中使用for循環(huán)

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;} }

總結(jié)

本文講解了C++中的循環(huán)語(yǔ)句。

作者:電氣-余登武

總結(jié)

以上是生活随笔為你收集整理的C++学习笔记4[循环语句]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。