C++大學(xué)基礎(chǔ)教程第三章課件_第1頁
C++大學(xué)基礎(chǔ)教程第三章課件_第2頁
C++大學(xué)基礎(chǔ)教程第三章課件_第3頁
C++大學(xué)基礎(chǔ)教程第三章課件_第4頁
C++大學(xué)基礎(chǔ)教程第三章課件_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C++大學(xué)基礎(chǔ)教程第3章C++控制語句

2023/11/271用計算機(jī)解決實際問題,首先要分析問題,設(shè)計合適的算法,然后編程實現(xiàn)算法。2023/11/272第3章C++控制語句3.1算法的基本控制結(jié)構(gòu)3.2if選擇語句3.3switch選擇語句3.4循環(huán)語句3.5循環(huán)嵌套3.6應(yīng)用舉例2023/11/2733.1算法的基本控制結(jié)構(gòu)

2023/11/2743.1算法的基本控制結(jié)構(gòu)算法

1、計算機(jī)執(zhí)行的操作2、這些操作的順序

偽碼、流程圖偽碼

采用類似計算機(jī)語言的分句格式,以自然語言描述算法。

2023/11/2753.1算法的基本控制結(jié)構(gòu)流程圖以圖形符號直觀

開始/結(jié)束執(zhí)行判斷聯(lián)系2023/11/2763.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/11/2773.1算法的基本控制結(jié)構(gòu)流程控制語句

選擇語句:if..else、switch

循環(huán)語句:while、for、do..while

轉(zhuǎn)向語句:break、continue2023/11/2783.2if選擇語句

2023/11/2793.2if選擇語句if_else語句基本語法

if(表達(dá)式)

語句1; else

語句2;2023/11/27103.2if選擇語句if_else

1、沒有else分支

2、雙分支3、多分支4、if

語句的嵌套2023/11/27113.2if選擇語句1、沒有else分支例如:比較x和y的大小,如果x大則輸出x的值if(表達(dá)式)語句;if(x>y)cout<<x<<endl;2023/11/27122、雙分支例如:比較x,y的大小,將較大的數(shù)輸出

if(表達(dá)式)語句1;else

語句2;if(x>y)cout<<x<<endl;else

cout<<y<<endl;3.2if選擇語句2023/11/2713例子

任意輸入一個4位整數(shù)的年份,判斷該年是否是潤年?

是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2023/11/2714#include<iostream>usingnamespacestd;voidmain(){ intyear; cin>>year;

if((year%4==0)&&!((year%100==0)&&(year%400!=0))) cout<<"潤年"<<endl; else cout<<"不是潤年"<<endl;}2023/11/27153.2if選擇語句3、多分支if(表達(dá)式1)語句1;

elseif(表達(dá)式2)

語句2;

elseif(表達(dá)式3)

語句3;…

else

語句n;2023/11/27162023/11/2717例子:輸出學(xué)生的成績#include<iostream>usingnamespacestd;voidmain(){ intx;cin>>x;

if(x>=90)cout<<“優(yōu)秀”<<endl;elseif(x>=80)

cout<<“良好”<<endl;

elseif(x>=60)cout<<“合格”<<endl;elsecout<<“不及格”<<endl;}2023/11/27183.2if選擇語句4、if語句的嵌套if(表達(dá)式1)

if(表達(dá)式2)語句1

else

語句2elseif(表達(dá)式3)語句3

else

語句42023/11/27192023/11/2720例子:輸出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/11/27213.2if選擇語句注意:二義性intx=-1;if(x>0)if(x<50)cout<<“xis<50”endl;elsecout<<“xis<=0”<<endl;

if和else的對應(yīng)關(guān)系,else總是與離它最近的if匹配。{}2023/11/27223.3switch選擇語句

2023/11/27233.3switch選擇語句switch(表達(dá)式){case常量表達(dá)式1:語句1

break;

case常量表達(dá)式2:語句2

break;┇case常量表達(dá)式n:語句n

break;default:語句n+1}跳出switch語句2023/11/27242023/11/2725例子:輸出學(xué)生的成績

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/11/2726

switch(表達(dá)式){ case9: case8: case‘*’:case‘$’: case0.1:

}表達(dá)式值可為整型字符型、枚舉型,但不能為實型2023/11/2727

switch(m/10) { case9:a+=1; case8:a+=1; case7:a+=1; case6:a+=1; cout<<“通過”<<endl;break; default cout<<“不通過”<<endl;

}2023/11/27283.4循環(huán)語句

