《C primer》第三章讀書筆記

2021-09-13 02:00:24 字數 2963 閱讀 6615

c++ primer 第三章

物件導向程式設計(oop)的本質是設計並擴充套件自己的資料型別。

內建的c++資料型別分為基本型別和復合型別。

基本型別分為整數和浮點數。

復合型別分為陣列、字串、指標和結構。

c++通過使用變數來儲存資料。

簡單變數

為把資訊儲存在計算機中,程式必須記錄三個基本屬性:

資訊將儲存在**

要儲存什麼值

儲存何種型別的資訊

1 變數名

c++提倡使用一種有含義的變數名。在命名變數時必須遵守以下規則:

在名稱中只能使用字母字元、數字和下劃線。

名稱的第乙個字元不能是數字。

區分大寫字母和小寫字母。

不能將c++關鍵字作為名稱。

以兩個下劃線和下劃線和大寫字母大頭的名稱被保留給實現(編譯器及其使用的資源)使用。以乙個下劃線開頭的名稱被保留給實現,用作全域性識別符號。

c++對名稱的長度沒有限制,名稱中所有的字元都有意義,但有些平台長度有限制。

最後一點和c99標準中有所不同,c99標準只保證名稱的前63個字元有意義。

2 整型

整型有short、int、long、long long四種型別。

注:vc++6.0不支援long long型

short至少16位;

int至少與short一樣;

long至少32位,且至少與int一樣長;

long long 至少64位,且至少與long一樣長。

不同的作業系統int的長度是不同的。

要知道系統中整型的最大長度,可以在程式中使用c++工具進行檢查,sizeof可以實現該功能,sizeof返回到的是型別或變數的(位元組)長度。

climits(老式:limits.h)包含了關於整型限制的資訊。

climits中的符號變數:

1)變數的初始化:

c++11中變數的初始化方式(可用於陣列和結構,c98中也可用於單值變數):

int ham=;

或者可以是:

int emus

或者也可以是:

int roc={}; //roc=0

2) c++確定常量型別的方法

在int為16位,long為32位的系統上,20000為int型,40000為long型,3000000000為long long型。

通過字尾也可確定常量的型別,l,l代表long型;ll,ll代表long long型;還有ull,ull,ul,lu,lu,ul等。通常使用大寫,以免l和1混淆。

3)char型別:字元和小整數

char是專為儲存字元而設計的。char是另一種整型。他足夠長,能夠表示計算機系統中所有的基本符號。

在美國,最常用的字符集是ascii字符集。

c++使用的是其主機系統的編碼——例如ibm大型機使用ebcdic編碼。

c++支援的寬字元型別可以儲存更多的值,如國際unicode字符集使用的值。

成員函式cout.put()

函式cout.put()是乙個重要的c++oop概念——成員函式的乙個例子。

類定義了如何表示和控制資料。成員函式歸類所有,描述了操縱類資料的方法。

比如說類ostream有乙個put()成員函式用來輸出字元。只能通過類的特定物件(比如cout物件)來使用成員函式。要通過物件來使用成員函式必須通過句點(.)將物件名和函式名稱(put())連線起來。句點被稱為成員運算子。cout.put()表示通過類物件cout來使用函式put()。

char字面值**義字元)

每個字元有對應乙個ascii值。

有些字元不能很直接通過鍵盤輸入到程式中。例如回車。同時雙引號不能包含在字串中。為此,c++提供了一種特殊的表示方法——轉義序列。

2 const限定符

c++處理符號常量的辦法:使用const定義。

例:const int month=12;

const可以定義整型和浮點型等多種資料型別的符號常量。

這樣就可以在程式中使用常量month了。

常量如果被初始化後,其值是固定的,是無法修改的,若未給其賦值,則其值是位置的也是不可改變的。

常量的標記方法:

首字母大寫:month

以k打頭:kmonth

其他……

3 浮點數

c++第二種基本資料型別:浮點數。浮點數能夠用來表示帶小數部分的數字。

計算機分兩部分來儲存浮點數。一部分用來表示值,一部分進行方法和縮小。如:34.1=0.341*100;真正的儲存是以二進位制進行縮放的。

浮點數的書寫

浮點數的書寫有兩種格式。

第一種為常用的標準小數法:

12.34、-1010.121、-0.0000001;

第二種為e表示法:

2.14e+12、5.12e-12;

e和e均為可選的。

浮點型別

c++有三種浮點型別:float、double、long double。

有效位數的要求:float至少32位。double至少48位,且不少於float。這三種型別的有效位數可以一樣多。

通常時,float為32位,double為64位,long double為80、96或128位。另外,這3種型別的指數範圍至少是-37到37。

注:cout顯示時會刪除結尾的0顯示。

浮點常量

字尾加f或f。

預設是double型。

4 c++算數運算子

c++提供了五種基本算數計算:加法、減法、乘法、除法和求模。每種計算均有兩個運算元。

注:如果除法的兩個運算元均為整數,則為整除。

求模的兩個運算元必須均為整數,否則會報錯。

型別轉換

c++自動進行的型別轉換:

將一種算術型別的值付給另一種算數型別的變數時,c++將對值進行轉換。

表示式中包含不同的型別時,c++將對值進行轉化。

表示式中包含不同的型別時,c++將對值進行轉化。

將引數傳遞給函式時,c++將對值進行轉換。

C Primer 讀書筆記 第三章

2010 09 14 19 58 68人閱讀收藏 舉報讀書 c string 第 章 標準庫型別 標準庫bitset型別 以下下標和位數均為 size t 型 定義在標頭檔案 cstddef 中,unsigned 整型 bitset 是一種類模板,用於儲存位集,並提供測位和置位操作 定義和初始化 b...

C Primer 讀書筆記 第三章

第 章 標準庫型別 標準庫bitset型別 以下下標和位數均為 size t 型 定義在標頭檔案 cstddef 中,unsigned 整型 bitset 是一種類模板,用於儲存位集,並提供測位和置位操作 定義和初始化 bitset 在定義時需要以常量表示式的形式提供位數n 初始化時引數提供位數不足...

C Primer讀書筆記第三章 上

最近看了很多大牛的部落格,發現了其實要提公升自己的水平還是要踏實的打好自己的基本功,所以選擇了c primer作為自己的入門書籍。不過讀書總是要記筆記的嘛,要不然讀書就沒有了自己的作用。另外我發覺自己在看了一些東西雜七雜八的東西之後,發現c primer沒有那麼難了,很多東西其實就是講的很基礎的一點...