C PRIMER之2 基礎型別和變數

2021-06-26 18:18:01 字數 1703 閱讀 4292

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...