1. 程式人生 > >總結:《C++ primer》中文版——第二章 變數和基本型別

總結:《C++ primer》中文版——第二章 變數和基本型別

2.1.基本資料型別:整型(boolean,char,int)浮點型(float(6位小數),double(10位小數),long double(10位小數)),void(1.表示函式或過程無返回值;2.構造萬能指標型別void*,表示指向型別不限或型別不可預知的物件。)

float(一個字4位元組),double(兩個字)long double(三或四個字)

char  s[] = "張三";//陣列中有5個元素,一個漢字佔兩個元素,且'\0'佔一個元素。

不同的編譯環境給int分配的位元組不確定。用sizeof(int)可以進行判斷。通常編寫的程式不應該依賴機器的相關行為。比如int的問題。

2.2.自定義:

       列舉(enum):--enum color {a, b, c};列舉型別有預設值,它們依次為 0,1,2,3.....例如:預設的,a = 0,b = 1,c = 2,.....。

                           --列舉型別可以進行關係運算。

                           --數值不能直接賦值給列舉型別變數,如果需要將整數賦值給列舉型別變數,應該進行強制型別轉換。

例如:

enum  game_result {WIN,LOSE,TIE,CANCLE};

int main()

{

    game_result result;//宣告game_result型別變數

    enum game_result omit = CANCLE;//用enum宣告game_result型別變數,也可不加enum;

int count;

for(count = WIN;count <= CANCLE;count++)

    result = (game_result)count;//強制型別轉換

     。。。。。。。。。。

     。。。。。。。。。。

}

       陣列

       指標

       引用

       類(class)

       結構體(struct)

       聯合型別(union)

2.3.地址+型別 :可以確定元素的值;

2.4.其實關於溢位問題,使用截斷的方法就能很好的解釋了。

對於unsigned型別,編譯器必須調整越界值使其滿足要求。(編譯環境給出warning)

例如:8bit unsigned char 取值範圍是0-255,若將336儲存到相應的單元中,336-256=80,實際賦值是80.

C++允許將負數賦值給unsigned型別

例如:將-1儲存到8bit unsigned char中255是-1對256求模之後的值。故儲存到相應單元的值是255;

對於signed型別,賦值時時取該值對型別取值數目求模後的值。

2.5.資料型別的使用基本原則

char雖然表示整數 ,但是常用來儲存字元,不用來計算。

整型:很少用short(截斷),一般用int或long int(兩者選哪個根據具體情況需要)

浮點數:計算用double;double比float型別造成的損失可以忽略不計;double 比float計算快的多

             long double 提供的精度沒有必要,而且承擔額外運算代價。

2.6.物件是記憶體中有型別的區域。

2.7.命名習慣://最重要的是保持一致

字母數字下劃線組成,變數名小寫。駝峰命名法。不能包含兩個連續的下劃線,不能以數字開頭。可以以下劃線開頭,但有些識別符號(在函式外定義的識別符號)不能以下劃線開頭,不能以下劃線開頭後面緊跟一個大寫字母。有些編譯系統給標示符限定長度。所以建議不要超過8個字元。

2.8.L'a'能夠得到wchar_t型別的寬字元字面值(即常量)。

2.9.計算2的10次方

方法一:

 int value = 2;

 int pow = 10;

 int result = 1;

for(int cnt = 1; cnt <10;cnt++)

{

    result *= value;

}

方法二:#include<cmath>

          power(2,10);

兩種方法比2*2*2*2........的蠻力計算好很多。

2.10.初始化

建立變數並給它賦值

直接初始化:int value (1024);

複製初始化:int value = 1024;//擦除物件的當前值並用新值替代。

兩種方法也只有在編寫非常複雜的類中凸現出來。直接初始化語法更靈活且效率更高。

2.11.


相關推薦

c++ primer 筆記第二變數基本型別(二)

2.4 const限定符 const定義的變數不能改變,因此const變數必須初始化。可以使用表示式初始化。 預設狀態下const物件僅在檔案內有效。 可以在宣告和定義都加extern。 練習2.26 (a) 不合法,未初始化 (b) 合法 (c) 合法 (d) 不合

總結C++ primer中文版——第二 變數基本型別

2.1.基本資料型別:整型(boolean,char,int)浮點型(float(6位小數),double(10位小數),long double(10位小數)),void(1.表示函式或過程無返回值;2.構造萬能指標型別void*,表示指向型別不限或型別不可預知的物件。) float(一個字4位元組),do

c++ primer 第2 變數基本型別

幾個小問題: (1)c++語言是什麼時候檢查資料型別的?(這麼提問好像不合適,但是又不知道怎麼表達,先這樣吧) 一些語言,如smalltalk和python等,是在程式執行的時候檢查資料型別的;與之相反,c++是一種靜態資料型別語言,它的型別檢查發生在編譯時。 (2)i

