C++的控制語句課件_第1頁
C++的控制語句課件_第2頁
C++的控制語句課件_第3頁
C++的控制語句課件_第4頁
C++的控制語句課件_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

制作者:王甜甜C++的控制語句制作者:王甜甜C++的控制語句1學(xué)習(xí)內(nèi)容C++語句概述C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)限定轉(zhuǎn)向語句breakcontinue學(xué)習(xí)內(nèi)容C++語句概述2C++語句概述語句(statement)是程序中最小的可執(zhí)行單位。一條語句可以完成一種基本操作,若干條語句組合在一起就能實(shí)現(xiàn)某種特定的功能。C++中語句可以分為以下三種形式:1、單一語句在任何一個(gè)表達(dá)式后面加上分號(hào)(;)就構(gòu)成了一條簡單的C++語句例如:c=a+b;a>b?a:b;cout<<“HelloC++”<<endl;C++語句概述語句(statement)3C++語句概述2.空語句僅由單個(gè)分號(hào)構(gòu)成的語句,即;空語句不進(jìn)行任何操作。該語句被用在從語法上需要一條語句,但實(shí)際上卻又不進(jìn)行任何操作的地方。3.復(fù)合語句復(fù)合語句是用一對(duì)花括號(hào){}括起來的語句塊。復(fù)合語句在語法上等效于一個(gè)單一語句。使用復(fù)合語句應(yīng)注意:(1)花括號(hào)必須配對(duì)使用;(2)花括號(hào)外不要加分號(hào)C++語句概述2.空語句4C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)5順序結(jié)構(gòu)BA程序按照語句的書寫順序依次執(zhí)行,語句在前的先執(zhí)行,語句在后的后執(zhí)行,只能滿足設(shè)計(jì)簡單程序的要求。

順序結(jié)構(gòu)BA程序按照語句的書寫順序依次執(zhí)行,語句在前的先執(zhí)行6分支結(jié)構(gòu)BNAY條件P在分支結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來選擇執(zhí)行不同的程序段。也就是說,這種程序結(jié)構(gòu),能有選擇地執(zhí)行程序中的不同程序段。

分支結(jié)構(gòu)BNAY條件P在分支結(jié)構(gòu)中,程序根據(jù)判斷條件是否成7循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來決定是否重復(fù)執(zhí)行某個(gè)程序段。條件PA當(dāng)型循環(huán)直到型循環(huán)真假假條件PA假真循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來決定是否重8if語句if語句是最常用的一種分支語句,也稱為條件語句。if語句有三種形式:單分支if語句、雙分支if語句多分支if語句if語句if語句是最常用的一種分支語句,也稱為條件語句。9單分支if語句語法:if(表達(dá)式)語句執(zhí)行過程先計(jì)算關(guān)鍵字if后面的表達(dá)式的值,若為真,則執(zhí)行if后的“語句”部分,否則跳過該“語句”部分。不管是否執(zhí)行“語句”部分,最后都要接著“語句”部分的后面,繼續(xù)執(zhí)行程序的其它部分。真假表達(dá)式語句單分支if語句語法:真假表達(dá)式語句10單分支if語句說明:括號(hào)不能省略。在if(表達(dá)式)后不能加分號(hào)“;”。關(guān)鍵字if的后面的表達(dá)式可以是任意的表達(dá)式,只要表達(dá)式的值為非0,即當(dāng)真值處理,否則當(dāng)假值處理。if語句的內(nèi)嵌語句可以是單一語句,也可以是復(fù)合語句。盡量使if語句的內(nèi)嵌語句比if語句縮進(jìn)這是良好編程書寫風(fēng)格。例子:intx=0,y=2;if(x==0)y++;cout<<x<<y;單分支if語句說明:intx=0,y=2;11雙分支if語句語法格式:

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

else語句塊2

