C C 程式設計例項

2021-07-24 22:26:46 字數 1416 閱讀 6838

例項1

設某次體育比賽的結果有4中可能:勝(win)、負(lose)、平局(tie)、比賽取消(cancel),編寫程式順序輸出這4中情況。

知識點:主要是練習列舉型別enum的使用

編譯執行結果

例項2

將兩個整數交換次序後輸出。

知識點:值傳遞是指當發生函式呼叫時,給形參來分配記憶體空間,並用實參來初始化形參(直接將實參的值傳遞給形參)。這一過程是引數值的單向傳遞關係,一旦形參獲得了值便與實參脫離關係,此後無論形參發生了什麼樣的改變,都不會影響到實參。

編譯執行結果

分析:從上面的執行結果可以看出,並沒有達到交換的目的。這是因為,採用的是值傳遞,函式呼叫時傳遞的是實參的值,是單向傳遞過程。形參值的改變對實參值不起作用。

例項3

利用引用傳遞完成例項2功能

知識點:① 宣告乙個引用時,必須同時對它進行初始化,使它指向乙個已存在的物件。② 一旦乙個引用被初始化後,就不能改為指向其他物件。③ 用引用作為形參,在函式呼叫時發生的引數傳遞,稱為引用傳遞。

編譯執行結果

可見,通過引用傳遞實現了資料交換的功能。

例項4

值傳遞與引用傳遞的比較。

分析:子函式 fiddle 的第乙個引數 in1 是普通的 int型,被呼叫時傳遞的是實參v1的值,第二個引數in2是引用,被呼叫時由實參v2初始化後稱為v2的乙個別名。於是在子函式中對引數 in1 的改變不影響實參,而對形參in2的改變實質上就是對主函式中變數 v2的改變。因而返回主函式後,v1值沒有變化,v2值發生了變化。

編譯執行結果

c c 程式設計風格

1.程式設計風格 請寫出 bool flag 與 零值 比較的 if 語句。3分 標準答案 if flag if flag 如下寫法均屬不良風格,不得分。if flag true if flag 1 if flag false if flag 0 請寫出 float x 與 零值 比較的 if 語句...

C C 程式設計規範

1 注意 strncpy strncat等帶n版本的字串操作函式在源字串長度超出n標識的長度時,會將包括 0 結束符在內的超長字串截斷,導致 0 結束符丟失。這時需要手動為目標字串設定 0 結束符。char dst 11 注意 最好每次定義時初始化為0 dst 11 char src 0123456...

C C 程式設計 decltype

作用 返回運算元指定表示式的型別。在這個過程中,編譯器會分析表示式並得到它的型別,卻不實際計算表示式的值 在存在初始化 的情況下,可以使用auto來自動決定變數的型別。還存在一種情況,我們希望變數的型別通過初始化 之外的表示式推斷得到。假設有下面結構體 struct point 在其他地方,可能這樣...