更多資訊在個人部落格檢視
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
每次迭代都會重新定義迴圈控制變數,並將其初始化成序列中的下乙個值,之後才會執行statement
,statement
可以是乙個單獨的語句也可以是乙個塊
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-statements
。catch
完成之後,程式跳轉到最後乙個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新標準 後續要做的事情就剩下查漏補缺,不斷完善自己的知識體系 個人感覺從零學習一門新知識比較好的方法是...