執(zhí)行過程:先判斷表達(dá)式的值,若為真,則執(zhí)行語句塊1,否則執(zhí)行語句塊2。不管程序執(zhí)行語句塊1還是執(zhí)行語句塊2,最后都要跳到語句塊2的后面接著執(zhí)行程序中后面的語句。真假表達(dá)式語句塊1語句塊2雙分支if語句語法格式: 真假表達(dá)式語句塊1語句塊212雙分支if語句說明:語句塊1、語句塊2既可以是單一語句也可以是用{}括起來的復(fù)合語句。else子句必須與if子句配對(duì)使用,不能單獨(dú)使用else子句必須處在if子句的后面,且else語句總是和離它最近的前面未配對(duì)的if語句配對(duì)。例子:輸入一個(gè)年號(hào),判斷是否為閏年,如果是則輸出“yes”,否則輸出“Not”。分析:只要滿足下列兩個(gè)條件之一者,即是閏年。①年號(hào)能被4整除,但要排除同時(shí)能被100整除;②年號(hào)能被400整除。#include<iostream.h>voidmain(){inty;cout<<"輸入一個(gè)年號(hào):";cin>>y;if((y%4==0&&y%100!=0)||(y%400==0)) cout<<"Yes";else cout<<"Not";cout<<"\n程序運(yùn)行結(jié)束";}雙分支if語句說明:#include<iostream.h13多分支if語句一般形式為:if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3 ………………elseif(表達(dá)式N) 語句Nelse語塊N+1說明:在if語句嵌套中else與if配對(duì)關(guān)系,else與離它最近的if語句相匹配。真真真假假假表達(dá)式1表達(dá)式2語句1語句2語句3語句4多分支if語句一般形式為:說明:真真真假假假表達(dá)式1表達(dá)式214多分支if語句#include<iostream.h>voidmain(){ floatscore; cout<<"Inputscore(0~100):"; cin>>score; if(score>=90) cout<<"Excellent!"; elseif(score>=80) cout<<"Good!"; elseif(score>=70) cout<<"Right!"; elseif(score>=60)cout<<"Pass!";else cout<<"Failed!";}例子:輸入學(xué)生的成績score,按分?jǐn)?shù)輸出其等級(jí):score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。多分支if語句#include<iostream.h>例子:15switch語句一般形式為:

