- 輕松學編程:中小學C++零基礎入門
- 楊博洋 王建元 張登奎主編
- 2052字
- 2022-07-29 13:56:47
1.3 變量與賦值
引入
蒜頭君:在做一些復雜的運算時,通常需要將當前的數值臨時保存起來,在后面的表達式里繼續參與計算,那么C++有什么方式可以讓我將數值臨時存儲嗎?
花椰妹:快來試試用變量吧!
講解
變量(variables)是C++語言中非常重要的概念,可以將它看作一個“盒子”,每個“盒子”中都可以儲存一定的數值。這個盒子本身有兩個重要的屬性:變量類型(variable type)和變量名(variable name)。
1.變量類型
它說明了每個“盒子”是多大的,約定裝什么樣的東西。“盒子”有許多不同的類型,如“盒子”可以是只能裝下蘋果的小盒子,也可以是裝下西瓜的大盒子等。“盒子”的類型一旦創建就不能修改,但“盒子”里的數值是可以改變的。
2.變量名
它說明了可以怎么稱呼這個“盒子”,每個“盒子”都有一個屬于自己的變量名。同樣地,變量名一旦創建,以后也不能修改(注意,變量名必須以字母或下畫線_開頭,中間只能包含字母、_和數字)。
圖1.1所示的這個“盒子”是一個名為number的int類型變量,它的變量值為2。int類型表示的是整數(integer),通常占4字節大小。

圖1.1 “盒子”
引入
蒜頭君:那么我要如何使用int類型的變量呢?
花椰妹:通過聲明語句和賦值語句對int類型的變量進行定義之后就可以使用了。
講解
變量有兩個重要屬性:變量類型和變量名。這兩個屬性都是在聲明語句中進行定義的。例如,想聲明一個類型為int、變量名為number的變量,就可以采用如下的方法:
int number;
聲明語句就是由變量類型、變量名及分號組成的。int表示這個變量的類型,number表示這個變量的名稱。
在賦值語句中要學習一個符號——=。請注意,在這里不叫它“等于號”,而叫它“賦值運算符”,它可以將它右側的一個值賦值給左側的一個變量,讓變量這個“盒子”里面裝上右側的值。例如:
number = 2;
請注意,在變量的聲明語句中可以直接對變量進行賦值,可以采用如下的寫法:
int number = 2;
同一個變量名在整個代碼段中只能被聲明一次,在進行聲明之后,可以進行多次的賦值操作,并且變量在賦值之后才能參與其他運算或輸出。在輸出變量的值時,只需要在cout<<后直接跟變量名就可以了,不需要再像前面一樣在代碼中加雙引號。例如:
cout << number << endl;
示例代碼

通過剛才的幾行代碼,就完成了圖1.2所示的一個過程。

圖1.2 賦值過程
引入
蒜頭君:C++中只能對整數類型進行運算嗎?
花椰妹:當然不是了,如果需要用變量存儲非整數的數值,如3.5這樣的小數,可以采用浮點數類型。
講解
在進行除法運算時,有時候會出現不能整除的情況,在數學上通常采用小數來表示,如3÷2=1.5,C++中通常采用浮點類型變量來表示這類小數。
C++中有兩種浮點類型,分別為float類型(單精度浮點數類型)和double類型(雙精度浮點數類型)。那么這兩種類型有什么區別呢?
double類型比float類型要大一些,它能夠表示的數據范圍也遠遠大于float類型,如圖1.3所示。在初學C++時盡可能都采用高精度double類型來存儲小數。

圖1.3 兩種浮點類型
練習
設計一個程序來計算正方形的周長和面積。用double類型定義一個變量length,用來存儲正方形的邊長,然后輸出當邊長為2.5時,這個正方形的周長和面積。
講解
首先寫出C++的基本代碼框架:

在第四行聲明一個double類型的變量length并將2.5賦值給length,然后通過正方形的周長公式和面積公式,輸出這兩個表達式的值就可以了。聰明的你,思考一下如何輸出正方形的周長和面積。
正方形的周長公式:4×length。
正方形的面積公式:length×length。
示例代碼

知識點
(1)變量:能儲存計算結果或能表示值的抽象概念。變量類型是存儲的數據類型;變量名是以字母或下畫線開頭的字母、數字和下畫線的組合,為了便于記憶通常會采用單詞或縮寫來表示;變量值是變量當前存儲的數值。
(2)int:整數類型。整數的英文(integer)縮寫。在一般的計算機中,一個int占用4字節,即32比特,數據范圍為-2147483648~+2147483647。
(3)float:單精度浮點數類型。其占用4字節,包括一個符號位、一個8位指數和一個23位尾數,數據范圍為-3.4×1038~+3.4×1038,通常包含7位有效數字。
(4)double:雙精度浮點數類型。其占用8字節,包括一個8位指數和一個23位尾數,數據范圍為-1.8×10308~1.8×10308,通常包含15位有效數字。
(5)聲明:當一個計算機程序需要調用內存空間時,對內存發出的“占位”指令稱為“聲明”。在C++程序中,所有變量在使用之前都必須先聲明。
(6)賦值:將一個數值復制給變量的過程。賦值符號“=”的意義是將右側的數值復制給左側的變量。
拓展閱讀
1024的故事
蒜頭君成為了蒜廠的一名光榮的程序員,每天和程序相伴。一天,小土豆找蒜頭君借點錢。
小土豆:蒜頭君,能不能借我點錢?
蒜頭君:借多少?
小土豆:一千塊就夠啦。
蒜頭君:喏,給你湊個整,1024元。
現在問題來了,為什么1000不整,而1024整呢?在計算機中,1024是一個非常重要的數字。由于計算機中都是以二進制存儲數據的,因此,數據的大小一般都以2的某次方為單位。
回憶之前操作計算機的經歷,是不是對KB、MB、GB這些文件大小的單位有印象呢?在計算機中,數據大小的最小單位是字節(Byte),一般縮寫為B。以下是常見大小單位之間的換算規則:
1KB=1024B
1MB=1024KB
1GB=1024MB
而1024剛好是2的10次方,并且恰好還和10的3次方非常接近,所以就作為數據大小的換算因數了。現在,你知道為什么對于程序員來說1024是一個非常“整”的數了吧!