c 基礎之語句

2022-06-24 18:57:15 字數 2307 閱讀 4881

c++ 中語句主要是以分號作為結束符的,最簡單的語句是乙個空語句,空語句主要用於,語法上需要某個地方,但是邏輯上不需要;最常見的就是迴圈裡面

復合語句是用大括號括起來的語句塊叫做復合語句,復合語句也叫做塊。乙個塊就是乙個作用域,在塊中引入的名字只能在塊內部以及巢狀在塊裡面的子塊中訪問。通常名字在有限的區域內可見,該區域從名字定義開始,到名字所在塊的結尾為止。語法上需要一條語句,但是邏輯上需要多條語句的,應該使用語句塊,例如if或者while等迴圈裡面。

塊不以分號結束。{};, 算兩條語句

空塊是指內部沒有任何語句的一對花括號

語句中變數的作用域只在當前語句塊中有效,如果其他**也想訪問控制變數,則變數必須定義在語句塊的外部。

條件語句需要注意:

if語句每個分支盡量加上大括號,即好讀,也能避免很多問題

switch 語句中case後面必須跟上整型常量表示式

一般不要省略case分支最後的break語句,如果是特殊邏輯需要這麼做的,使用注釋進行說明

即使不準備在default分支中做任何事,最好也寫上default分支。其目的在於告訴程式的讀者,我們已經考慮到了預設的情況,只是目前什麼也沒有做

要在case分支中定義變數應該定義在大括號中,並且只在當前分支中使用它

迭代語句又叫做迴圈語句,一般有while、do while、for三種形式

這些語句一般的語言中都有,這裡就不多做介紹,主要介紹c++ 11中新增的一種範圍for的形式

範圍for可以遍歷容器或者其他序列的所有元素,它的簡單形式是

for(declaration: expression)

statement

declaration 定義乙個變數,序列中的每乙個元素要都能轉化為該變數的型別,然後執行拷貝操作,將每次迭代的值拷貝到該變數中。變數只是序列中元素的拷貝,無法修改元素的值,如果想要修改元素的值,需要將變數定義為引用型別。

statement 是乙個語句或者語句塊,所有元素都處理完後,迴圈結束

跳轉語句主要有break、continue以及goto語句。

break:用於跳出離它最近的while、do while、for或者switch語句,並從這些語句之後的第一條語句開始執行。

continue:終止最近的迴圈語句中當前迭代並立即進入下一次迭代,它只能出現在迴圈語句中。

goto:跳轉到對應標籤處,標籤可以定義在函式任意位置。注意只能作用於函式內部,不能由乙個函式跳轉到另乙個函式。盡量少用goto,因為它可讀性差,而且不好控制。

c++中的異常處理包括這樣幾個部分:

throw表示式:用於丟擲乙個異常

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

throw 後面跟乙個表示式,表示式返回值的型別就是丟擲異常的型別。

跟在try 語句塊之後的是乙個或者多個catch子句,當try中的異常與某乙個catch中捕獲的異常型別匹配,則執行該catch塊中的內容。

注意try塊與catch子句是兩個語句塊,在try中定義的變數無法在catch塊中使用。

標準異常庫被分別定義在4個頭檔案中:

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

stdexcept 標頭檔案中定義幾種常見的異常類

new 標頭檔案中定義了bad_alloc 異常

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

在stdexcept 標頭檔案中定義的異常類主要有:

exception: 最常見的問題

runtime_error: 只有在執行時才能檢測出來的問題

range_error: 執行時錯誤,生成的結果超出了有意義的值域範圍

overflow_error: 執行時錯誤,計算上溢

underflow_error: 執行時錯誤,計算下溢

logic_error: 程式邏輯錯誤

domain_error: 邏輯錯誤,引數對應的結果值不存在

invalid_argument: 邏輯錯誤,無效的引數

length_error: 邏輯錯誤,試圖建立乙個超出該型別最大長度的物件

out_of_range: 邏輯就錯誤,使用乙個超出有效範圍的值

標準庫異常類只定義了幾種運算,包括建立或者拷貝異常型別的物件,以及為異常型別的物件賦值

異常型別中只定義了乙個名為what的成員函式,返回值為const char* 的c風格的字串,該字串的目的是提供關於異常的一些文字資訊。

c 基礎之語句

語句 以分號結束的一行 復合語句 用 把多行語句包起來,組成乙個復合語句 if語句 形式1 if expr statement1 else statement2 規則 如何expr為真 非0 則執行語句statement1 否則,執行語句statement2 if語句 形式2 if expr sta...

c 基礎之語句

c 中語句主要是以分號作為結束符的,最簡單的語句是乙個空語句,空語句主要用於,語法上需要某個地方,但是邏輯上不需要 最常見的就是迴圈裡面 復合語句是用大括號括起來的語句塊叫做復合語句,復合語句也叫做塊。乙個塊就是乙個作用域,在塊中引入的名字只能在塊內部以及巢狀在塊裡面的子塊中訪問。通常名字在有限的區...

C 基礎之預處理和語句

1 c 語言源程式中可以使用一些預處理中的編譯命令,這些命令在程式被正常編譯之前執行,被稱為預處理命令,這些命令所實現的功能被稱為預處理功能 2 常用的預處理命令有檔案包含命令 巨集定義命令和條件編譯命令 3 預處理命令都以 開頭,每條命令獨佔一行,不用分號結束,命令太長可用續行符 寫成多行。4 檔...