switch(表達(dá)式){

case常數(shù)1:

語句序列1;

case常數(shù)2:

語句序列2;

…………

default:

語句序列3;

}執(zhí)行過程:說明:1、表達(dá)式可以是整形、字符型、枚舉型2、case后的常量類型=switch中表達(dá)式類型3、常數(shù)1-常數(shù)n必須互不相同且每一常數(shù)后面要有冒號(hào):4、各case子句和default子句的次序可任意5、default可以沒有,但最好不省略6、如果要使每個(gè)case處相當(dāng)于一種if(s)else的效果,必須在其語句組最后加上break語句。7、各case子句后面必須是常數(shù),而不能是變量或表達(dá)式switch語句一般形式為:說明:16switch語句#include<iostream.h>voidmain(){floatscore;inta;cout<<"Inputscore(0~100):";cin>>score;a=score/10;switch(a){case0:case9:cout<<"Excellent!";break;case8:cout<<"Good!";break;case7:cout<<"Right!";break;case6:cout<<"Pass!";break;default:cout<<"Failed!";}}例子:輸入學(xué)生的成績score,按分?jǐn)?shù)輸出其等級(jí):score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。switch語句#include<iostream.h>例子17switch和else-if的比較else-if比switch的條件控制更強(qiáng)大一些else-if可以依照各種邏輯運(yùn)算的結(jié)果進(jìn)行流程控制switch只能進(jìn)行==判斷,并且只能是整數(shù)判斷switch比else-if更清晰兩者都要盡量避免用得過多、過長,尤其不要嵌套得太多它們大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護(hù),易出錯(cuò)switch和else-if的比較else-if比switc18循環(huán)語句C++提供了三種循環(huán)結(jié)構(gòu):while循環(huán)語句、do-while循環(huán)語句for循環(huán)語句循環(huán)語句C++提供了三種循環(huán)結(jié)構(gòu):19while語句語法形式:while(表達(dá)式){循環(huán)體語句}執(zhí)行過程:首先判斷while后面的表達(dá)式的值,若表達(dá)式的值為真,則執(zhí)行while的內(nèi)嵌語句(即循環(huán)體)一次;然后重復(fù)以上過程,直到表達(dá)式的值為假時(shí),才退出循環(huán)接著執(zhí)行循環(huán)體語句后面的其它程序語句循環(huán)體語句表達(dá)式FTwhilewhile語句語法形式:循環(huán)體語句表達(dá)式FTwhile20while語句例子:求#include<iostream.h>#include<iostream.h>voidmain(){inti,n;n=0; i=1; while(i<=100) {n=n+i; i++;} cout<<"n="<<n<<endl;}while語句例子:求#include<iostream.h21do-while循環(huán)語句語法形式:do{循環(huán)體語句}while(表達(dá)式);執(zhí)行過程:首先執(zhí)行do-while的內(nèi)嵌語句(循環(huán)體語句)一次然后再判斷while后面的表達(dá)式的值,若表達(dá)式的值為真,則重復(fù)執(zhí)行do-while的內(nèi)嵌語句,如此反復(fù),直到表達(dá)式的值為假時(shí),循環(huán)結(jié)束,執(zhí)行while后面的語句。statements表達(dá)式FTdo/whiledo-while循環(huán)語句語法形式:statements表達(dá)22do-while循環(huán)語句例子:求#include<iostream.h>voidmain(){inti,n; n=0;i=1;do{n=n+i; i++;}while(i<=100);cout<<"n="<<n<<endl;}do-while循環(huán)語句例子:求#include<iost23while語句和do-while在循環(huán)體相同的情況下while語句和do-while語句的功能基本相同二者的區(qū)別在于:while:先驗(yàn)證條件,再執(zhí)行語句do/while:先執(zhí)行語句,再驗(yàn)證條件當(dāng)循環(huán)條件一開始就為假時(shí),do-while語句中的循環(huán)體至少會(huì)被執(zhí)行一次,而while語句則一次都不執(zhí)行。while語句和do-while在循環(huán)體相同的情況下whil24for循環(huán)語句語法形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體語句}說明:表達(dá)式1:初始化表達(dá)式表達(dá)式2:判斷條件表達(dá)式表達(dá)式3:修正表達(dá)式,循環(huán)參數(shù)調(diào)整循環(huán)體有多條語句時(shí),要加{}表達(dá)式可缺省,但分號(hào)不能省,如

intn=1;for(;n<10;n++)變量可在表達(dá)式中聲明:

for(intn=1;n<10;n++)

等價(jià)于:while(表達(dá)式2){

語句;

表達(dá)式3;

}for循環(huán)語句語法形式:等價(jià)于:25for循環(huán)語句執(zhí)行過程:①執(zhí)行for后面的表達(dá)式1;②執(zhí)行表達(dá)式2,若表達(dá)式2的值為真,則執(zhí)行for語句的內(nèi)嵌語句(即循環(huán)體語句),然后執(zhí)行第③步,若為假,則循環(huán)結(jié)束,執(zhí)行第⑤步;③執(zhí)行表達(dá)式3;④返回繼續(xù)執(zhí)行第②步;⑤循環(huán)結(jié)束,執(zhí)行for語句的循環(huán)體下面的語句。表達(dá)式1

