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

1.3 變量與賦值

引入

蒜頭君:在做一些復(fù)雜的運(yùn)算時(shí),通常需要將當(dāng)前的數(shù)值臨時(shí)保存起來(lái),在后面的表達(dá)式里繼續(xù)參與計(jì)算,那么C++有什么方式可以讓我將數(shù)值臨時(shí)存儲(chǔ)嗎?

花椰妹:快來(lái)試試用變量吧!

講解

變量(variables)是C++語(yǔ)言中非常重要的概念,可以將它看作一個(gè)“盒子”,每個(gè)“盒子”中都可以?xún)?chǔ)存一定的數(shù)值。這個(gè)盒子本身有兩個(gè)重要的屬性:變量類(lèi)型(variable type)和變量名(variable name)。

1.變量類(lèi)型

它說(shuō)明了每個(gè)“盒子”是多大的,約定裝什么樣的東西。“盒子”有許多不同的類(lèi)型,如“盒子”可以是只能裝下蘋(píng)果的小盒子,也可以是裝下西瓜的大盒子等。“盒子”的類(lèi)型一旦創(chuàng)建就不能修改,但“盒子”里的數(shù)值是可以改變的。

2.變量名

它說(shuō)明了可以怎么稱(chēng)呼這個(gè)“盒子”,每個(gè)“盒子”都有一個(gè)屬于自己的變量名。同樣地,變量名一旦創(chuàng)建,以后也不能修改(注意,變量名必須以字母或下畫(huà)線_開(kāi)頭,中間只能包含字母、_和數(shù)字)。

圖1.1所示的這個(gè)“盒子”是一個(gè)名為number的int類(lèi)型變量,它的變量值為2。int類(lèi)型表示的是整數(shù)(integer),通常占4字節(jié)大小。

圖1.1 “盒子”

引入

蒜頭君:那么我要如何使用int類(lèi)型的變量呢?

花椰妹:通過(guò)聲明語(yǔ)句和賦值語(yǔ)句對(duì)int類(lèi)型的變量進(jìn)行定義之后就可以使用了。

講解

變量有兩個(gè)重要屬性:變量類(lèi)型和變量名。這兩個(gè)屬性都是在聲明語(yǔ)句中進(jìn)行定義的。例如,想聲明一個(gè)類(lèi)型為int、變量名為number的變量,就可以采用如下的方法:

     int number;

聲明語(yǔ)句就是由變量類(lèi)型、變量名及分號(hào)組成的。int表示這個(gè)變量的類(lèi)型,number表示這個(gè)變量的名稱(chēng)。

在賦值語(yǔ)句中要學(xué)習(xí)一個(gè)符號(hào)——=。請(qǐng)注意,在這里不叫它“等于號(hào)”,而叫它“賦值運(yùn)算符”,它可以將它右側(cè)的一個(gè)值賦值給左側(cè)的一個(gè)變量,讓變量這個(gè)“盒子”里面裝上右側(cè)的值。例如:

     number = 2;

請(qǐng)注意,在變量的聲明語(yǔ)句中可以直接對(duì)變量進(jìn)行賦值,可以采用如下的寫(xiě)法:

     int number = 2;

同一個(gè)變量名在整個(gè)代碼段中只能被聲明一次,在進(jìn)行聲明之后,可以進(jìn)行多次的賦值操作,并且變量在賦值之后才能參與其他運(yùn)算或輸出。在輸出變量的值時(shí),只需要在cout<<后直接跟變量名就可以了,不需要再像前面一樣在代碼中加雙引號(hào)。例如:

     cout << number << endl;

示例代碼

通過(guò)剛才的幾行代碼,就完成了圖1.2所示的一個(gè)過(guò)程。

圖1.2 賦值過(guò)程

引入

蒜頭君:C++中只能對(duì)整數(shù)類(lèi)型進(jìn)行運(yùn)算嗎?

花椰妹:當(dāng)然不是了,如果需要用變量存儲(chǔ)非整數(shù)的數(shù)值,如3.5這樣的小數(shù),可以采用浮點(diǎn)數(shù)類(lèi)型。

講解

在進(jìn)行除法運(yùn)算時(shí),有時(shí)候會(huì)出現(xiàn)不能整除的情況,在數(shù)學(xué)上通常采用小數(shù)來(lái)表示,如3÷2=1.5,C++中通常采用浮點(diǎn)類(lèi)型變量來(lái)表示這類(lèi)小數(shù)。

C++中有兩種浮點(diǎn)類(lèi)型,分別為float類(lèi)型(單精度浮點(diǎn)數(shù)類(lèi)型)和double類(lèi)型(雙精度浮點(diǎn)數(shù)類(lèi)型)。那么這兩種類(lèi)型有什么區(qū)別呢?

double類(lèi)型比f(wàn)loat類(lèi)型要大一些,它能夠表示的數(shù)據(jù)范圍也遠(yuǎn)遠(yuǎn)大于float類(lèi)型,如圖1.3所示。在初學(xué)C++時(shí)盡可能都采用高精度double類(lèi)型來(lái)存儲(chǔ)小數(shù)。

