文章目錄
- 第5章 語句
- 5.1 簡單語句
- 5.2 語句作用域
- 5.3 條件語句
- 5.3.2 switch語句
- 5.4 迭代語句
- 5.4.1 while
- 5.4.2 for
- 5.4.3 范圍for循環(huán)
- 5.4.4 do while語句
- 5.5 轉(zhuǎn)跳語句
- 5.5.1 break語句
- 5.5.2 continue語句
- 5.5.3 goto語句
- 5.6 try語句塊和異常處理
- 5.6.1 throw表達(dá)式
- 5.6.2 try語句塊
- 5.6.3 標(biāo)準(zhǔn)異常
- 小結(jié)
- 術(shù)語表
成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。第5章 語句
- 條件執(zhí)行語句、循環(huán)語句(重復(fù)執(zhí)行相同代碼)、轉(zhuǎn)跳語句(中斷當(dāng)前控制流)
- 順序執(zhí)行;控制流語句
5.1 簡單語句
- 表達(dá)式語句:表達(dá)式末尾加上分號,作用 執(zhí)行表達(dá)式并丟棄求值結(jié)果
- 空語句:只有一個單獨(dú)的分號,使用時應(yīng)加上注釋,分號別漏寫也別多寫
- 復(fù)合語句/塊:用花括號括起來的語句和聲明的序列,(復(fù)合語句)一個塊就是一個作用域;語法上需要一條語句,但是邏輯上需要多條語句
5.2 語句作用域
- 定義在控制結(jié)構(gòu)當(dāng)中的變量只在相應(yīng)語句的內(nèi)部可見,一旦語句結(jié)束變量就超出其作用范圍。
5.3 條件語句
5.3.1 if語句
- 判斷一個指令的條件是否為真,根據(jù)判斷結(jié)果決定是否執(zhí)行另外一條語句
- if else
if (condition) statement else statement2
- 嵌套if語句,在if或者else后加上花括號可以避免代碼混亂不清
- 懸垂else
else
與離它最近尚未匹配的if
匹配 - 使用花括號控制執(zhí)行路徑
5.3.2 switch語句
-在若干固定選項(xiàng)中做出選擇,先對switch括號里的表達(dá)式求值,若與某個case標(biāo)簽匹配成功,程序從該標(biāo)簽之后的第一條語句開始執(zhí)行,直到到達(dá)了switch的結(jié)尾或者是遇到一條break語句為止。
- switch內(nèi)部的控制流
- 漏寫break容易引發(fā)缺陷
- default 沒有一個case標(biāo)簽?zāi)芷ヅ渖蠒r,將執(zhí)行default標(biāo)簽后的語句;標(biāo)簽后面必須跟語句或者標(biāo)簽
- switch內(nèi)部的變量定義
- 在某處一個帶有初值的變量位于作用域之外,在另一處該變量位于作用域之內(nèi),則從前一處跳轉(zhuǎn)到后一處的行為是非法的
5.4 迭代語句
5.4.1 while
- 只要括號內(nèi)的條件為真就重復(fù)的執(zhí)行循環(huán)體(當(dāng)不清楚需迭代次數(shù)時;或者需要在循環(huán)結(jié)束后訪問循環(huán)控制變量用while比較合適)
5.4.2 for
for(init-statement;condition;expression){statement}
- 傳統(tǒng)for循環(huán)的執(zhí)行流程
- init-statement初始化一個值,值隨著循環(huán)的進(jìn)行而改變
- condition為真則執(zhí)行一次 statement,然后執(zhí)行 expression
- condition為假則一次也不執(zhí)行
- for 語句頭中的多重定義
- init-statement可以定義多個對象,但只能有一條聲明語句因此變量基礎(chǔ)類型必須相同
- 省略for循環(huán)語句頭的某些部分
- 可以省略init-statement;condition;expression中的任何一個或者全部
5.4.3 范圍for循環(huán)
for(declaration:expression)
- declaration 確保類型相容最簡單的方法是使用auto類型說明符
- 倘若需要修改expression的值,需要將declaration聲明成引用
5.4.4 do while語句
- 先執(zhí)行循環(huán)體后檢查條件,至少執(zhí)行一次循環(huán)
5.5 轉(zhuǎn)跳語句
- 中斷當(dāng)前的執(zhí)行過程:break/continue/goto/return
5.5.1 break語句
- 負(fù)責(zé)終止離它最近的while/do while/for/switch語句
5.5.2 continue語句
- 終止最近循環(huán)中的當(dāng)前迭代并立即開始下一次迭代
5.5.3 goto語句
- 從goto語句無條件轉(zhuǎn)跳到同一函數(shù)內(nèi)的另一條語句
goto label;... label:..;
label是用于標(biāo)識一條語句的標(biāo)識符,可以和其他實(shí)體同名- 帶標(biāo)簽語句
label:
一個標(biāo)識符帶一個冒號
5.6 try語句塊和異常處理
- 異常:存在于運(yùn)行時的反常行為
- throw:表示遇到了無法處理的問題,引發(fā)了異常
- try: try中拋出的異常會被某個catch(異常處理代碼)子句處理
- 一套異常類:用于在throw和catch之間傳遞異常具體信息
5.6.1 throw表達(dá)式
- 包含關(guān)鍵字throw和緊隨其后的一個表達(dá)式(表達(dá)式類型就是異常類型)
5.6.2 try語句塊
- try塊后跟一個或多個catch子句
- catch子句包括:
- 關(guān)鍵字catch
- 括號內(nèi)對象的聲明(異常聲明)
- 一個塊
- 編寫處理代碼
- 函數(shù)在尋找處理代碼的過程中退出
- 尋找處理代碼的過程與函數(shù)調(diào)用鏈剛好相反(從內(nèi)向外找),若最終沒找到匹配的catch語句則程序轉(zhuǎn)到名為terminate的標(biāo)準(zhǔn)庫函數(shù)將導(dǎo)致程序非正常退出
- 清楚異常何時發(fā)生,發(fā)生后應(yīng)如何確保對象有效、資源無泄漏、程序處于合理狀態(tài)等
5.6.3 標(biāo)準(zhǔn)異常
- exception頭文件:最通用異常類exception(只報告異常的發(fā)生,不提供任何額外信息
- stdexcept頭文件:幾種常用異常類
- 定義了幾種運(yùn)算:創(chuàng)建或拷貝異常類型的對象;為異常類型對象賦值
- new頭文件:bad_alloc異常類型
- type_info頭文件:bad_cast
- 只能以默認(rèn)初始化的方式初始化exception/bad_alloc/bad_cast,不允許為這些對象提供初始值,其他異常類型則相反當(dāng)創(chuàng)建對象時必須提供初始值
- what函數(shù)返回C風(fēng)格字符串內(nèi)容與異常對象的類型有關(guān),若異常類型有一個字符串初始值,則返回該字符串;無初始值異常類型返回內(nèi)容由編譯器決定
小結(jié)
- c++提供的語句大多會影響程序控制流程
- 迭代操作:while/for/do while
- 條件分支:if/switch
- continue:終止循環(huán)當(dāng)前次迭代
- break:退出循環(huán)或switch語句
- goto:將控制權(quán)轉(zhuǎn)移到標(biāo)簽語句
- try catch:try可能拋出異常語句塊,catch處理代碼拋出異常
- throw:將控制權(quán)轉(zhuǎn)移到相關(guān)的catch子句
- return:終止函數(shù)執(zhí)行
術(shù)語表
- 懸垂else else與前一個未匹配的if匹配在一起
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:c++primer第5章語句-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://aaarwkj.com/article22/iegcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站設(shè)計公司、搜索引擎優(yōu)化、全網(wǎng)營銷推廣、App開發(fā)、品牌網(wǎng)站建設(shè)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)