表達(dá)式2表達(dá)式3循環(huán)體語句TFfor循環(huán)語句執(zhí)行過程:表達(dá)式1表達(dá)式2表達(dá)式3循環(huán)體語句26for循環(huán)語句例子:求#include<iostream.h>voidmain(){inti,n;n=0;for(i=1;i<=100;i++) n=n+i;cout<<"n="<<n<<endl;}for循環(huán)語句例子:求#include<iostream.h27選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for如果循環(huán)次數(shù)未知,用while如果循環(huán)體至少要執(zhí)行一次,用do-while這只是“一般”原則,不是“原則”選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for28循環(huán)嵌套在一個(gè)循環(huán)的循環(huán)體中又包含另一個(gè)循環(huán)語句,稱為循環(huán)嵌套。C++的三種循環(huán)語句可以相互嵌套,構(gòu)成循環(huán)嵌套。以下幾種都是合法的循環(huán)嵌套:(1)for(;;) {…… for(;;) { } ……}(2)while(){……for(;;) {}do{…… }while();……}(3)do{…… for(;;) { }……}while();循環(huán)嵌套在一個(gè)循環(huán)的循環(huán)體中又包含另一個(gè)循環(huán)語句,稱為循環(huán)嵌29循環(huán)嵌套在嵌套的各層循環(huán)體中,使用復(fù)合語句(即用一對(duì)大花括號(hào)將循環(huán)體語句括起來)保證邏輯上的正確性內(nèi)層和外層循環(huán)控制變量不應(yīng)同名,以免造成混亂嵌套的循環(huán)最好采用右縮進(jìn)格式書寫,以保證層次的清晰性循環(huán)嵌套不能交叉,即在一個(gè)循環(huán)體內(nèi)必須完整的包含著另一個(gè)循環(huán)循環(huán)嵌套在嵌套的各層循環(huán)體中,使用復(fù)合語句(即用一對(duì)大花括號(hào)30限定轉(zhuǎn)向語句breakcontinue限定轉(zhuǎn)向語句break31break語句語法形式:break;該語句只能用于兩種情況:(1)用在switch結(jié)構(gòu)中,當(dāng)某個(gè)case子句執(zhí)行完后,使用break語句跳出switch結(jié)構(gòu)。(2)用在循環(huán)結(jié)構(gòu)中,用break語句來結(jié)束循環(huán)。如果在嵌套循環(huán)中,break語句只能結(jié)束其所在的那層循環(huán)。假假真真break表達(dá)式1表達(dá)式2循環(huán)語句的下一條語句break語句語法形式:假假真真break表達(dá)式1表達(dá)式2循32break語句例子:任意輸入若干個(gè)整數(shù)(不多于50個(gè)),計(jì)算已輸入整數(shù)之和,直到輸入了負(fù)數(shù)為止。#include<iostream.h>voidmain(){inti,n,sum;sum=0;for(i=0;i<=50;i++){cout<<"\nInputnumber:";cin>>n;if(n<0)break;sum+=n;} cout<<"sum="<<sum<<endl;}break語句例子:#include<iostream.h33continue語句語法形式:continue;說明:該語句只能用在循環(huán)結(jié)構(gòu)中。當(dāng)在循環(huán)結(jié)構(gòu)中遇到continue語句時(shí),則跳過continue語句后的其他語句結(jié)束本次循環(huán),并轉(zhuǎn)去判斷循環(huán)控制條件,以決定是否進(jìn)行下一次循環(huán)。循環(huán)語句的下一條語句假假真真contiue表達(dá)式1表達(dá)式2continuecontinue語句語法形式:循環(huán)語句的假假真真conti34continue語句例子:輸出0-100之間所有不能被3整除的數(shù)。#include<iostream.h>voidmain(){inti;for(i=0;i<=100;i++) {if(i%3==0) continue; cout<<i<<endl;}}continue語句例子:#include<iostream35學(xué)到了什么與基本控制結(jié)構(gòu)相應(yīng)的結(jié)構(gòu)化的控制語句if-elseswitchforwhiledo-whilebreakcontinue學(xué)到了什么與基本控制結(jié)構(gòu)相應(yīng)的結(jié)構(gòu)化的控制語句36制作者:王甜甜C++的控制語句制作者:王甜甜C++的控制語句37學(xué)習(xí)內(nèi)容C++語句概述C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)限定轉(zhuǎn)向語句breakcontinue學(xué)習(xí)內(nèi)容C++語句概述38C++語句概述語句(statement)是程序中最小的可執(zhí)行單位。一條語句可以完成一種基本操作,若干條語句組合在一起就能實(shí)現(xiàn)某種特定的功能。C++中語句可以分為以下三種形式:1、單一語句在任何一個(gè)表達(dá)式后面加上分號(hào)(;)就構(gòu)成了一條簡單的C++語句例如:c=a+b;a>b?a:b;cout<<“HelloC++”<<endl;C++語句概述語句(statement)39C++語句概述2.空語句僅由單個(gè)分號(hào)構(gòu)成的語句,即;空語句不進(jìn)行任何操作。該語句被用在從語法上需要一條語句,但實(shí)際上卻又不進(jìn)行任何操作的地方。3.復(fù)合語句復(fù)合語句是用一對(duì)花括號(hào){}括起來的語句塊。復(fù)合語句在語法上等效于一個(gè)單一語句。使用復(fù)合語句應(yīng)注意:(1)花括號(hào)必須配對(duì)使用;(2)花括號(hào)外不要加分號(hào)C++語句概述2.空語句40C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)41順序結(jié)構(gòu)BA程序按照語句的書寫順序依次執(zhí)行,語句在前的先執(zhí)行,語句在后的后執(zhí)行,只能滿足設(shè)計(jì)簡單程序的要求。

