c primer plus 讀書筆記1

2021-06-14 04:20:42 字數 1330 閱讀 1965

c是一種融合了控制特性的語言,是一種快速、高效、緊湊、可移植性的語言。

使用c語言的7個步驟:定義程式目標、設計程式、編寫**、編譯程式、執行程式、測試和除錯程式、維護和修改程式。

c程式是由乙個或多個函式組成,乙個c程式必須包含乙個main()函式(函式前面必須有乙個資料型別不能使用void),每個c語句都是乙個針對計算機的指令。一門語言的語法是一套規則,語句的語義就是他所表達的意思,編譯器可以發現語法的錯誤,但語義錯誤只能從程式的行為上表現出來。

關鍵字是c語言的詞彙。

long和short只是為適用不同的機器型別而設定的,c僅保證short型別不會比int長,long型別不會比int型別短,longlong型別不會比long型別短。

當整數溢位時會回歸到起始值從新計數。

_bool型別,只用true和false,c 原則上只是用一位來儲存資料。

可移植的型別:inttypes.h    如:int16_t  表示乙個16位有符號整數型別。

浮點數型別:float,double,long double ;儲存方案:規定float至少有6位有效數字,指數範圍為-37~37.double 至少有13位有效數字,指數範圍為-308~308;

浮點數常量的預設型別為double型,浮點數型別的下溢:使尾數向右移一位。

1.float和double的範圍是由指數的位數來決定的。

float的指數字有8位,而double的指數字有11位,分布如下:

float:

1bit(符號位) 8bits(指數字) 23bits(尾數字)

double:

1bit(符號位) 11bits(指數字) 52bits(尾數字)

於是,float的指數範圍為-127~+128,而double的指數範圍為-1023~+1024,並且指數字是按補碼的形式來劃分的。

其中負指數決定了浮點數所能表達的絕對值最小的非零數;而正指數決定了浮點數所能表達的絕對值最大的數,也即決定了浮點數的取值範圍。

float的範圍為-2^128 ~ +2^128,也即-3.40e+38 ~ +3.40e+38;double的範圍為-2^1024 ~ +2^1024,也即-1.79e+308 ~ +1.79e+308。

2.  精度

float和double的精度是由尾數的位數來決定的。浮點數在記憶體中是按科學計數法來儲存的,其整數部分始終是乙個隱含著的「1」,由於它是不變的,故不能對精度造成影響。

float:2^23 = 8388608,一共七位,這意味著最多能有7位有效數字,但絕對能保證的為6位,也即float的精度為6~7位有效數字;

double:2^52 = 4503599627370496,一共16位,同理,double的精度為15~16位。

C primer plus 讀書筆記 1

1.c的可移植性很高,在乙個系統上編寫的c程式稍作修改或不經修改就可以在其他系統上執行。2.程式設計的步驟 1 定義程式的目標 2 設計程式 程式如何完成目標,使用者介面如何,程式怎樣組織和執行,如何表達和處理資料,考慮魯棒性 例如使用者輸入失誤怎樣處理 邊界的處理.3 編寫 可以在文件txt編寫,...

C primer plus 讀書筆記(3)

1.系統預設將非整數儲存為double型,所以在計算時會出現將double型轉為float型的警告。2.f float型和double型 d int型 o 八進位制整數型 o 加上 號會有字首0 x 十六進製制整數型 x 加上 號會有字首0x u unsigned int ld long int l...

C primer plus讀書筆記(二)

運算子過載 運算子過載的一般格式 operatorop args 呼叫形式如下,假設定義了加法運算子。a b c a b.operator c 以下運算子只能通過成員函式過載 友元函式 友元有3種,分別是 友元函式 友元類 友元成員函式。通過讓函式成為類的友元,可以賦予該函式與類成員函式相同的訪問許...