




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C++大學(xué)基礎(chǔ)教程第3章C++控制語(yǔ)句
2023/6/41用計(jì)算機(jī)解決實(shí)際問(wèn)題,首先要分析問(wèn)題,設(shè)計(jì)合適的算法,然后編程實(shí)現(xiàn)算法。2023/6/42第3章
C++控制語(yǔ)句3.1算法的基本控制結(jié)構(gòu)3.2if選擇語(yǔ)句3.3switch選擇語(yǔ)句3.4循環(huán)語(yǔ)句3.5循環(huán)嵌套3.6應(yīng)用舉例2023/6/433.1算法的基本控制結(jié)構(gòu)
2023/6/443.1算法的基本控制結(jié)構(gòu)算法
1、計(jì)算機(jī)執(zhí)行的操作2、這些操作的順序
偽碼、流程圖偽碼
采用類似計(jì)算機(jī)語(yǔ)言的分句格式,以自然語(yǔ)言描述算法。
2023/6/453.1算法的基本控制結(jié)構(gòu)流程圖以圖形符號(hào)直觀
開(kāi)始/結(jié)束執(zhí)行判斷聯(lián)系2023/6/463.1算法的基本控制結(jié)構(gòu)程序的三種基本控制結(jié)構(gòu)
(1)順序結(jié)構(gòu)(2)選擇結(jié)構(gòu)(分支結(jié)構(gòu))(3)循環(huán)結(jié)構(gòu)2023/6/473.1算法的基本控制結(jié)構(gòu)流程控制語(yǔ)句
選擇語(yǔ)句:if..else、switch
循環(huán)語(yǔ)句:while、for、do..while
轉(zhuǎn)向語(yǔ)句:break、continue2023/6/483.2if選擇語(yǔ)句
2023/6/493.2if選擇語(yǔ)句if_else語(yǔ)句基本語(yǔ)法
if(表達(dá)式)
語(yǔ)句1; else
語(yǔ)句2;2023/6/4103.2if選擇語(yǔ)句if_else
1、沒(méi)有else分支
2、雙分支3、多分支4、if
語(yǔ)句的嵌套2023/6/4113.2if選擇語(yǔ)句1、沒(méi)有else分支例如:比較x和y的大小,如果x大則輸出x的值if(表達(dá)式)語(yǔ)句;if(x>y)
cout<<x<<endl;2023/6/4122、雙分支例如:比較x,y的大小,將較大的數(shù)輸出
if(表達(dá)式)語(yǔ)句1;else
語(yǔ)句2;if(x>y)
cout<<x<<endl;else
cout<<y<<endl;3.2if選擇語(yǔ)句2023/6/413例子
任意輸入一個(gè)4位整數(shù)的年份,判斷該年是否是潤(rùn)年?
是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2023/6/414#include<iostream>usingnamespacestd;voidmain(){ intyear;
cin>>year;
if((year%4==0)&&!((year%100==0)&&(year%400!=0)))
cout<<"潤(rùn)年"<<endl; else
cout<<"不是潤(rùn)年"<<endl;}2023/6/4153.2if選擇語(yǔ)句3、多分支if(表達(dá)式1)語(yǔ)句1;
elseif(表達(dá)式2)
語(yǔ)句2;
elseif(表達(dá)式3)
語(yǔ)句3;…
else
語(yǔ)句n;2023/6/4162023/6/417例子:輸出學(xué)生的成績(jī)#include<iostream>usingnamespacestd;voidmain(){ intx;cin>>x;
if(x>=90)
cout<<“優(yōu)秀”<<endl;elseif(x>=80)
cout<<“良好”<<endl;
elseif(x>=60)
cout<<“合格”<<endl;else
cout<<“不及格”<<endl;}2023/6/4183.2if選擇語(yǔ)句4、if語(yǔ)句的嵌套if(表達(dá)式1)
if(表達(dá)式2)語(yǔ)句1
else
語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3
else
語(yǔ)句42023/6/4192023/6/420例子:輸出a,b,c中較大的數(shù)#include<iostream>usingnamespacestd;voidmain(){ inta,b,c;
cin>>a>>b>>c;
if(a>b) { if(a>c)cout<<a<<endl; elsecout<<c<<endl; } else { if(b>c)cout<<b<<endl; elsecout<<c<<endl; }}cout<<(a>b?(a>c?a:c):(b>c?b:c));2023/6/4213.2if選擇語(yǔ)句注意:二義性intx=-1;if(x>0)if(x<50)
cout<<“xis<50”endl;else
cout<<“xis<=0”<<endl;
if和else的對(duì)應(yīng)關(guān)系,else總是與離它最近的if匹配。{}2023/6/4223.3switch選擇語(yǔ)句
2023/6/4233.3switch選擇語(yǔ)句switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1
break;
case常量表達(dá)式2:語(yǔ)句2
break;┇case常量表達(dá)式n:語(yǔ)句n
break;default:語(yǔ)句n+1}跳出switch語(yǔ)句2023/6/4242023/6/425例子:輸出學(xué)生的成績(jī)
intx;cin>>x;
switch(x/10){case10:case9:cout<<“優(yōu)秀”<<endl;
break;case8:cout<<“良好”<<endl;
break;case7:case6:cout<<“合格”<<endl;
break;default:cout<<“不及格”<<endl; }2023/6/426
switch(表達(dá)式){ case9: case8: case‘*’:case‘$’: case0.1:
}表達(dá)式值可為整型字符型、枚舉型,但不能為實(shí)型2023/6/427
switch(m/10) { case9:a+=1; case8:a+=1; case7:a+=1; case6:a+=1;
cout<<“通過(guò)”<<endl;break; default
cout<<“不通過(guò)”<<endl;
}2023/6/4283.4循環(huán)語(yǔ)句
2023/6/4293.4循環(huán)語(yǔ)句三種基本語(yǔ)法 1、while語(yǔ)句 2、do…while語(yǔ)句 3、for語(yǔ)句2023/6/430#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){
cout<<setfill('*') <<setw(2)<<'\n' <<setw(3)<<'\n' <<setw(4)<<'\n' <<setw(5)<<'\n' <<setw(6)<<'\n' <<setw(7)<<'\n' <<setw(8)<<'\n';}****************************2023/6/431#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;
cout<<setfill('*');
while(i<=8) {
cout<<setw(i)<<'\n';i++;}}****************************循環(huán)變量循環(huán)體循環(huán)控制條件2023/6/4323.4循環(huán)語(yǔ)句主要包括3個(gè)部分:1、循環(huán)控制條件:判斷循環(huán)操作是否進(jìn)行的條件;2、循環(huán)體:重復(fù)進(jìn)行的操作;3、循環(huán)控制變量:記錄循環(huán)體執(zhí)行的次數(shù),或控制循環(huán)的結(jié)束條件。2023/6/4333.4循環(huán)語(yǔ)句while循環(huán)語(yǔ)句while(表達(dá)式)循環(huán)體語(yǔ)句;2023/6/434例1:編程循環(huán)輸出1-9這9個(gè)數(shù)字?
#include<iostream>usingnamespacestd;voidmain(){inti=1;
while(i<10){
cout<<i<<endl;i++;}
cout<<“循環(huán)結(jié)束”<<endl;}運(yùn)行結(jié)果:123456789循環(huán)結(jié)束 2023/6/435例2:編程計(jì)算1+2+3+….+10的值
#include<iostream>usingnamespacestd;voidmain(){intsum=0,i=1;
while(i<=10){sum+=i;i++;}
cout<<sum<<endl;}552023/6/436例3:打印ASCII碼表中的可視字符#include<iostream>usingnamespacestd;voidmain(){unsignedcharch=32;
while(ch<128){
cout<<(int)ch<<'\t'<<ch<<'\t';
ch++; }}2023/6/437例4:編程計(jì)算的值#include<iostream>usingnamespacestd;voidmain(){ intk=1,sum=0,n;
cout<<"inputn(n>0):";
cin>>n;
while(k<=n){sum=sum+k*k;k++; } if(n>0) cout<<sum/n<<endl; else cout<<"n不能<=0"<<endl;}2023/6/4383.4循環(huán)語(yǔ)句do..while循環(huán)語(yǔ)句
do{
循環(huán)體語(yǔ)句;}while(表達(dá)式);2023/6/439#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;
cout<<setfill('*');
do {
cout<<setw(i)<<'\n';i++; }while(i<=8);}****************************2023/6/440例子:編程計(jì)算的值#include<iostream>usingnamespacestd;voidmain(){ intk=1,sum=0,n;
cout<<"inputn(n>0):";
cin>>n;
do {sum=sum+k*k;k++; }while(k<=n); if(n>0) cout<<sum/n<<endl; else cout<<"n不能<=0"<<endl;}2023/6/4413.4循環(huán)語(yǔ)句for循環(huán)語(yǔ)句
循環(huán)結(jié)構(gòu)
1、表達(dá)式1循環(huán)變量初始化;
2、表達(dá)式2循環(huán)控制條件;3、表達(dá)式3循環(huán)變量的變化;for(表達(dá)式1;表達(dá)式2;
表達(dá)式3)循環(huán)體;2023/6/442例1:編程循環(huán)輸出1-9這9個(gè)數(shù)字?
#include<iostream>usingnamespacestd;voidmain(){
for(inti=1;i<10;i++)
cout<<i<<endl;
cout<<“循環(huán)結(jié)束”<<endl;}運(yùn)行結(jié)果:123456789循環(huán)結(jié)束2023/6/443例2:編程計(jì)算1+2+3+….+10的值
#include<iostream>usingnamespacestd;voidmain(){intsum=0;
for(inti=1;i<=10;i++)sum+=i;
cout<<sum<<endl;}運(yùn)行結(jié)果:55 2023/6/444#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){
cout<<setfill('*');}****************************例3for(inti=2;i<=8;i++)
cout<<setw(i)<<'\n';2023/6/4453.4循環(huán)語(yǔ)句——for語(yǔ)句1、<表達(dá)式1>省略意味著賦初值提前
for(inti=1;i<=9;i++)
循環(huán)體;
inti=1;for(;i<=9;
i++)
循環(huán)體;2023/6/4463.4循環(huán)語(yǔ)句——for語(yǔ)句2、<表達(dá)式2>省略,用break跳出循環(huán)for(inti=1;i<=9;i++)
循環(huán)體;
for(inti=1;;i++){
if(i<=9)循環(huán)體;
else
break;//跳轉(zhuǎn)語(yǔ)句,用來(lái)跳出循環(huán)}2023/6/4473.4循環(huán)語(yǔ)句——for語(yǔ)句3、<表達(dá)式3>省略:for(inti=1;i<=9;i++)
循環(huán)體;
for(inti=1,j=2;i<=9;){
循環(huán)體;i++;}2023/6/4483.4循環(huán)語(yǔ)句——for語(yǔ)句3、<表達(dá)式1><表達(dá)式3>同時(shí)省略
for(inti=1;i<=9;i++)
循環(huán)體;
inti=1;
for(;i<=9;){
循環(huán)體;i++;}2023/6/4493.4循環(huán)語(yǔ)句——for語(yǔ)句5、極端情況,可實(shí)現(xiàn)無(wú)限循環(huán)
for(;;){循環(huán)體;}2023/6/450例4:判斷輸出結(jié)果?#include<iostream>usingnamespacestd;voidmain(){
for(inti=0,j=10,k=0;i<j;i++,j--) k+=i*j;
cout<<k<<endl;}分析:ijk010019928253746467055 跳出2023/6/4513.4循環(huán)語(yǔ)句1、for:
最適合循環(huán)次數(shù)固定,循環(huán)規(guī)律非常明顯程序。2、while:
使用最多最頻繁的循環(huán)結(jié)構(gòu),具有普適性。3、do_while:
最適合至少循環(huán)一次的循環(huán)結(jié)構(gòu)。2023/6/4523.4.4轉(zhuǎn)向語(yǔ)句1、break語(yǔ)句2、continue語(yǔ)句2023/6/4533.4.4轉(zhuǎn)向語(yǔ)句——break用途:
常用在while、do-while、for和switch語(yǔ)句中,用來(lái)跳出循環(huán)或switch語(yǔ)句。2023/6/454例1:判斷輸出結(jié)果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)break; sum+=i; }
cout<<sum<<endl;}分析isum11233跳出
2023/6/4553.4.4轉(zhuǎn)向語(yǔ)句——continue用途用于循環(huán)語(yǔ)句中,結(jié)束本次循環(huán),進(jìn)行下一次循環(huán);即跳過(guò)循環(huán)體中尚未執(zhí)行的部分。2023/6/456例1:判斷輸出結(jié)果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)continue; sum+=i; }
cout<<sum<<endl;}分析isum11233371212192727跳出 2023/6/4573.5循環(huán)嵌套
2023/6/4583.5循環(huán)嵌套編程輸出國(guó)際象棋棋盤#include<iostream>usingnamespacestd;voidmain(){
for(inti=0;i<8;i++) { for(intj=0;j<8;j++) { if((i+j)%2==0)
cout<<"■";else
cout<<""; }
cout<<"\n"; }}■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■2023/6/459思考題目:使用For循環(huán)輸出如下圖形:
* ** *** **********************2023/6/460#include<iostream>usingnamespacestd;voidmain(){for(inti=1;i<=7;i++){ for(intj=7;j>i;j--
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)言教育政策與法規(guī)研究-深度研究
- 跨語(yǔ)言搜索結(jié)果的可解釋性-深度研究
- 資源管理標(biāo)準(zhǔn)化研究-深度研究
- 室內(nèi)環(huán)境檢測(cè)與分析技術(shù)-深度研究
- 超臨界進(jìn)氣道設(shè)計(jì)挑戰(zhàn)-深度研究
- 虛擬現(xiàn)實(shí)在圖書館閱讀推廣中的應(yīng)用-深度研究
- 人力資源效能提升-深度研究
- 數(shù)字化賬簿研究-深度研究
- 吉林科技職業(yè)技術(shù)學(xué)院《廚房管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京醫(yī)科大學(xué)康達(dá)學(xué)院《酒店前廳與客房管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年沙洲職業(yè)工學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 小學(xué)中小學(xué)校園足球人教三年級(jí)全一冊(cè)踢球技術(shù)小學(xué)體育三年級(jí)足球腳內(nèi)側(cè)踢球教案
- 學(xué)校危險(xiǎn)化學(xué)品自查記錄表
- 三菱gx developer用戶操作手冊(cè)
- 家譜樹形圖模板
- 工程交付培訓(xùn)記錄表
- 髖膝關(guān)節(jié)置換術(shù)后X線評(píng)價(jià)-PPT課件
- 蓋梁抱箍法施工計(jì)算書蓋梁抱箍法施工方案
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
- (完整版)涼亭施工方案
- 生物安全手冊(cè)(共39頁(yè))
評(píng)論
0/150
提交評(píng)論