順序結(jié)構(gòu)BA程序按照語句的書寫順序依次執(zhí)行,語句在前的先執(zhí)行42分支結(jié)構(gòu)BNAY條件P在分支結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來選擇執(zhí)行不同的程序段。也就是說,這種程序結(jié)構(gòu),能有選擇地執(zhí)行程序中的不同程序段。

分支結(jié)構(gòu)BNAY條件P在分支結(jié)構(gòu)中,程序根據(jù)判斷條件是否成43循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來決定是否重復(fù)執(zhí)行某個(gè)程序段。條件PA當(dāng)型循環(huán)直到型循環(huán)真假假條件PA假真循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來決定是否重44if語句if語句是最常用的一種分支語句,也稱為條件語句。if語句有三種形式:單分支if語句、雙分支if語句多分支if語句if語句if語句是最常用的一種分支語句,也稱為條件語句。45單分支if語句語法:if(表達(dá)式)語句執(zhí)行過程先計(jì)算關(guān)鍵字if后面的表達(dá)式的值,若為真,則執(zhí)行if后的“語句”部分,否則跳過該“語句”部分。不管是否執(zhí)行“語句”部分,最后都要接著“語句”部分的后面,繼續(xù)執(zhí)行程序的其它部分。真假表達(dá)式語句單分支if語句語法:真假表達(dá)式語句46單分支if語句說明:括號(hào)不能省略。在if(表達(dá)式)后不能加分號(hào)“;”。關(guān)鍵字if的后面的表達(dá)式可以是任意的表達(dá)式,只要表達(dá)式的值為非0,即當(dāng)真值處理,否則當(dāng)假值處理。if語句的內(nèi)嵌語句可以是單一語句,也可以是復(fù)合語句。盡量使if語句的內(nèi)嵌語句比if語句縮進(jìn)這是良好編程書寫風(fēng)格。例子:intx=0,y=2;if(x==0)y++;cout<<x<<y;單分支if語句說明:intx=0,y=2;47雙分支if語句語法格式:

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

else語句塊2

