乙個函式包含宣告部分和執行部分,執行部分是由語句組成的,語句的作用是向計算機系統發出操作指令,要求執行相應的操作。乙個c語句經過編譯後產生若干條機器指令。宣告部分不是語句,它不產生機器指令,只是對有關資料的宣告。
c程式結構可以用下圖表示,即乙個c程式可以由若干個源程式檔案(編譯時以檔案模組為單位)組成,乙個原始檔可以由若干個函式和預處理指令以及全域性變數宣告部分組成。乙個函式由資料宣告部分和執行語句組成。
c語句分為以下5類:
(1)控制語句。控制語句用於完成一定的控制功能。c只有9種控制語句,他們的形式是:
上面9種語句表示形式中的()表示空號中是乙個「判別條件」,「…」表示內嵌的語句。例如上面的「if()…else…」的具體語句可以寫成:
if(x>y) z=x;else z=y;
其中x>y是乙個「判別條件」,「z=x;」和「z=y;」是c語句,這兩個語句是內嵌在if…else語句中的。這個if…else語句的作用是:先判別條件「x>y」是否成立,如果x>y成立,就執行內嵌語句「z=x;」否則就執行內嵌語句「z=y;」
(2)函式呼叫語句。函式呼叫語句由乙個函式呼叫加乙個分號構成,例如:
printf("this is a c statement.");
其中printf("this is a c statement.")是乙個函式呼叫,加乙個分號成為乙個語句。
(3)表示式語句。表示式語句由乙個表示式加乙個分號構成,最典型的是由賦值表示式構成乙個賦值語句。例如:a=3是乙個賦值表示式,而a=3是乙個賦值語句。可以看到乙個表示式的最後加乙個分號就成了乙個語句。乙個語句必須在最後有乙個分號,分號是語句中不可缺少的組成部分,而不是兩個語句間的分隔符號。例如:
i=i+1 (是表示式,不是語句)i=i+1; (是語句)
任何表示式都可以加上分號而成為語句,例如:i++;是乙個語句,作用是使i值加1.又例如:x+y;也是乙個語句,作用是完成x+y的操作,它是合法的,但是並不把x+y的和賦值給另乙個變數,所以它並無實際意義。
表示式能構成語是c語言的乙個重要特色。其實「函式呼叫語句」也是屬於表示式語句,因為函式呼叫也屬於表示式的一種。只是為了便於理解和使用,才把「函式呼叫語句」和「表示式語句」分開來說明。
(4)空語句。下面是乙個空語句:
;
此語句只有乙個分號,它什麼也不做。那麼它有什麼用呢?可以用來作為流程的轉向點,也可用來作為迴圈語句或者的迴圈體。
(5)復合語句。可以用{}把一些語句和宣告括起來成為復合語句(又稱語句塊)。例如下面是乙個復合語句:
可以在復合語句中包含宣告部分,c99允許將宣告部分放在復合語句中的任何位置,但習慣上把它放在語句塊開頭位置。復合語句常用在if語句或迴圈中,此時程式需要連續執行一組語句。 C 語句異常處理語句
1,try.catch.finally 不會找到邏輯錯誤,try裡面放檢測 catch 捕捉到的異常,怎樣處理finally不管有沒有異常都會執行 try catch finally 3種組合 2,finally 很頑強 return後仍然會執行 3,4,excption的用法 exception是...
C 乙個特殊的迭代語句 yield
yield 在語句中使用該關鍵字,表示出現的方法 運算子或者getter訪問器是乙個迭代器,使用 yield定義迭代器不需要額外的顯示定義型別 依次返回每乙個元素 yield return 語句結束迭代 yield break 返回型別必須為ienumerable,ienumerable,ienum...
C檔案包含處理
mian函式中用到多個函式呼叫,f1,f2。最開始的做法是,將f1,f2 都放置在main.c檔案的後面,現把 f1,f2 放在各自的源程式下 f1.c f2.c 通過標頭檔案的方式,將 f1.c f2.c 和main.c聯合起來,或者生成 f1.h f2.h 方式 方法1 編譯成功 home.cp...