【C++入門學習筆記】函數和物件!你需要這一篇文章入門C++!

2020-08-13 14:35:20

一、本篇要學習的內容和知識結構概覽

 

二、知識點逐條分析

1. 混合型語言

       C++原始檔的副檔名爲.cpp, 也就是c plus plus的簡寫, 在該檔案裡有且只能有一個名爲main的主函數, 它作爲程式的入口.  因爲這個主函數的存在, 所以C++被稱爲混合型語言.

 

2. C++語言當中的註釋

第一種: 單行註釋, 從 // 開始到本行結束. 

像這樣: 

       // 下面 下麪的程式碼是求最大值的

第二程: 多行註釋, 從 /* 開始到 */ 結束. 

像這樣:

       /*

       函數功能: 下面 下麪的程式碼是用來求最大值的

       函數描述: 接收兩個整型參數, 返回它倆的最大值

       */

 

3. 輸入物件和輸出物件

       我們在使用這兩個物件前, #include <iostream> 先引入這個標頭檔案, 並且使用名稱空間: using namespace std; 之後就可以使用這兩個物件啦!

a. 輸入物件: cin, 輸出物件cout.

像這樣:

int a = 0; // 定義一個整型變數a, 賦初值爲0

cout << a; // 列印這個值

cin >> a; // 使用cin物件獲取使用者輸入的值賦值給a

cout << a; // 使用cout物件輸出變數a的值

 

b. 當然我們也可以輸出字串: 

cout << 「我是被輸出的字串!」;

 

c. 我們還可以字串加變數值的拼接輸出:

cout << 「使用者輸入的值爲: 」 << a << endl;

 

d. 我們也可以在輸出的時候進行換行

第一種: cout << 「\n」;

第二種: cout << endl;

這兩個的效果是一樣的.

 

4. 使用名稱空間

       引入標頭檔案的方式有兩種, 系統標頭檔案用<>, 自定義標頭檔案用」」

第一種: 帶.h引入標頭檔案

#include

第二種: 使用名稱空間引入標頭檔案

#include <iostream>

using namespace std;

 

5. 物件的定義和初始化

       int a = 0;

       int z(0);

上面兩句話是等價的, 作用: 申請記憶體空間, 給記憶體空間命名, 向這塊記憶體中寫入數據.

不過我們一般都使用第一種方式.

 

6. 函數原型及其返回值

       函數及變數的使用規則: 先宣告, 後使用. 變數有時也可以邊宣告, 邊使用.

       我們在main函數後面定義的函數, 如果想要在main函數內使用, 就必須在main函數前宣告, 告訴編譯系統, 後面有這個函數, 我要用啦! 當然也可以把函數定義放在main函數之前, 這樣就不用宣告啦!

像這樣: 

#include <iostream>

using namespace std;

// 宣告函數

// 第一個int爲返回值型別, 也稱之爲函數型別, 第二, 第三個int爲參數型別

int getMax(int, int);

int main(int argc, const char * argv[]) {

    // insert code here...

    int a = 5;

    int b = 8;

// 函數宣告之後, 纔可使用

    int result = getMax(a, b);

    cout << result << endl;

    return 0;

}

// 定義函數

int getMax(int a, int b) {

    if (a > b) {

        return a;

    } else {

        return b;

    }

}

       如果函數不需要返回值, 可以用void標識, 一旦使用void, 函數體不再使用return語句, 但是可以使用return;直接結束函數的執行, 返回到呼叫函數.

像這樣:

void sayHello() {

    count << 「I am a student!」 << endl;

    return; // 後面的語句不再執行, 退出函數

    count << 「I am 8 years old!」 << endl;

}

 

7. const修飾符及預處理程式

a. const修飾的變數, 

       在以後值不可再更改, 所以我們稱之爲符號常數, 也必須在宣告時對符號常數進行初始化.

像這樣:

       const int a = 5;

       a = 10; // 錯誤, 符號常數a不可更改

       但是用extern修飾的外部變數, 可以不用進行初始化.

像這樣:

       extern const int b; // 其中b爲其它檔案定義的外部符號常數

 

b. 用於代替宏定義

       #define M_PI 3.14   // 宏定義是直接進行替換, 沒有型別檢查

       const float M_PI 3.14;   // 而const定義的符號常數, 是有型別檢查的, 更安全.

 

c. 預處理有有一種: 宏定義, 條件編譯, 檔案包含

  第一種, 宏定義: 在編譯期間, 將出現宏的地方替換爲指定程式碼

  第二種, 檔案包含: 一個檔案把另一個檔案的內容包含進來.

像這樣:

       #include <iostream> using namespace std;

  第三種, 條件編譯

像這樣:

       #ifndef _LIBCPP_HAS_NO_STDIN

       extern _LIBCPP_FUNC_VIS istream cin;

       extern _LIBCPP_FUNC_VIS wistream wcin;

       #endif

一般用於系統控制, 跟我們程式碼中的if..else是一樣的, 用得比較少

 

8. 程式碼書寫基本規範

  a. 括號緊跟在函數名後面, 我們見到名字加括號, 很直觀的知道這是一個函數

  b. for, while等關鍵詞和括號之間要用一個空格隔開

  c. 運算子左右各留一個空格

  d. 在參數列表中, 每個逗號後面加空格, 這樣顯得更清晰

  e. 合理新增空行和註釋, 讓程式碼以組的形式和功能塊的形式呈現, 這樣就更完美啦!

       我們每每在接觸一門新的語言的時候, 關注點總是放在關鍵字, 語法結構, 函數(方法)使用上, 而我們學習一個新的語言要學會得應該是基本素養和基本概念, 以及語言當中所包含的自己所特有的思想。

       如果你也很想學程式設計,可以來我的C語言/C++程式設計學習基地【點選進入】!

       還有(原始碼,零基礎教學,專案實戰教學視訊)!帶你入個門還是簡簡單單啦~

       涉及:遊戲開發、課程設計、常用軟件開發、程式設計基礎知識、駭客等等...