執(zhí)行過程:先判斷表達(dá)式的值,若為真,則執(zhí)行語句塊1,否則執(zhí)行語句塊2。不管程序執(zhí)行語句塊1還是執(zhí)行語句塊2,最后都要跳到語句塊2的后面接著執(zhí)行程序中后面的語句。真假表達(dá)式語句塊1語句塊2雙分支if語句語法格式: 真假表達(dá)式語句塊1語句塊248雙分支if語句說明:語句塊1、語句塊2既可以是單一語句也可以是用{}括起來的復(fù)合語句。else子句必須與if子句配對(duì)使用,不能單獨(dú)使用else子句必須處在if子句的后面,且else語句總是和離它最近的前面未配對(duì)的if語句配對(duì)。例子:輸入一個(gè)年號(hào),判斷是否為閏年,如果是則輸出“yes”,否則輸出“Not”。分析:只要滿足下列兩個(gè)條件之一者,即是閏年。①年號(hào)能被4整除,但要排除同時(shí)能被100整除;②年號(hào)能被400整除。#include<iostream.h>voidmain(){inty;cout<<"輸入一個(gè)年號(hào):";cin>>y;if((y%4==0&&y%100!=0)||(y%400==0)) cout<<"Yes";else cout<<"Not";cout<<"\n程序運(yùn)行結(jié)束";}雙分支if語句說明:#include<iostream.h49多分支if語句一般形式為:if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3 ………………elseif(表達(dá)式N) 語句Nelse語塊N+1說明:在if語句嵌套中else與if配對(duì)關(guān)系,else與離它最近的if語句相匹配。真真真假假假表達(dá)式1表達(dá)式2語句1語句2語句3語句4多分支if語句一般形式為:說明:真真真假假假表達(dá)式1表達(dá)式250多分支if語句#include<iostream.h>voidmain(){ floatscore; cout<<"Inputscore(0~100):"; cin>>score; if(score>=90) cout<<"Excellent!"; elseif(score>=80) cout<<"Good!"; elseif(score>=70) cout<<"Right!"; elseif(score>=60)cout<<"Pass!";else cout<<"Failed!";}例子:輸入學(xué)生的成績score,按分?jǐn)?shù)輸出其等級(jí):score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。多分支if語句#include<iostream.h>例子:51switch語句一般形式為:

switch(表達(dá)式){

case常數(shù)1:

語句序列1;

case常數(shù)2:

語句序列2;

…………

default:

語句序列3;

}執(zhí)行過程:說明:1、表達(dá)式可以是整形、字符型、枚舉型2、case后的常量類型=switch中表達(dá)式類型3、常數(shù)1-常數(shù)n必須互不相同且每一常數(shù)后面要有冒號(hào):4、各case子句和default子句的次序可任意5、default可以沒有,但最好不省略6、如果要使每個(gè)case處相當(dāng)于一種if(s)else的效果,必須在其語句組最后加上break語句。7、各case子句后面必須是常數(shù),而不能是變量或表達(dá)式switch語句一般形式為:說明:52switch語句#include<iostream.h>voidmain(){floatscore;inta;cout<<"Inputscore(0~100):";cin>>score;a=score/10;switch(a){case0:case9:cout<<"Excellent!";break;case8:cout<<"Good!";break;case7:cout<<"Right!";break;case6:cout<<"Pass!";break;default:cout<<"Failed!";}}例子:輸入學(xué)生的成績score,按分?jǐn)?shù)輸出其等級(jí):score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。switch語句#include<iostream.h>例子53switch和else-if的比較else-if比switch的條件控制更強(qiáng)大一些else-if可以依照各種邏輯運(yùn)算的結(jié)果進(jìn)行流程控制switch只能進(jìn)行==判斷,并且只能是整數(shù)判斷switch比else-if更清晰兩者都要盡量避免用得過多、過長,尤其不要嵌套得太多它們大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護(hù),易出錯(cuò)switch和else-if的比較else-if比switc54循環(huán)語句C++提供了三種循環(huán)結(jié)構(gòu):while循環(huán)語句、do-while循環(huán)語句for循環(huán)語句循環(huán)語句C++提供了三種循環(huán)結(jié)構(gòu):55while語句語法形式:while(表達(dá)式){循環(huán)體語句}執(zhí)行過程:首先判斷while后面的表達(dá)式的值,若表達(dá)式的值為真,則執(zhí)行while的內(nèi)嵌語句(即循環(huán)體)一次;然后重復(fù)以上過程,直到表達(dá)式的值為假時(shí),才退出循環(huán)接著執(zhí)行循環(huán)體語句后面的其它程序語句循環(huán)體語句表達(dá)式FTwhilewhile語句語法形式:循環(huán)體語句表達(dá)式FTwhile56while語句例子:求#include<iostream.h>#include<iostream.h>voidmain(){inti,n;n=0; i=1; while(i<=100) {n=n+i; i++;} cout<<"n="<<n<<endl;}while語句例子:求#include<iostream.h57do-while循環(huán)語句語法形式:do{循環(huán)體語句}while(表達(dá)式);執(zhí)行過程:首先執(zhí)行do-while的內(nèi)嵌語句(循環(huán)體語句)一次然后再判斷while后面的表達(dá)式的值,若表達(dá)式的值為真,則重復(fù)執(zhí)行do-while的內(nèi)嵌語句,如此反復(fù),直到表達(dá)式的值為假時(shí),循環(huán)結(jié)束,執(zhí)行while后面的語句。statements表達(dá)式FTdo/whiledo-while循環(huán)語句語法形式:statements表達(dá)58do-while循環(huán)語句例子:求#include<iostream.h>voidmain(){inti,n; n=0;i=1;do{n=n+i; i++;}while(i<=100);cout<<"n="<<n<<endl;}do-while循環(huán)語句例子:求#include<iost59while語句和do-while在循環(huán)體相同的情況下while語句和do-while語句的功能基本相同二者的區(qū)別在于:while:先驗(yàn)證條件,再執(zhí)行語句do/while:先執(zhí)行語句,再驗(yàn)證條件當(dāng)循環(huán)條件一開始就為假時(shí),do-while語句中的循環(huán)體至少會(huì)被執(zhí)行一次,而while語句則一次都不執(zhí)行。while語句和do-while在循環(huán)體相同的情況下whil60for循環(huán)語句語法形式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體語句}說明:表達(dá)式1:初始化表達(dá)式表達(dá)式2:判斷條件表達(dá)式表達(dá)式3:修正表達(dá)式,循環(huán)參數(shù)調(diào)整循環(huán)體有多條語句時(shí),要加{}表達(dá)式可缺省,但分號(hào)不能省,如

