C primer plus筆記整理 03

2021-07-14 14:08:29 字數 1704 閱讀 7554

引入這個標頭檔案可以檢視系統支援的字符集的情況,因為其中包含了一些資訊如:#define int_max 2147483647…..等等,這個表示int型別的最大表示範圍是-2147483648 ~~ 2147483647 的總共2^32個數。

int wrens(123);

//這樣的初始化唯一需要注意的是與函式區分,萬一你有乙個函式名和這個變數名字相同,而且還是接受int型引數....

也可以如下初始化:

int wrens;

int wrens2 = ;

//這顯得正經一點,不會和函式混淆

//但這是c++11中提出的新的做法,在g++下編譯時要加上 -std=c++11或 -std=gnu++11,否則會給你warning

這一點我之前寫過一片關於浮點型在計算機中儲存的方法,可以參考那篇文章:

這裡我們討論c++對於浮點數的一些規定:

float:至少32位

double:至少48位

long double:80,96或128位

浮點數在計算機中是分成三部分的:符號位+階碼位+有效數字位

以32位float為例子就是:符號1位:0/1 + 階碼位8位:-127~128 + 有效數字位23位:2^23

所以float能表示的數的範圍就是-(2^128) ~~ 2^128,又因為科學表示法總是1.***x,後面的***x有效數字用2^23中的數來表示,總共能精確到7位。也就是精確到7位的-(2^128) ~~ 2^128 中的數。

總結:

所以說要表示很大或者很小的數,就使用浮點型,因為是以指數來計算的。比如超過int型大小的數,像1000000000000000000000就可以這樣賦值,float temp = 1000000000000000000000.0,輸出它的話就是:1e+21

浮點數的優點:

1.可以表示整數之間的值

2.可以表示的範圍大的多

缺點:1.運算速度比整數慢,並且精度將降低

這裡知識點比較多,乙個個說。

1.未初始化的陣列,其值為以前駐留在該記憶體單元中的值。

所以一般使用陣列的時候,最好先進行一次清空,memset函式,自行man幫助。

2.注意雙引號和單引號的使用

char

var = "s";

//這樣的賦值語句是錯誤的

//1.首先"s"是乙個有效字元為s,佔位符為'\0'的字串,而var只是表示乙個單字元

//2.其次"s"由於c++中陣列自動隱式轉換的特點,它表示的是指向第乙個元素的指標了,也就是它表示的是第乙個元素的位址了

//應該這麼使用

char* var = "str";

cout<<*var

//輸出:s

3.兩個常用的陣列相關函式

sizeof() — 返回整個陣列的長度

strlen() — 返回儲存在陣列中的(有效)字串長度,除去』\0』

char ptr[4] = "str";

cout

<

有什麼錯誤還請指出,謝謝

C primer plus筆記整理 04

常用的一些輸入方法 1.cin 2.cin.get 3.cin.getline 4.getline 5.getchar 這是最常用的輸入,可以同時接收幾個多個引數,並且它會自動過濾掉空白字元 tab,空格,換行 這也會使得多出來的輸入留在輸入流中,它只能截斷到需要的對應個數的引數 int a,b c...

C primer plus筆記整理 05

允許指定占用特定位數的結構成員 官方說法 類和結構可包含比整型型別占用更少儲存空間的成員,這些成員被指定為位域 語法 declarator constant expression 注意 1.其中declarator 是在程式中訪問的成員的名稱,它必須是整型型別 包括列舉型別 2.常數表示式指定結構中...

c primer plus學習筆記

1.變數名命名規則 重要的 1 有含義 2 只能用字母字元 數字和下劃線 3 第乙個字元不能是數字 4 區分大小寫 5 不能用c 關鍵字 2.整型 1 無符合型別不能表負值 2 char short 16 int short long 32,int 和longlong 64,long c 11 寬度...