C++ Primer中文版(第五版)--第二 變數基本型別

   資料型別是程式的基礎,它告訴我們資料的意義以及我們能在資料上執行的操作      C++定義了幾種基本內建型別:字元、整型、浮點數等,同時程式設計師可以自定義資料型別,另外C++ 標準庫還定義了一些更加複雜的資料型別,如可變長字串和向量。 2.1 基本內建型別

c++primer第二變數基本型別

2.1 基本內建型別 2.1.1算術型別 算術型別分兩類:整型(integral type)和浮點型。 算術型別的尺寸在不同機器上有所差別。某一類所佔的位元數不同,它所能表示的資料範圍也不樣。 型別 最小尺寸

C++ Primer》讀書筆記-第二 變數基本型別

   第一篇文章寫完後收到了很多同學的後臺留言,有鼓勵的,也有提出建議的,還有說錯別字的,每一條都一一回復了,當然提出建議的大都是說排版問題,現在已經換到MarkDown編輯器了,大家湊合著看就行了,肯定不影響閱讀了,至於錯別字的,哈哈,你懂就行。   &nbs

C++ Primer 【第四版】第二 變數基本型別

習題2.1 int、long 和short 型別之間有什麼差別? 【解答】 它們的最小儲存空間不同,分別為16 位、32 位和16 位。一般而言,short 型別為半個機器字(word)長,int 型別為一個機器字長,而long 型別為一個或兩個機器字長(在32 位機器

c++ primer 第五版學習筆記-第二 變數基本型別

本文為轉載,出處:https://blog.csdn.net/libin1105/article/details/48157115                              https://blog.csdn.net/sunhero2010/article/d

C++ Primer 第二 變數基本型別 筆記

第二章 變數和基本型別 筆記 2.1 基本內建型別 ——C++定義了一組整數、浮點數、單個字元和布林值的算術型別,另外還定義了一種稱為void的特殊型別。void型別沒有對應的值,僅用在有有限的一些

C++ primer學習筆記——第二 變數基本型別

一、基本內建型別 C++基本內建型別包括算術型別和空型別。 1.算術型別 算術型別分為兩類:整形(包括字元和布林型在內)和浮點型 bool(布林型)                         長度(位元組):1          取值範圍:false,true

C++Primer第五版 習題答案 第二 變數基本型別(variables and basic types)

2.1 C++語言規定一個int至少和一個short一樣大,一個long至少和一個int一樣大,一個long long至少和一個long一樣大。每個的最小尺寸分別為:short,16位;int,16位;long,32位;long long,64位。 除去布林

第二 變數基本型別

算數型別 bool char wchar_t char16_t char32_t short int long long long float double long double 除去布林型和擴充套件字元型之外,其他整形可以劃分為帶符號(signed)和無符號

C++ Primer 隨筆 Chapter 2 變數基本型別

2.1C++內建型別 C++ 算術型別 型別 含義 最小儲存空間(隨機器不同而不同) bool 布林型 --- char 字元型 8位

C++Primer學習第2 變數基本型別

第2章 變數和基本型別2.1 基本內建型別2.2 字面值常量2.3 變數2.4 const限定符2.5 引用2.6 typedef 名字2.7 列舉2.8 類型別2.9 編寫自己的標頭檔案 2.1 基本內建型別2.1.1 字元型別: char 和 wchar_t , char

C++學習筆記——第二變數資料型別

目標: 1.掌握C++中的常量,變數及其定義 2.掌握C++中資料型別及其轉換 3.熟練掌握在C++程式中如何宣告及使用常量,變數和資料型別 本節之後選擇用visual studio進行程式設計 教程參考:https://blog.csdn.net/luoweifu/articl

Primer C++】第二變數基本型別

使用列表初始化初始化內建型別時,若存在丟失資訊的風險,編譯器將會報錯: long double ld = 3.1415926536; int b = { ld }; 預設初始化 變數的預設值與變數型別和變數所處的位置有關, 定義於任何函式之外的變數被初始化

c++ primer第二 const限定符

1.const物件的初始化:有時我們希望定義這樣一種變數,它的值不能夠被改變。此時我們可以用const限定符。由於const物件一旦建立之後值不能夠再改變,因此const物件必須初始化。如果用一個物件去初始化另一個物件,那麼它們是不是const都無所謂。 2.預設狀態下,c

c++ primer plus 第二的筆記

1.用cout進行輸出,cin進行輸入 cout<<“Come up and C++ me some time”<<endl; "<<"為插入運算子,endl表示換行,依然可以用\n; cin>>a; ">>"為抽取運算子。標頭檔案

python 程式設計從入門到實踐 第二 變數簡單資料型別

-- 變數  message = "hello python word" print(message) -- 練習  vi simple_message.py #!/usr

effective java中文版 第二 建立銷燬物件

第1條:考慮用靜態工廠方法替代構造器 如下方法將boolean基本型別值轉換為了一個Boolean物件引用 public static Boolean valueOf(boolean b){ return b ?Boolean.TRUE:Boolean.FALSE; } 靜態