intn=1;for(;n<10;n++)變量可在表達(dá)式中聲明:

for(intn=1;n<10;n++)

等價(jià)于:while(表達(dá)式2){

語句;

表達(dá)式3;

}for循環(huán)語句語法形式:等價(jià)于:61for循環(huán)語句執(zhí)行過程:①執(zhí)行for后面的表達(dá)式1;②執(zhí)行表達(dá)式2,若表達(dá)式2的值為真,則執(zhí)行for語句的內(nèi)嵌語句(即循環(huán)體語句),然后執(zhí)行第③步,若為假,則循環(huán)結(jié)束,執(zhí)行第⑤步;③執(zhí)行表達(dá)式3;④返回繼續(xù)執(zhí)行第②步;⑤循環(huán)結(jié)束,執(zhí)行for語句的循環(huán)體下面的語句。表達(dá)式1

表達(dá)式2表達(dá)式3循環(huán)體語句TFfor循環(huán)語句執(zhí)行過程:表達(dá)式1表達(dá)式2表達(dá)式3循環(huán)體語句62for循環(huán)語句例子:求#include<iostream.h>voidmain(){inti,n;n=0;for(i=1;i<=100;i++) n=n+i;cout<<"n="<<n<<endl;}for循環(huán)語句例子:求#include<iostream.h63選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for如果循環(huán)次數(shù)未知,用while如果循環(huán)體至少要執(zhí)行一次,用do-while這只是“一般”原則,不是“原則”選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for64循環(huán)嵌套在一個(gè)循環(huán)的循環(huán)體中又包含另一個(gè)循環(huán)語句,稱為循環(huán)嵌套。C++的三種循環(huán)語句可以相互嵌套,構(gòu)成循環(huán)嵌套。以下幾種都是合法的循環(huán)嵌套:(1)for(;;) {…… for(;;) { } ……

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論