版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
制作者:王甜甜C++的控制語句學(xué)習(xí)內(nèi)容C++語句概述C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)限定轉(zhuǎn)向語句breakcontinueC++語句概述語句(statement)是程序中最小的可執(zhí)行單位。一條語句可以完成一種基本操作,若干條語句組合在一起就能實現(xiàn)某種特定的功能。C++中語句可以分為以下三種形式:1、單一語句在任何一個表達式后面加上分號(;)就構(gòu)成了一條簡單的C++語句例如:c=a+b;a>b?a:b;cout<<“HelloC++”<<endl;C++語句概述2.空語句僅由單個分號構(gòu)成的語句,即;空語句不進行任何操作。該語句被用在從語法上需要一條語句,但實際上卻又不進行任何操作的地方。3.復(fù)合語句復(fù)合語句是用一對花括號{}括起來的語句塊。復(fù)合語句在語法上等效于一個單一語句。使用復(fù)合語句應(yīng)注意:(1)
花括號必須配對使用;(2)花括號外不要加分號C++程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)BA程序按照語句的書寫順序依次執(zhí)行,語句在前的先執(zhí)行,語句在后的后執(zhí)行,只能滿足設(shè)計簡單程序的要求。
分支結(jié)構(gòu)BNAY條件P在分支結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來選擇執(zhí)行不同的程序段。也就是說,這種程序結(jié)構(gòu),能有選擇地執(zhí)行程序中的不同程序段。
循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,程序根據(jù)判斷條件是否成立,來決定是否重復(fù)執(zhí)行某個程序段。
條件PA當(dāng)型循環(huán)直到型循環(huán)真假假條件PA假真if語句if語句是最常用的一種分支語句,也稱為條件語句。if語句有三種形式:單分支if
語句、雙分支if語句多分支if語句單分支if語句語法:if(表達式)語句執(zhí)行過程先計算關(guān)鍵字if后面的表達式的值,若為真,則執(zhí)行if后的“語句”部分,否則跳過該“語句”部分。不管是否執(zhí)行“語句”部分,最后都要接著“語句”部分的后面,繼續(xù)執(zhí)行程序的其它部分。真假表達式語句單分支if語句說明:括號不能省略。在if(表達式)后不能加分號“;”。關(guān)鍵字if的后面的表達式可以是任意的表達式,只要表達式的值為非0,即當(dāng)真值處理,否則當(dāng)假值處理。if語句的內(nèi)嵌語句可以是單一語句,也可以是復(fù)合語句。盡量使if語句的內(nèi)嵌語句比if語句縮進這是良好編程書寫風(fēng)格。例子:intx=0,y=2;
if(x==0)y++;
cout<<x<<y;雙分支if語句語法格式:
if(表達式)
語句塊1
else
語句塊2
執(zhí)行過程:先判斷表達式的值,若為真,則執(zhí)行語句塊1,否則執(zhí)行語句塊2。不管程序執(zhí)行語句塊1還是執(zhí)行語句塊2,最后都要跳到語句塊2的后面接著執(zhí)行程序中后面的語句。真假表達式語句塊1語句塊2雙分支if語句說明:語句塊1、語句塊2既可以是單一語句也可以是用{}括起來的復(fù)合語句。else子句必須與if子句配對使用,不能單獨使用else子句必須處在if子句的后面,且else語句總是和離它最近的前面未配對的if語句配對。例子:輸入一個年號,判斷是否為閏年,如果是則輸出“yes”,否則輸出“Not”。分析:只要滿足下列兩個條件之一者,即是閏年。①年號能被4整除,但要排除同時能被100整除;②年號能被400整除。#include<iostream.h>voidmain(){inty;
cout<<"輸入一個年號:";
cin>>y;if((y%4==0&&y%100!=0)||(y%400==0))
cout<<"Yes";else
cout<<"Not";
cout<<"\n程序運行結(jié)束";}多分支if語句一般形式為:if(表達式1)
語句1elseif(表達式2)
語句2elseif(表達式3)
語句3 ………………elseif(表達式N)
語句Nelse
語塊N+1說明:在if語句嵌套中else與if配對關(guān)系,else與離它最近的if語句相匹配。真真真假假假表達式1表達式2語句1語句2語句3語句4多分支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,按分數(shù)輸出其等級:score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。switch語句一般形式為:
switch(表達式){
case常數(shù)1:
語句序列1;
case常數(shù)2:
語句序列2;
…………
default:
語句序列3;
}執(zhí)行過程:說明:1、表達式可以是整形、字符型、枚舉型2、case后的常量類型=switch中表達式類型3、常數(shù)1-常數(shù)n必須互不相同且每一常數(shù)后面要有冒號:4、各case子句和default子句的次序可任意5、default可以沒有,但最好不省略6、如果要使每個case處相當(dāng)于一種if(s)else的效果,必須在其語句組最后加上break語句。7、各case子句后面必須是常數(shù),而不能是變量或表達式switch語句#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,按分數(shù)輸出其等級:score≥90為優(yōu),90>score≥80為良,80>score≥70為中等,70>score≥60為及格,score<60為不及格。switch和else-if的比較else-if比switch的條件控制更強大一些else-if可以依照各種邏輯運算的結(jié)果進行流程控制switch只能進行==判斷,并且只能是整數(shù)判斷switch比else-if更清晰兩者都要盡量避免用得過多、過長,尤其不要嵌套得太多它們大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護,易出錯循環(huán)語句C++提供了三種循環(huán)結(jié)構(gòu):while循環(huán)語句、do-while循環(huán)語句for循環(huán)語句while語句語法形式:while(表達式){循環(huán)體語句}執(zhí)行過程:首先判斷while后面的表達式的值,若表達式的值為真,則執(zhí)行while的內(nèi)嵌語句(即循環(huán)體)一次;然后重復(fù)以上過程,直到表達式的值為假時,才退出循環(huán)接著執(zhí)行循環(huán)體語句后面的其它程序語句循環(huán)體語句表達式FTwhilewhile語句例子:求#include<iostream.h>#include<iostream.h>voidmain(){int
i,n;n=0; i=1;
while(i<=100) {n=n+i; i++;}
cout<<"n="<<n<<endl;}do-while循環(huán)語句語法形式:do{循環(huán)體語句}while(表達式);執(zhí)行過程:首先執(zhí)行do-while的內(nèi)嵌語句(循環(huán)體語句)一次然后再判斷while后面的表達式的值,若表達式的值為真,則重復(fù)執(zhí)行do-while的內(nèi)嵌語句,如此反復(fù),直到表達式的值為假時,循環(huán)結(jié)束,執(zhí)行while后面的語句。statements表達式FTdo/whiledo-while循環(huán)語句例子:求#include<iostream.h>voidmain(){int
i,n; n=0;i=1;do{n=n+i; i++;}
while(i<=100);
cout<<"n="<<n<<endl;}while語句和do-while在循環(huán)體相同的情況下while語句和do-while語句的功能基本相同二者的區(qū)別在于:while:先驗證條件,再執(zhí)行語句do/while:先執(zhí)行語句,再驗證條件當(dāng)循環(huán)條件一開始就為假時,do-while語句中的循環(huán)體至少會被執(zhí)行一次,而while語句則一次都不執(zhí)行。
for循環(huán)語句語法形式:for(表達式1;表達式2;表達式3){循環(huán)體語句}說明:表達式1:初始化表達式表達式2:判斷條件表達式表達式3:修正表達式,循環(huán)參數(shù)調(diào)整循環(huán)體有多條語句時,要加{}表達式可缺省,但分號不能省,如
intn=1;for(;n<10;n++)變量可在表達式中聲明:
for(intn=1;n<10;n++)
等價于:while(表達式2){
語句;
表達式3;
}for循環(huán)語句執(zhí)行過程:①執(zhí)行for后面的表達式1;②執(zhí)行表達式2,若表達式2的值為真,則執(zhí)行for語句的內(nèi)嵌語句(即循環(huán)體語句),然后執(zhí)行第③步,若為假,則循環(huán)結(jié)束,執(zhí)行第⑤步;③執(zhí)行表達式3;④返回繼續(xù)執(zhí)行第②步;⑤循環(huán)結(jié)束,執(zhí)行for語句的循環(huán)體下面的語句。表達式1
表達式2表達式3循環(huán)體語句TFfor循環(huán)語句例子:求#include<iostream.h>voidmain(){int
i,n;n=0;
for(i=1;i<=100;i++) n=n+i;
cout<<"n="<<n<<endl;}選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for如果循環(huán)次數(shù)未知,用while如果循環(huán)體至少要執(zhí)行一次,用do-while這只是“一般”原則,不是“原則”循環(huán)嵌套在一個循環(huán)的循環(huán)體中又包含另一個循環(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)嵌套在嵌套的各層循環(huán)體中,使用復(fù)合語句(即用一對大花括號將循環(huán)體語句括起來)保證邏輯上的正確性內(nèi)層和外層循環(huán)控制變量不應(yīng)同名,以免造成混亂嵌套的循環(huán)最好采用右縮進格式書寫,以保證層次的清晰性循環(huán)嵌套不能交叉,即在一個循環(huán)體內(nèi)必須完整的包含著另一個循環(huán)限定轉(zhuǎn)向語句breakcontinuebreak語句語法形式:break;該語句只能用于兩種情況:(1)用在switch結(jié)構(gòu)中,當(dāng)某個case子句執(zhí)行完后,使用break語句跳出switch結(jié)構(gòu)。(2)用在循環(huán)結(jié)構(gòu)中,用break語句來結(jié)束循環(huán)。如果在嵌套循環(huán)中,break語句只能結(jié)束其所在的那層循環(huán)。假假真真break表達式1表達式2循環(huán)語句的下一條語句break語
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 居民小區(qū)監(jiān)控系統(tǒng)設(shè)備采購
- 專業(yè)設(shè)備采購安裝合同
- 農(nóng)村房屋買賣合同的格式要求
- 銷售會議服務(wù)契約
- 英文服務(wù)合同注意事項
- 煤礦工人安全承諾宣言
- 小產(chǎn)權(quán)房屋買賣合同的法律風(fēng)險
- 個人信用保證書不可撤銷長期
- 清新呼吸保證
- 購貨合同購銷合同的條款解讀
- 《第2課時 光合作用與能量轉(zhuǎn)化》參考課件1
- 2023年江蘇常州中考滿分作文《方寸之間天地大》4
- 2023年法律職業(yè)資格《主觀題》真題及答案
- 房地產(chǎn)營銷工作排期【倒排計劃表】
- 2024年人教版二年級語文(上冊)期末試卷及答案(各版本)
- 操作系統(tǒng)課程設(shè)計
- 某大學(xué)中西醫(yī)臨床(專升本)學(xué)士學(xué)位考試復(fù)習(xí)題
- 調(diào)查詢問筆錄授權(quán)委托書
- 2024電大《成本會計》形考任務(wù)6答案
- 福建省三明市三元區(qū)2022-2023學(xué)年八年級上學(xué)期期末物理試卷(滬科版)
- 2024年廣東高校招收中職畢業(yè)生考試數(shù)學(xué)試卷真題(含答案解析)
評論
0/150
提交評論