官术网_书友最值得收藏!

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是一個非常“整”的數了吧!

主站蜘蛛池模板: 宁国市| 潢川县| 都江堰市| 虎林市| 沂水县| 定陶县| 莒南县| 繁峙县| 秭归县| 郁南县| 襄樊市| 嵊州市| 尚义县| 综艺| 华池县| 额尔古纳市| 长乐市| 扎囊县| 虞城县| 西乌珠穆沁旗| 左云县| 南江县| 柳林县| 大城县| 敦化市| 洛扎县| 石泉县| 麻城市| 广东省| 玉田县| 大余县| 井研县| 杂多县| 阿鲁科尔沁旗| 浦城县| 开阳县| 宜章县| 邵阳市| 东海县| 淄博市| 高邑县|