1 基本內建型別
bool 未知大小
char 8位
wchar_t short int 16位
long 32位
float 6位有效數字 1個位元組 大部分情況不夠用
double long double 10位有效數字 2個位元組或更多
==大概多用int uint double. 金錢資料
2 字面常量
整形只有 int long
浮點型別 float = 1.2f double = 3.14e0f
字串常量; "hello" (位了相容c 自動在最後新增乙個空字元)
可使用 \ 來 處理多行
std::cou\
t << "hello " << endl; 等價於 std::cout << "hello " << endl;
3 變數
變數提供了 程式可以操作的 有名字的 儲存區
變數都有型別,型別決定了記憶體的大小和布局,值得範圍和可用在該型別上的操作集.
左值: lvalue 可以出現在賦值語句的左邊或右邊.
右值:rvalue 只能出現在賦值語句的右邊.
變數是左值, 常量是右值.
變數名 = 識別符號 c++是區分大小寫的. 關鍵字也是不可以做變數名的.
初始化:
1 複製初始化 int ival = 1024;
2 直接初始化 int ival(1024);
複製初始化 不等於 賦值. 底層呼叫的是不一樣的.
函式體外的變數都初始化為0 函式內部的不初始化
4 作用域
定義在函式外部的叫 全域性作用域
函式內叫 區域性作用域
for語句內 叫語句作用域
5 const 限定符
定以後不可修改
6 引用 &
引用就是物件的另乙個名字 必須用同型別來初始化
const 引用 可以讀取 不可修改的物件.
7 typedef
隱藏特定型別的實現 簡化複雜的型別定義
8 列舉 enum
預設第乙個列舉成員賦值為0 後面比前乙個大1
列舉成員是常量 可以不唯一
9 類定義類來實現自定義型別 string ostream 都是類
類定義後的分號不要忘記
類: 成員函式 + 資料成員
每個類都定義了它自己的作用域
class 和 struct 區別就是 預設訪問級別
因為支援分別編譯
分為標頭檔案:用於宣告
實現檔案:可多份 定義函式
10 預處理器
#include 來包含檔案 <>標準標頭檔案 ""非系統標頭檔案
為了只包含乙份 使用 #ifndef #define #endif 來自定義變數
access label-訪問標號 address-位址 arithmetic type-算數型別 array-陣列 byte-位元組 compound type-復合型別 const reference-const引用 constant expression-常量表示式
constructor-建構函式 copy-initialization-複製初始化 declaration-宣告 definition-定義 direct initialization-直接初始化 enumeration-列舉 global scope-全域性作用域 identifier-識別符號
C Primer基礎部分總結(2)
東陽的學習記錄 給空語句加上注釋 多餘的空語句並非總是無害的 switch語句中的case標籤必須是整型常量表示式 任何兩個case標籤的值不能相同 case分支後若沒有break,最好注釋說明 如果某個case分支需要定義區域性變數,請把區域性變數置於內 為了防止出現未初始化就使用的情況 whil...
《C Primer》學習之列舉型別和預編譯
列舉型別 以前很少用到,以為直接定義一些狀態變數就行了,幹嘛用列舉啊。最近看了一些程式 覺得列舉確實在有些地方方便簡潔多了,所以就研究總結了一下。列舉用enum關鍵字來定義基本型別是enum xxtype xxa,xxb,xxc 形式很簡單,但是有幾個地方很容易讓人忽略。1.列舉的元素不是變數,是常...
C Primer第2章 變數和基本型別
c 定義了一套包括算術型別和空型別在內的基本資料型別。算術型別分為兩類 整型和浮點型。算術型別的尺寸在不同機器上有所差別。型別含義 最小尺寸常見 bool 布林型別 未定義 char 字元8位 wchar t 寬字元16位 char16 t unicode字元 16位 char32 t unicod...