寧波外貿(mào)網(wǎng)站推廣今日頭條重大消息
目錄
循環(huán)結(jié)構(gòu)
一、for 語(yǔ)句
for 循環(huán)案例
?輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù)。
編譯運(yùn)行,查看輸出結(jié)果
編譯調(diào)試
for 循環(huán)結(jié)構(gòu)語(yǔ)義分析
二、beak 語(yǔ)句
三、continue 語(yǔ)句
?案例1:
?案例2:
?案例3:
循環(huán)結(jié)構(gòu)
在實(shí)際生活中,經(jīng)常會(huì)將同一件事情重復(fù)做很多次,在 C++ 語(yǔ)言中,也經(jīng)常需要重復(fù)執(zhí)行同一代碼塊,這時(shí)就需要使用循環(huán)結(jié)構(gòu)。
一、for 語(yǔ)句
for 循環(huán)案例
?輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù)。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù)。**/int n;cin>>n;for(int i=1;i<=n;i++){cout<<i<<"\n"<<endl;}return 0;
}
編譯運(yùn)行,查看輸出結(jié)果
?
編譯調(diào)試
1、工具》編譯選項(xiàng)》代碼生成/優(yōu)化》連接器 然后在”產(chǎn)生調(diào)試信息“那里吧 no 改為 yes
2、設(shè)置斷點(diǎn)
3、點(diǎn)擊菜單 運(yùn)行-調(diào)試,按F5也是可以的,或者點(diǎn)擊工具欄上的那個(gè) √ 也是可以開(kāi)始調(diào)試的。叉號(hào)是停止調(diào)試。
4、設(shè)置需要監(jiān)控的對(duì)象
5、點(diǎn)擊查看對(duì)象,輸入 i 這時(shí)候我們就可以查看 i 每一步的輸出值了。?
下一步,是單步執(zhí)行,但是不進(jìn)入子函數(shù)。
單步進(jìn)入,單步執(zhí)行,進(jìn)入子函數(shù)。
跳過(guò)和跳過(guò)函數(shù)很明白了。
下一條語(yǔ)句,在匯編代碼就可以看到,是逐句執(zhí)行匯編代碼
進(jìn)入語(yǔ)句,也是在匯編代碼中可以看到,也是逐句執(zhí)行匯編代碼。
但是它與 下一步語(yǔ)句 區(qū)別是,下一條語(yǔ)句不會(huì)進(jìn)入到系統(tǒng)調(diào)用,比如標(biāo)準(zhǔn)庫(kù)的匯編代碼,但是進(jìn)入語(yǔ)句 會(huì)進(jìn)入標(biāo)準(zhǔn)庫(kù)的匯編代碼。?
注:調(diào)試程序,大家可以自行去練習(xí)一下,多動(dòng)手時(shí)間跟蹤一下,你就會(huì)很熟練了。
for 循環(huán)結(jié)構(gòu)語(yǔ)義分析
二、beak 語(yǔ)句
break語(yǔ)句是指直接跳出所在的循環(huán)。注:break 只能跳出當(dāng)前所在的循環(huán)體。
?輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù),遇到5時(shí)停止。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù),遇到5時(shí)停止。**/int n;cin>>n;for(int i=1;i<=n;i++){if(i==5)break;cout<<i<<"\n";}cout<<"this is a break test";return 0;
}
運(yùn)行查看結(jié)果
?
三、continue 語(yǔ)句
continue語(yǔ)句是指直接執(zhí)行下一次循環(huán)。
?案例1:
輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù),遇到偶數(shù)時(shí)不輸出。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**輸入一個(gè)整數(shù)n,輸出1~n的所有整數(shù),遇到偶數(shù)時(shí)不輸出。**/int n;cin>>n;for(int i=1;i<=n;i++){if(i%2==0)continue;cout<<i<<"\n";}cout<<"this is a continue test";return 0;
}
運(yùn)行查看結(jié)果
?案例2:
輸入一個(gè)整數(shù)n(0<n<10),輸出n! 。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/****?輸入一個(gè)整數(shù)n(0<n<10),輸出n的階乘 n! * n!= n*(n-1)*(n-2)*...1***/long long n,fac=1;cin>>n;for(int i=1;i<=n;i++){fac = fac*i;//fac*=i;}cout <<"fac="<<fac<<endl;//flush 刷新緩存區(qū)return 0;
}
查看運(yùn)行結(jié)果?
?案例3:
輸出斐波那契數(shù)列第10項(xiàng)( F(1)= F(2)= 1; F(N)= F(N-1) + F(N-2) )。
注:什么叫斐波那契數(shù)列?直白點(diǎn)就是當(dāng)前數(shù)據(jù)項(xiàng)的值等于它前兩項(xiàng)的數(shù)值之和。
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列,因數(shù)學(xué)家萊昂納多·斐波那契(Leonardo Fibonacci)以兔子繁殖為例子而引入,故又稱“兔子數(shù)列”,其數(shù)值為:1、1、2、3、5、8、13、21、34……在數(shù)學(xué)上,這一數(shù)列以如下遞推的方法定義:F(0)=1,F(1)=1,?F(n)=F(n - 1)+F(n - 2)(n?≥ 2,n?∈ N*)。
#include <iostream>
#include <windows.h>
using namespace std;
/*** 輸出斐波那契數(shù)列第10項(xiàng)( F(1)= F(2)= 1; F(N)= F(N-1) + F(N-2) )
**/
//定義一個(gè)int數(shù)組
long long f[100+5];
int main(){f[1]=f[2]=1;for(int i=3;i<=100;i++){f[i]=f[i-1]+f[i-2];}cout<<"f[10]="<<f[10]<<endl;return 0;
}
運(yùn)行結(jié)果:
下一節(jié)講解循環(huán)結(jié)構(gòu) while 語(yǔ)句的用法?