C++源文件的文件擴展名爲.cpp, 也就是c plus plus的簡寫, 在該文件裏有且只能有一個名爲main的主函數, 它做爲程序的入口. 由於這個主函數的存在, 因此C++被稱爲混合型語言.ios
第一種: 單行註釋, 從 // 開始到本行結束. 像這樣: // 下面的代碼是求最大值的安全
第二程: 多行註釋, 從 /* 開始到 */ 結束. 像這樣:bash
/* 函數
函數功能: 下面的代碼是用來求最大值的 學習
函數描述: 接收兩個整型參數, 返回它倆的最大值ui
*/spa
咱們在使用這兩個對象前, #include <iostream> 先引入這個頭文件, 而且使用命名空間: using namespace std; 以後就可使用這兩個對象啦!code
a. 輸入對象: cin, 輸出對象cout.cdn
像這樣:對象
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;
這兩個的效果是同樣的.
引入頭文件的方式有兩種, 系統頭文件用<>, 自定義頭文件用」」
第一種: 帶.h引入頭文件
#include <iostream.h>
第二種: 使用命名空間引入頭文件
#include <iostream>
using namespace std;
int a = 0;
int z(0);
上面兩句話是等價的, 做用: 申請內存空間, 給內存空間命名, 向這塊內存中寫入數據.
不過咱們通常都使用第一種方式.
函數及變量的使用規則: 先聲明, 後使用. 變量有時也能夠邊聲明, 邊使用.
咱們在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;
}
複製代碼
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是同樣的, 用得比較少
a. 括號緊跟在函數名後面, 咱們見到名字加括號, 很直觀的知道這是一個函數
b. for, while等關鍵詞和括號之間要用一個空格隔開
c. 運算符左右各留一個空格
d. 在參數列表中, 每一個逗號後面加空格, 這樣顯得更清晰
e. 合理添加空行和註釋, 讓代碼以組的形式和功能塊的形式呈現, 這樣就更完美啦!
咱們往往在接觸一門新的語言的時候, 關注點老是放在關鍵字, 語法結構, 函數(方法)使用上, 而咱們學習一個新的語言要學會得應該是基本素養和基本概念, 以及語言當中所包含的本身所特有的思想. 學會對比, 學會思考這門語言的優點和不足, 相信你們必定會有所收穫, 而我也在向這方面所努力, 但願你們一塊來討論這門語言和或者其它的語言, 懂得分享才能更進一步!