回顧 C 開篇課堂

2022-02-06 20:27:53 字數 3366 閱讀 4849

週三,在剛剛結束矩陣分析的考試之後,物件導向程式設計課正式開始了c++的學習,這次課的重點即是物件導向思想的理解。

梳理一下知識點。

在函式宣告或者在函式定義時,對引數賦初始值,就是函式的預設引數。

例一:在函式宣告時設定引數的值

#include #include #include using namespace std;

//在函式宣告時設定引數的值

double calculate(double r = 1,double pi = 3.14);

int main()

double calculate(double r,double pi)

結果:

例二:在函式定義時設定(錯誤)

#include #include #include using namespace std;

double calculate(double r,double pi);

int main()

double calculate(double r = 1,double pi = 3.14) //在定義函式時設定

結果:編譯錯誤

不過試了下這樣子就可以了:

#include #include #include using namespace std;

//double calculate(double r,double pi); 注釋掉宣告

double calculate(double r = 1,double pi = 3.14)

int main()

其實本質上還是在函式宣告的時候設定預設引數。

**例三: **函式宣告和函式定義時同時設定預設引數(錯誤)

#include #include #include using namespace std;

double calculate(double r = 2,double pi = 3.14); //宣告時設定r為2,pi為3.14

int main()

double calculate(double r = 1,double pi = 3.14) //定義時設定r為1,pi為3.14

結果:編譯錯誤(我使用的是dev-c++編譯器)

由此得到了第乙個結論:一般在宣告函式是設定預設引數。

那麼如果在主函式只傳遞部分引數呢?

例一

double calculate(double r = 2,double pi = 3.14); 

int main()

double calculate(double r,double pi)

結果:3.14

例二

double calculate(double r = 2,double pi = 3.14); 

int main()

double calculate(double r,double pi)

結果:314

這兩個例子體現了函式中預設函式的作用,當傳遞進來的引數不足形參的個數時,預設其值為函式宣告時設定的預設值。

例三

double calculate(double r,double pi = 3.14); //宣告時只對右邊的pi進行設定

int main()

double calculate(double r,double pi)

結果:314

例四(錯誤)

double calculate(double r = 1,double pi); //宣告時只對左邊的r進行設定

int main()

double calculate(double r,double pi)

結果:編譯錯誤

由例三和例四可以得出:預設引數定義的方向是從右向左那麼如果我設定多個引數的時候,比如計算乙個長方體的體積,開始的時候是這樣的:

double calculate(double l,double w,double h); 

int main()

double calculate(double l,double w,double h)

結果是6,那麼接下來我對l和h設定預設值:

double calculate(double l = 1,double w,double h = 3); 

int main()

double calculate(double l,double w,double h)

編譯不通過,但是如果把上面的語句改成:

double calculate(double l,double w = 2,double h = 3); 

int main()

double calculate(double l,double w,double h)

結果就是正確的12了。

C 學習筆記 開篇

從大一開始學習c語言,大學期間做了許多嵌入式的開發專案,畢業後從事嵌入式開發工作主要的開發語言也是c語言。雖然期間斷斷續續的學習過c 做過qt c 上位機但也只是在其他語言的外殼下使用c在開發,始終沒有好好的學習c 一遇到c 就犯慫,看著 似懂非懂的感覺。秉承著 不會c 的程式猿不是合格的猴子 的信...

c 的開篇(自學 c 語言)

因為想要成為高階phper,所以開始認真學習c語言,我看的書名為 c k r.pdf。這系列文章將作為讀書筆記及心得不定時的發布到部落格上。the first c program 這是攝氏與華氏溫度轉換的公式 c 5 9 f 32 1 引入庫檔案 2 include 3 include 4 入口函式...

C語言回顧

1.資料型別對應的位元組數 資料型別 位元組數 unsignd char 1 short int 2 int 4 long int 4 long long int 8 float 4 double 8 long double 12 2.讀取資料格式指定符 short hd int d float f...