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

3.1 運(yùn)算基礎(chǔ)

運(yùn)算的本質(zhì)是根據(jù)已有數(shù)據(jù),進(jìn)行各種運(yùn)算處理,得到新的數(shù)據(jù)。所以,運(yùn)算的基礎(chǔ)就是數(shù)據(jù)。在數(shù)據(jù)的表示方法中,聲明的變量只是一個(gè)空的指代,并沒有和具體的數(shù)據(jù)進(jìn)行關(guān)聯(lián)。如果要使用變量,就要把數(shù)據(jù)和變量進(jìn)行關(guān)聯(lián),讓指代具體化。本節(jié)將詳細(xì)講解如何將變量和數(shù)據(jù)進(jìn)行關(guān)聯(lián)。

3.1.1 變量賦值

賦值就是將變量和數(shù)據(jù)進(jìn)行關(guān)聯(lián),明確變量的指代關(guān)系。例如,當(dāng)人們說去買衣服,這里的衣服是一個(gè)泛指。衣服的好壞是無法評(píng)價(jià)的。只有將衣服買回來,這件衣服才是一個(gè)具體的東西。這樣才能與朋友評(píng)價(jià)這件衣服的好壞。

同理,聲明變量只是告訴程序有一個(gè)數(shù)據(jù),但數(shù)據(jù)還未知,還要將獲取的值賦給變量,建立明確的指代關(guān)系,這樣才能參與后續(xù)的處理。在C語言中,變量獲取值的方式有以下兩種。

1. 用戶輸入

用戶輸入是常見的變量賦值方式。獲取用戶輸入值(簡稱輸入值)的方式有很多種,在這里使用函數(shù)scanf()獲取輸入值,并將其賦給變量。函數(shù)scanf()的語法,如下:

在函數(shù)scanf()中包含占位符、&及變量名3個(gè)部分。這3個(gè)部分都是必須存在的。函數(shù)scanf()常用的占位符如表3.1所示。

表3.1 函數(shù)scanf()常用的占位符

【示例3-1】使用函數(shù)scanf()獲取輸入值并將其賦給變量。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

在上面程序中,用戶輸入數(shù)字3后按回車鍵,函數(shù)scanf()會(huì)將獲取到的數(shù)字3賦給變量Age。這樣就將變量指向了數(shù)字3。

函數(shù)scanf()除了可以獲取單個(gè)輸入值,還可以獲取多個(gè)輸入值。函數(shù)scanf()獲取多個(gè)輸入值的語法如圖3.1所示。scanf()語法中的占位符個(gè)數(shù)和變量名個(gè)數(shù)是相同的。如果占位符為3個(gè),變量名也要有3個(gè),而且占位符的類型要與變量的一致。

圖3.1 函數(shù)scanf()獲取多個(gè)輸入值的語法

這里的分隔符可以是任何符號(hào),但是在程序中使用了什么符號(hào)作為分隔符,那么在用戶輸入值時(shí)就要使用什么符號(hào)分隔值,并且要注意中/英文輸入法要一致。例如,如果在程序中使用中文逗號(hào)作為分隔符,那么用戶在輸入兩個(gè)數(shù)字時(shí)也要使用中文逗號(hào)分隔這兩個(gè)數(shù)字,而不能使用英文逗號(hào)分隔這兩個(gè)數(shù)字。

【示例3-2】使用函數(shù)scanf()獲取多個(gè)輸入值并將其賦給對(duì)應(yīng)變量。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

在上面程序中,獲取了用戶輸入的“100.5”“空格”“31.5”后按回車鍵,函數(shù)scanf()會(huì)將獲取到的輸入值分別賦給變量height與weight。這樣就將變量height與weight分別指向了數(shù)據(jù)“100.5”與“31.5”。

2. 等號(hào)賦值

在聲明變量后,可以使用運(yùn)算符等號(hào)(=)為變量賦值。等號(hào)為變量賦值的語法如圖3.2所示。

圖3.2 等號(hào)為變量賦值的語法

【示例3-3】先聲明變量,再為變量賦值。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

等號(hào)還可以直接在變量聲明中為變量賦值。等號(hào)在變量聲明中為變量賦值如圖3.3所示。

圖3.3 等號(hào)在變量聲明中為變量賦值