圖1.3 兩種浮點(diǎn)類(lèi)型

練習(xí)

設(shè)計(jì)一個(gè)程序來(lái)計(jì)算正方形的周長(zhǎng)和面積。用double類(lèi)型定義一個(gè)變量length,用來(lái)存儲(chǔ)正方形的邊長(zhǎng),然后輸出當(dāng)邊長(zhǎng)為2.5時(shí),這個(gè)正方形的周長(zhǎng)和面積。

講解

首先寫(xiě)出C++的基本代碼框架:

在第四行聲明一個(gè)double類(lèi)型的變量length并將2.5賦值給length,然后通過(guò)正方形的周長(zhǎng)公式和面積公式,輸出這兩個(gè)表達(dá)式的值就可以了。聰明的你,思考一下如何輸出正方形的周長(zhǎng)和面積。

正方形的周長(zhǎng)公式:4×length。

正方形的面積公式:length×length。

示例代碼

知識(shí)點(diǎn)

(1)變量:能儲(chǔ)存計(jì)算結(jié)果或能表示值的抽象概念。變量類(lèi)型是存儲(chǔ)的數(shù)據(jù)類(lèi)型;變量名是以字母或下畫(huà)線開(kāi)頭的字母、數(shù)字和下畫(huà)線的組合,為了便于記憶通常會(huì)采用單詞或縮寫(xiě)來(lái)表示;變量值是變量當(dāng)前存儲(chǔ)的數(shù)值。

(2)int:整數(shù)類(lèi)型。整數(shù)的英文(integer)縮寫(xiě)。在一般的計(jì)算機(jī)中,一個(gè)int占用4字節(jié),即32比特,數(shù)據(jù)范圍為-2147483648~+2147483647。

(3)float:?jiǎn)尉雀↑c(diǎn)數(shù)類(lèi)型。其占用4字節(jié),包括一個(gè)符號(hào)位、一個(gè)8位指數(shù)和一個(gè)23位尾數(shù),數(shù)據(jù)范圍為-3.4×1038~+3.4×1038,通常包含7位有效數(shù)字。

(4)double:雙精度浮點(diǎn)數(shù)類(lèi)型。其占用8字節(jié),包括一個(gè)8位指數(shù)和一個(gè)23位尾數(shù),數(shù)據(jù)范圍為-1.8×10308~1.8×10308,通常包含15位有效數(shù)字。

(5)聲明:當(dāng)一個(gè)計(jì)算機(jī)程序需要調(diào)用內(nèi)存空間時(shí),對(duì)內(nèi)存發(fā)出的“占位”指令稱(chēng)為“聲明”。在C++程序中,所有變量在使用之前都必須先聲明。

(6)賦值:將一個(gè)數(shù)值復(fù)制給變量的過(guò)程。賦值符號(hào)“=”的意義是將右側(cè)的數(shù)值復(fù)制給左側(cè)的變量。

拓展閱讀

1024的故事

蒜頭君成為了蒜廠的一名光榮的程序員,每天和程序相伴。一天,小土豆找蒜頭君借點(diǎn)錢(qián)。

小土豆:蒜頭君,能不能借我點(diǎn)錢(qián)?

蒜頭君:借多少?

小土豆:一千塊就夠啦。

蒜頭君:喏,給你湊個(gè)整,1024元。

現(xiàn)在問(wèn)題來(lái)了,為什么1000不整,而1024整呢?在計(jì)算機(jī)中,1024是一個(gè)非常重要的數(shù)字。由于計(jì)算機(jī)中都是以二進(jìn)制存儲(chǔ)數(shù)據(jù)的,因此,數(shù)據(jù)的大小一般都以2的某次方為單位。

回憶之前操作計(jì)算機(jī)的經(jīng)歷,是不是對(duì)KB、MB、GB這些文件大小的單位有印象呢?在計(jì)算機(jī)中,數(shù)據(jù)大小的最小單位是字節(jié)(Byte),一般縮寫(xiě)為B。以下是常見(jiàn)大小單位之間的換算規(guī)則:

1KB=1024B

1MB=1024KB

1GB=1024MB

而1024剛好是2的10次方,并且恰好還和10的3次方非常接近,所以就作為數(shù)據(jù)大小的換算因數(shù)了。現(xiàn)在,你知道為什么對(duì)于程序員來(lái)說(shuō)1024是一個(gè)非常“整”的數(shù)了吧!

主站蜘蛛池模板: 正安县| 鄂温| 澄城县| 璧山县| 游戏| 昌邑市| 喜德县| 中阳县| 乌拉特前旗| 正宁县| 荔浦县| SHOW| 山西省| 罗源县| 镇平县| 长泰县| 随州市| 宜章县| 宜州市| 宾阳县| 扶沟县| 饶河县| 新闻| 浦城县| 芒康县| 汨罗市| 泰州市| 合作市| 潍坊市| 班玛县| 唐河县| 宁河县| 正阳县| 民丰县| 桂平市| 汽车| 韶山市| 玉门市| 水富县| 铁岭县| 航空|