c primer學習筆記 第五章

2021-10-06 20:51:38 字數 1583 閱讀 5379

別漏寫分號也別多寫分號,如果是空語句需要注釋。

while (iter!=svec.end()) ; //迴圈體時空語句

++iter; //遞增運算不屬於迴圈的一部分

復合語句:用花括號括起來的語句和宣告的序列,也稱作塊。乙個塊就是乙個作用域,在塊中引入的名字只能在塊內部及子塊中訪問

塊不以分號結束。

else與離他最近尚未匹配的if匹配。注意使用花括號。

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

注意不要漏寫break;

**default標籤:**定義乙個default標籤很有用,告訴讀者我們考慮到了預設的情況,但是標籤後面必須有一條語句或者另乙個case標籤,可以是空語句或者空語句塊。

如果要在case分支內定義並初始化變數,**應該把變數定義在塊內,**確保後面的case標籤都在變數作用域之外。

不確定要迭代多少次,或者迴圈結束想訪問迴圈控制變數可以用while。

for語句頭中定義的物件只在for迴圈體內可見。

for(初始表示式;情況;表示式)中任意乙個都可以省略

遍歷容器或者其它序列的所有元素。

不管條件的值是什麼,都會先執行一次迴圈。

終止離它最近的while,do while,for, switch語句

終止最近的迴圈的當前迭代閉關立即開始下一次迴圈。

從goto語句無條件跳轉到同一函式的另一條語句。

**不要在程式中使用goto語句(**不是我說,那你發明它幹嘛??)

標籤語句定義:end: return

throw+表示式+;

表示式的型別就是丟擲的異常型別,通常說throw引發(raise)了異常。

if(a!=b)

throw runtime_error("you are stupid"); //runtime_over是標準庫異常型別的一種

try

catch(異常宣告)

catch(異常宣告)

每個標準庫異常型別都定義了what的成員函式,這些函式沒有引數,返回值是c風格字串(const char*)

c++標準庫定義了一組類,用於報告標準庫函式遇到的問題。

exception標頭檔案定義了最通用的異常類exception。只報告異常的發生,不提供額外資訊。

stdexcept標頭檔案定義了一種常用異常類。

new標頭檔案定義了bad_alloc異常型別。

type_info標頭檔案定義了bad_cast異常型別。

只能以預設初始化的方式初始化exception,bad_alloc,type_info物件,以string物件或者c風格字串初始化其它異常型別。

``catch(runtime_error err){`

cout<

c primer 筆記,第五章

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

《C Primer》學習筆記 第五章語句

1.在c中物件的定義並不被視為c語言的語句,塊中的所有物件定義必須出現在任何程式語句之前 由於物件的定義是c 語言的一條語句,所以可以將物件定義放在任何其他語句能夠出現的地方。2.在condition 中定義的物件只在與if 相關的語句或語句塊中可見。3.c和c 中關鍵字case後面的值必須是一種整...

C Primer 學習筆記 第五章 語句

簡單語句 語句作用域 條件語句 1if語句 2switch語句 迭代語句 跳轉語句 1break語句 contiune語句 goto語句 語句塊和異常處理 異常是指存在於執行時的反常行為,這些行為超出了函式正常功能的範圍。典型的異常包括拾取資料庫連線以及遇到意外的輸入等。處理反常行為可能是設計所有系...