【示例3-4】等號(hào)在變量聲明中為變量賦值。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

當(dāng)使用等號(hào)為變量賦值時(shí),等號(hào)是C語言的一種運(yùn)算符,其作用就是將某個(gè)數(shù)值賦給特定的變量,所以又將等號(hào)稱為賦值運(yùn)算符,等號(hào)兩側(cè)的變量和數(shù)值稱為操作數(shù),并可以表示如下:

將操作數(shù)的個(gè)數(shù)稱為元或目。根據(jù)操作數(shù)的個(gè)數(shù),運(yùn)算符被分為3種類型,分別為一元運(yùn)算符、二元運(yùn)算符、三元運(yùn)算符,也可以稱為一目運(yùn)算符、二目運(yùn)算符與三目運(yùn)算符。賦值運(yùn)算符屬于二目運(yùn)算符。

3.1.2 表達(dá)式

表達(dá)式是由數(shù)值、運(yùn)算符等按照特定規(guī)則排列構(gòu)成的組合。例如,distance=100就是一個(gè)表達(dá)式,將該表達(dá)式稱為賦值表達(dá)式。賦值表達(dá)式包含了操作數(shù)(distance、100)與賦值運(yùn)算符(=)兩部分。

1. 最簡單的表達(dá)式

在C語言中,最簡單的表達(dá)式就是常數(shù)和變量,但在程序中不能直接書寫常數(shù)或變量。如果直接在程序中書寫常數(shù)是沒有任何意義的。如果在程序中直接書寫變量,程序運(yùn)行時(shí)會(huì)提示變量未被定義。

【示例3-5】直接在程序中書寫常數(shù)與變量。

程序如下:

運(yùn)行程序,輸出以下錯(cuò)誤信息:

2. 表達(dá)式的值

表達(dá)式的值是指表達(dá)式運(yùn)算后的值。在賦值運(yùn)算中,將數(shù)值賦給變量就是一次運(yùn)算。

【示例3-6】輸出表達(dá)式的值。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

3. 表達(dá)式的數(shù)據(jù)類型

和變量一樣,表達(dá)式也有數(shù)據(jù)類型之分。表達(dá)式的數(shù)據(jù)類型是根據(jù)運(yùn)算的值來確定的。例如,int age=10,那么age=10表達(dá)式的數(shù)據(jù)類型就是int。

3.1.3 多個(gè)表達(dá)式

表達(dá)式不僅可以單個(gè)使用,還可以利用運(yùn)算符逗號(hào)(,)讓多個(gè)表達(dá)式組合起來使用,并將這個(gè)組合起來使用的表達(dá)式稱為逗號(hào)表達(dá)式。

逗號(hào)表達(dá)式的語法如下:

在逗號(hào)表達(dá)式中,運(yùn)算是按從左向右的順序進(jìn)行的。整個(gè)逗號(hào)表達(dá)式的值、數(shù)據(jù)類型都與最后運(yùn)算的子表達(dá)式的值、類型一致。

【示例3-7】輸出逗號(hào)表達(dá)式的值。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

從程序運(yùn)行結(jié)果可以看出,逗號(hào)表達(dá)式的值為最后一個(gè)表達(dá)式的值。

【示例3-8】驗(yàn)證逗號(hào)表達(dá)式的數(shù)據(jù)類型。

程序如下:

運(yùn)行程序,輸出以下內(nèi)容:

從程序運(yùn)行結(jié)果可以看出,逗號(hào)表達(dá)式的運(yùn)算結(jié)果為雙精度類型,與最后一個(gè)表達(dá)式的運(yùn)算結(jié)果的數(shù)據(jù)類型一致。

主站蜘蛛池模板: 景德镇市| 赤水市| 宜宾县| 邢台市| 诸城市| 闵行区| 建平县| 喜德县| 济阳县| 阿拉善右旗| 普兰店市| 台东市| 册亨县| 全南县| 屏东市| 宿迁市| 肥东县| 汉寿县| 苏尼特左旗| 敖汉旗| 寻乌县| 璧山县| 洞口县| 东明县| 卢氏县| 日照市| 桐城市| 来安县| 绥芬河市| 同江市| 丰原市| 昌平区| 修文县| 广宁县| 普陀区| 乌拉特前旗| 北安市| 新竹市| 兰州市| 安岳县| 闽侯县|