一. 本篇要學習的內容和知識結構概覽 二. 知識點逐條分析 1. 混合型語言 C++源文件的文件擴展名為.cpp, 也就是c plus plus的簡寫, 在該文件里有且只能有一個名為main的主函數, 它作為程式的入口. 因為這個主函數的存在, 所以C++被稱為混合型語言. 2. C++語言當中的註 ...
一. 本篇要學習的內容和知識結構概覽
二. 知識點逐條分析
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函數之前, 這樣就不用聲明啦!
像這樣:
如果函數不需要返回值, 可以用void標識, 一旦使用void, 函數體不再使用return語句, 但是可以使用return;直接結束函數的執行, 返回到調用函數.
像這樣:
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. 預處理有有一種: 巨集定義, 條件編譯, 文件包含
第一種, 巨集定義: 在編譯期間, 將出現巨集的地方替換為指定代碼
第二種, 文件包含: 一個文件把另一個文件的內容包含進來.
像這樣:
第三種, 條件編譯
像這樣:
一般用於系統控制, 跟我們代碼中的if..else是一樣的, 用得比較少
8. 代碼書寫基本規範
a. 括弧緊跟在函數名後面, 我們見到名字加括弧, 很直觀的知道這是一個函數
b. for, while等關鍵詞和括弧之間要用一個空格隔開
c. 運算符左右各留一個空格
d. 在參數列表中, 每個逗號後面加空格, 這樣顯得更清晰
e. 合理添加空行和註釋, 讓代碼以組的形式和功能塊的形式呈現, 這樣就更完美啦!
我們每每在接觸一門新的語言的時候, 關註點總是放在關鍵字, 語法結構, 函數(方法)使用上, 而我們學習一個新的語言要學會得應該是基本素養和基本概念, 以及語言當中所包含的自己所特有的思想. 學會對比, 學會思考這門語言的優勢和不足, 相信大家一定會有所收穫, 而我也在向這方面所努力, 希望大家一塊來討論這門語言和或者其它的語言, 懂得分享才能更進一步!
自學C/C++編程難度很大,不妨和一些志同道合的小伙伴一起學習成長!
C語言C++編程學習交流圈子,【點擊進入】微信公眾號:C語言編程學習基地
有一些源碼和資料分享,歡迎轉行也學習編程的伙伴,和大家一起交流成長會比自己琢磨更快哦!