2023/11/27293.4循環(huán)語句三種基本語法 1、while語句 2、do…while語句 3、for語句2023/11/2730#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/11/2731#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/11/27323.4循環(huán)語句主要包括3個部分:1、循環(huán)控制條件:判斷循環(huán)操作是否進(jìn)行的條件;2、循環(huán)體:重復(fù)進(jìn)行的操作;3、循環(huán)控制變量:記錄循環(huán)體執(zhí)行的次數(shù),或控制循環(huán)的結(jié)束條件。2023/11/27333.4循環(huán)語句while循環(huán)語句while(表達(dá)式)循環(huán)體語句;2023/11/2734例1:編程循環(huán)輸出1-9這9個數(shù)字?

#include<iostream>usingnamespacestd;voidmain(){inti=1;

while(i<10){cout<<i<<endl;i++;}cout<<“循環(huán)結(jié)束”<<endl;}運行結(jié)果:123456789循環(huán)結(jié)束 2023/11/2735例2:編程計算1+2+3+….+10的值

#include<iostream>usingnamespacestd;voidmain(){intsum=0,i=1;

while(i<=10){sum+=i;i++;}

cout<<sum<<endl;}552023/11/2736例3:打印ASCII碼表中的可視字符#include<iostream>usingnamespacestd;voidmain(){unsignedcharch=32;while(ch<128){cout<<(int)ch<<'\t'<<ch<<'\t';ch++; }}2023/11/2737例4:編程計算的值#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/11/27383.4循環(huán)語句do..while循環(huán)語句

do{

循環(huán)體語句;}while(表達(dá)式);2023/11/2739#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;cout<<setfill('*');

do {cout<<setw(i)<<'\n';i++; }while(i<=8);}****************************2023/11/2740例子:編程計算的值#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/11/27413.4循環(huán)語句for循環(huán)語句

循環(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/11/2742例1:編程循環(huán)輸出1-9這9個數(shù)字?

#include<iostream>usingnamespacestd;voidmain(){

for(inti=1;i<10;i++)cout<<i<<endl;

cout<<“循環(huán)結(jié)束”<<endl;}運行結(jié)果:123456789循環(huán)結(jié)束2023/11/2743例2:編程計算1+2+3+….+10的值

#include<iostream>usingnamespacestd;voidmain(){intsum=0;

for(inti=1;i<=10;i++)sum+=i;

cout<<sum<<endl;}運行結(jié)果:55 2023/11/2744#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill('*');}****************************例3for(inti=2;i<=8;i++)cout<<setw(i)<<'\n';2023/11/27453.4循環(huán)語句——for語句1、<表達(dá)式1>省略意味著賦初值提前

for(inti=1;i<=9;i++)

循環(huán)體;

inti=1;for(;i<=9;

i++)

循環(huán)體;2023/11/27463.4循環(huán)語句——for語句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)語句,用來跳出循環(huán)}2023/11/27473.4循環(huán)語句——for語句3、<表達(dá)式3>省略:for(inti=1;i<=9;i++)

循環(huán)體;

for(inti=1,j=2;i<=9;){

循環(huán)體;i++;}2023/11/27483.4循環(huán)語句——for語句3、<表達(dá)式1><表達(dá)式3>同時省略

for(inti=1;i<=9;i++)

循環(huán)體;

inti=1;

for(;i<=9;){

循環(huán)體;i++;}2023/11/27493.4循環(huán)語句——for語句5、極端情況,可實現(xiàn)無限循環(huán)

for(;;){循環(huán)體;}2023/11/2750例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/11/27513.4循環(huán)語句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/11/27523.4.4轉(zhuǎn)向語句1、break語句2、continue語句2023/11/27533.4.4轉(zhuǎn)向語句——break用途:

常用在while、do-while、for和switch語句中,用來跳出循環(huán)或switch語句。2023/11/2754例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/11/27553.4.4轉(zhuǎn)向語句——continue用途用于循環(huán)語句中,結(jié)束本次循環(huán),進(jìn)行下一次循環(huán);即跳過循環(huán)體中尚未執(zhí)行的部分。2023/11/2756例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/11/27573.5循環(huán)嵌套

2023/11/27583.5循環(huán)嵌套編程輸出國際象棋棋盤#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/11/2759思考題目:使用For循環(huán)輸出如下圖形:

* ** *** **********************2023/11/2760#include<iostream>usingnamespacestd;voidmain(){for(inti=1;i<=7;i++){ for(intj=7;j>i;j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論