C Primer練習筆記 第五章 語句

2021-10-08 15:34:19 字數 3320 閱讀 6816

更多資訊在個人部落格檢視

if

(grade %

10>=3)

if(grade %

10>7)

lettergrade +

='+'

;else

lettergrade +

='-'

;

上述**雖然是希望else和外層的if匹配,但是c++規定else和離她最近的尚未匹配的if匹配,所以**實際執行過程如下

if

(grade %

10>=3)

if(grade %

10>7)

lettergrade +

='+'

;else

lettergrade +

='-'

;

case標籤必須是整型常量表示式

switch內部的控制流

某個case匹配成功,將從該標籤開始往後順序執行所有case語句

範圍for語句的語法形式:

for

(declaration: expression)

statement

每次迭代都會重新定義迴圈控制變數,並將其初始化成序列中的下乙個值,之後才會執行statementstatement可以是乙個單獨的語句也可以是乙個塊

goto語句的作用是從goto語句無條件跳轉到同一函式內的另一條語句

異常檢測部分使用了throw表示式來表示它遇到了無法處理的問題,例如以下**所示:

if

(item1.

isbn()

!= item2.

isbn()

)throw

runtime_error

("data must refer to same isbn"

);

異常處理部分用try語句處理異常。try語句塊以關鍵字try開始,並以乙個或多個catch子句結束。try語句塊中丟擲的異常通常會被某個catch子句處理。因為catch子句處理異常,所以他們也被稱為異常處理**(exception handler)。

try

catch

(exception-declaration)

catch

(exception-declaration)

// ...

try語句塊中的program-statements組成正常邏輯,try語句塊內宣告的變數在塊外部無法訪問。try塊之後是乙個或多個catch子句,catch子句包含三個部分: 關鍵字catch、括號內乙個物件的宣告以及乙個塊。

try-catch的執行邏輯是執行try塊的program-statements**,如果執行過程中發生異常,則選中相應的catch子句處理異常,然後執行相應的handler-statementscatch完成之後,程式跳轉到最後乙個catch子句之後的那條語句繼續執行

寫一段自己的程式,使用if-else語句實現把數字成績轉換為字母成績的要求

簡單的通過if-else從分數大到小排出等級

#include

using

namespace std;

intmain()

使用條件運算子改寫上一題

通過巢狀條件運算子(conditions?statement1:statement2)實現

#include

using

namespace std;

intmain()

編寫一段程式,使用一系列if語句統計從cin讀入的文字中有多少母音字母

母音字母有a, e, i, o, u,簡單的判斷輸入字元是否與這五個字元相等。

在linux/unix命令列下退出while(cin >> ch)迴圈使用ctrl+d,而windows環境下是ctrl+z

#include

using

namespace std;

intmain()

cout << count << endl;

return0;

}

#include

#include

using std::cout;

using std::cin;

using std::endl;

using std::string;

using std::pair;

intmain()

;}if(max_duplicated.first.

empty()

) cout <<

"there's no duplicated string."

<< endl;

else cout <<

"the word "

<< max_duplicated.first <<

" occurred "

<< max_duplicated.second +

1<<

" times. "

<< endl;

return0;

}

c primer 筆記,第五章

case標籤必須是整型常量表示式 在case語句中,不允許跨過變數的初始化語句直接跳轉到該變數作用域內的另乙個位置 在範圍for語句中,預存了end 的值,一旦在序列中新增 刪除 元素,end函式的值就可能變得無效了 尋找處理 的過程域函式呼叫鏈剛好相反,是沿著程式的執行路徑逐層回退,直到找到適當型...

c primer學習筆記 第五章

別漏寫分號也別多寫分號,如果是空語句需要注釋。while iter svec.end 迴圈體時空語句 iter 遞增運算不屬於迴圈的一部分 復合語句 用花括號括起來的語句和宣告的序列,也稱作塊。乙個塊就是乙個作用域,在塊中引入的名字只能在塊內部及子塊中訪問。塊不以分號結束。else與離他最近尚未匹配...

《C Primer》第五章 語句

身為c 的零基礎初學者,短期內把 c primer 啃下來是乙個比較笨但是有效的方法,一方面可以掌握比較規範的c 語法 避免被專案中亂七八糟的風格帶跑偏 另一方面又可以全面地了解c 語法以及c 11新標準 後續要做的事情就剩下查漏補缺,不斷完善自己的知識體系 個人感覺從零學習一門新知識比較好的方法是...