(中職)編程語(yǔ)言基礎(chǔ)-C++模塊3教學(xué)課件_第1頁(yè)
(中職)編程語(yǔ)言基礎(chǔ)-C++模塊3教學(xué)課件_第2頁(yè)
(中職)編程語(yǔ)言基礎(chǔ)-C++模塊3教學(xué)課件_第3頁(yè)
(中職)編程語(yǔ)言基礎(chǔ)-C++模塊3教學(xué)課件_第4頁(yè)
(中職)編程語(yǔ)言基礎(chǔ)-C++模塊3教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、YCF正版可修改PPT(中職)編程語(yǔ)言基礎(chǔ)-C+模塊3教學(xué)課件模塊3 運(yùn)算符和表達(dá)式任務(wù)1 運(yùn)算符任務(wù)2 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性任務(wù)3 表達(dá)式返回任務(wù)1 運(yùn)算符C+的運(yùn)算符十分豐富,按照運(yùn)算符要求操作數(shù)個(gè)數(shù)的多少,可把C+運(yùn)算符分為單目(或一元)運(yùn)算符、雙目(或二元)運(yùn)算符和三目(或三元)運(yùn)算符三類(lèi)。單日運(yùn)算符一般位于操作數(shù)的前面,如對(duì)x取負(fù)為-x;雙日運(yùn)算符一般位于兩個(gè)操作數(shù)之間,如兩個(gè)數(shù)a和b相加表示為a+從三目運(yùn)算符只有一個(gè),即為條件運(yùn)算符,它含有兩個(gè)字符,分別把三個(gè)操作數(shù)分開(kāi)。一個(gè)運(yùn)算符可能是一個(gè)字符,也可能由兩個(gè)或三個(gè)字符組成,還有的是一些C+保留字。如賦值號(hào)(=)就是一個(gè)字符,不等

2、于號(hào)(!=)就是兩個(gè)字符,左移賦值號(hào)(=)就是三個(gè)字符,測(cè)類(lèi)型長(zhǎng)度運(yùn)算符(sizeof)就是一個(gè)保留字。下一頁(yè)返回任務(wù)1 運(yùn)算符每一種運(yùn)算符都具有一定的優(yōu)先級(jí),用來(lái)決定它在表達(dá)式中的運(yùn)算次序。一個(gè)表達(dá)式中通常有多個(gè)運(yùn)算符,對(duì)它們進(jìn)行運(yùn)算的次序通常與每一個(gè)運(yùn)算符從左到右出現(xiàn)的次序相一致,但若它的下一個(gè)(即右邊一個(gè))運(yùn)算符的優(yōu)先級(jí)較高,則下一個(gè)運(yùn)算符應(yīng)先被計(jì)算。如當(dāng)計(jì)算表達(dá)式a+b*(c-d)/e時(shí),則每個(gè)運(yùn)算符的運(yùn)算次序依次為:-,*,/,+。 對(duì)于同一優(yōu)先級(jí)的運(yùn)算符,當(dāng)在同一個(gè)表達(dá)式的計(jì)算過(guò)程中相鄰出現(xiàn)時(shí),可能是按照從左到右的次序進(jìn)行,也可能是按照從右到左的次序進(jìn)行,這要看運(yùn)算符的結(jié)合性。如加

3、和減上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符運(yùn)算為同一優(yōu)先級(jí),它們的結(jié)合性是從左到右,即當(dāng)計(jì)算a+b-c+d時(shí),先做最左邊的加法,再做中間的減法,最后做右邊的加法;又如各種賦值操作是屬于同一優(yōu)先級(jí),但結(jié)合性是從右到左,即當(dāng)計(jì)算a=b=c時(shí),先做右邊的賦值,使c的值賦給b,再做左邊的賦值,使b的值賦給a.表3-1列出了在C+語(yǔ)言中定義的全部運(yùn)算符,其中優(yōu)先級(jí)數(shù)字從小到大對(duì)應(yīng)的優(yōu)先級(jí)別為從高到低。上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3.1.1 算術(shù)運(yùn)算符 C+語(yǔ)言中的算術(shù)運(yùn)算符包括基本算術(shù)運(yùn)算符和增1,減1運(yùn)算符 1.基本算術(shù)運(yùn)算符 一元運(yùn)算符:+(取正)、一(取負(fù))。 二元運(yùn)算符:+(加)、一(減)、x(乘)、

4、/(除)、%(取余)。 其中“%”運(yùn)算符要求它的兩個(gè)操作數(shù)必須是整數(shù)或字符型數(shù)據(jù),其優(yōu)先級(jí)與結(jié)合性和“/”運(yùn)算符相同。求兩個(gè)數(shù)的余數(shù)的表達(dá)式如下: 操作數(shù)1%操作數(shù)2上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 其計(jì)算結(jié)果是操作數(shù)1被操作數(shù)2除的余數(shù),即余數(shù)=操作數(shù)1一操作數(shù)2整商(整商為操作數(shù)1除以操作數(shù)2所得的整數(shù)商)。 例如:9%4 /結(jié)果是1 對(duì)于“/”運(yùn)算符,當(dāng)它的兩個(gè)操作數(shù)都是整數(shù)時(shí),其計(jì)算結(jié)果應(yīng)是除法運(yùn)算后所得的商的整數(shù)部分。例如:7/2的結(jié)果是3 .上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 2.增1、減1運(yùn)算符 增1,減1運(yùn)算符都是一元運(yùn)算符,這兩個(gè)運(yùn)算符都有前置和后置兩種形式。前置形式是指運(yùn)算符在操

5、作數(shù)的前面,后置是指運(yùn)算符在操作數(shù)的后面。 例如:int i =2,j =4; i+; /+后青經(jīng)討計(jì)算后:表達(dá)式值為2,i值為3 -j; /一前青經(jīng)討計(jì)算后:表達(dá)式值為-,I值為3上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 前置形式是先計(jì)算操作數(shù)的值(增1或減1),后把操作數(shù)的值作為表達(dá)式的結(jié)果。后置形式是先將操作數(shù)的值作為表達(dá)式的結(jié)果,然后把操作數(shù)的值增1或減1. 在進(jìn)行算術(shù)運(yùn)算時(shí),還需注意計(jì)算中的溢出問(wèn)題。在計(jì)算機(jī)中每種基本數(shù)據(jù)類(lèi)型都有一定的取值范圍。對(duì)于實(shí)數(shù),如果運(yùn)算結(jié)果超出范圍,程序?qū)⒈划惓V兄?另外,整數(shù)或?qū)崝?shù)被零除也會(huì)導(dǎo)致程序異常中止。上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .2 關(guān)系運(yùn)算符

6、 關(guān)系運(yùn)算符是用來(lái)比較兩個(gè)數(shù)據(jù)大小的,其操作結(jié)果只有兩種:成立或不成立。如果成立,則結(jié)果為邏輯值“真”,用1來(lái)表示;如果不成立,則結(jié)果為邏輯值“假”,用0來(lái)表示。由關(guān)系運(yùn)算符連接而成的表達(dá)式稱(chēng)為關(guān)系表達(dá)式。 關(guān)系運(yùn)算符有:(小于)、(大于)、=(大于或等于)、= (等于)、!=(不等于)。上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 在使用關(guān)系運(yùn)算符時(shí)要注意以下兩點(diǎn)。 (1)當(dāng)關(guān)系運(yùn)算符用于字符比較時(shí),是按該字符的ASCII值的大小進(jìn)行比較; (2)使用關(guān)系操作時(shí),要注意它的優(yōu)先級(jí):算術(shù)運(yùn)算符優(yōu)先于關(guān)系運(yùn)算符;、=優(yōu)先于=、!=;、=同級(jí);=、!=也是同級(jí),它們的結(jié)合性自左向右.上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算

7、符例如:設(shè)有如下變量定義:char c1=a,c2=A;int n1=65,n2=97;float f1=0.3e1,f2=3.0001;則c1c2的值為1;c1n1的值為1;f1=f2的值為0;c2=n1!=f2的值為1.即先操作c2=n1,其結(jié)果為0,再操作0!=f2,值為1.上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3.1.3 邏輯運(yùn)算符一元運(yùn)算符!(邏輯求反):若其操作數(shù)為0(false),運(yùn)算結(jié)果為ture(1),否則為false(0)二元運(yùn)算符&(邏輯與):只要兩個(gè)操作數(shù)中有一個(gè)為0 ( false ),運(yùn)算結(jié)果就為false,否則為true ( 1)|(邏輯或):只要兩個(gè)操作數(shù)中有一個(gè)不為0

8、 (flase),運(yùn)算結(jié)果為true(1),否則為false(0)表3-2為邏輯運(yùn)算的真值表.上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .4 位運(yùn)算符 位運(yùn)算符是對(duì)其操作數(shù)按其二進(jìn)制形式逐位進(jìn)行運(yùn)算,參與運(yùn)算的操作數(shù)應(yīng)為整數(shù)。其中包括一元運(yùn)算符一(按位求反)和二元運(yùn)算符&(按位與),|(按位或)、(按位異或)、(右移位)。(1)按位求反():按位求反的作用是對(duì)一個(gè)二進(jìn)制數(shù)的每一位求反。例如:計(jì)算024024 0000000000010100024 1111111111101011上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符(2)按位與(&):按位與操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行邏輯與操作例如:計(jì)

9、算3 &5 3: 00000011 5:(&) 00000101 3&5: 00000001(3)按位或(|):按位或操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位分別進(jìn)行邏輯或操作例如:計(jì)算3|5 3: 00000011 5:(|) 00000101 3|5: 00000111上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 (4)按位異或(八):按位異或操作的作用是將兩個(gè)操作數(shù)對(duì)應(yīng)的每一位進(jìn)行異或,具體運(yùn)算規(guī)則是:若對(duì)應(yīng)位值相同,則該位運(yùn)算結(jié)果為0;否則為1 例如:計(jì)算071052 071: 00111001 052:() 00101010 071052: 00010011上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符(5)移位:移

10、位運(yùn)算符左邊的操作數(shù)指定廠(chǎng)需要作移位操作的數(shù)。右邊的操作數(shù)指定廠(chǎng)需要移動(dòng)的位數(shù),因而必須是一個(gè)整數(shù)表達(dá)式。 左移位“”是將左操作數(shù)的二進(jìn)制值向右移動(dòng)指定的位數(shù)。右移后,移出的低位舍棄。如果是無(wú)符號(hào)數(shù)則高位補(bǔ)0;如果是有符號(hào)數(shù),則高位補(bǔ)符號(hào)位或補(bǔ)o.例:表達(dá)式42的移位操作過(guò)程如圖3-2所示。結(jié)果為2 . 注意:移位運(yùn)算的結(jié)果就是位運(yùn)算表達(dá)式的值,參與運(yùn)算的兩個(gè)操作數(shù)的值并沒(méi)有變化。移位運(yùn)算可替代乘或除2或2的n次方運(yùn)算上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .5 賦值運(yùn)算符 賦值運(yùn)算符是給變量或?qū)ο筚x值,分為基本賦值運(yùn)算符和復(fù)合賦值運(yùn)算符。最后進(jìn)行賦值運(yùn)算的表達(dá)式,稱(chēng)為賦值表達(dá)式。 基本賦值操

11、作“=”是一種雙目運(yùn)算符,作用是將右操作數(shù)的值傳遞給左操作數(shù)。它的一般形式為:= 特別要注意以下兩點(diǎn)。 (1)賦值運(yùn)算符的左邊一定是變量,不能是常量。例如:3 = I;/錯(cuò)誤 (2)賦值運(yùn)算符的結(jié)合性是從右向左。例如:a=b=10;可看做a=(b=10),,即a和b的值都為10上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .6 條件運(yùn)算符條件運(yùn)算符“?:”是C+中唯一一個(gè)三目運(yùn)算符,其使用格式為:?: ?: 當(dāng)計(jì)算由條件運(yùn)算符構(gòu)成的表達(dá)式時(shí),首先計(jì)算,若其值非。則計(jì)算出的值,這個(gè)值就是整個(gè)表達(dá)式的值;若的值為0,則計(jì)算出的值,它就是整個(gè)表達(dá)式的值。如:(1)a=(xy? x:y) /若xy為真則把X

12、的值賦給a,否則把y的值賦給a(2)x? y=a+10:y=3*a-1 /若x非0,則把a(bǔ)+10的值賦給y,否則把3*a-1的值賦給y上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .7 逗號(hào)運(yùn)算符 逗號(hào)運(yùn)算符是一種順序運(yùn)算符,對(duì)于分別用逗號(hào)分開(kāi)的若干個(gè)表達(dá)式,每個(gè)逗號(hào)都稱(chēng)為逗號(hào)運(yùn)算符,合起來(lái)稱(chēng)為逗號(hào)表達(dá)式。計(jì)算一個(gè)逗號(hào)表達(dá)式時(shí),將按照每個(gè)子表達(dá)式從左到右出現(xiàn)的先后次序依次計(jì)算出它們的值,最后一個(gè)子表達(dá)式的值就是整個(gè)表達(dá)式的值。如x+ ,y +=x,z-;就是一個(gè)逗號(hào)表達(dá)式,它首先計(jì)算x+的值,該計(jì)算使x增1;接著計(jì)算Y+=x的值,該計(jì)算使Y增加了x的值;最后計(jì)算z-的值,使z減1,而z的原值則成為整

13、個(gè)表達(dá)式的值。上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符3. 1 .8 圓括號(hào)運(yùn)算符 使用圓括號(hào)能夠改變運(yùn)算的優(yōu)先級(jí),使得括號(hào)內(nèi)的運(yùn)算優(yōu)先進(jìn)行,這與數(shù)學(xué)上的含義相同。 在C+語(yǔ)言中,運(yùn)算符比較多,級(jí)別劃分得也比較細(xì),往往不容易正確地記住每個(gè)運(yùn)算符的優(yōu)先級(jí),因此也就不容易把它們正確地使用在復(fù)雜的表達(dá)式中。為廠(chǎng)使表達(dá)式中每個(gè)運(yùn)算符的運(yùn)算次序按照希望的次序進(jìn)行,使用圓括號(hào)進(jìn)行限定,即使有時(shí)是多余的,也沒(méi)有關(guān)系,因?yàn)樗軌蚴刽谜J(rèn)式亙清晰,提高程序的可讀性。如:(1) x 0&x o)&(x 3可能更清晰(2)couty? x:y)endl;上一頁(yè)下一頁(yè)返回任務(wù)1 運(yùn)算符 在第二條語(yǔ)句中,若不使用括號(hào)是錯(cuò)誤的,因?yàn)?/p>

14、和?:,所以不能把條件表達(dá)式作為一個(gè)整體看待。注意:在tout語(yǔ)句中,不是左移操作符,而是重新賦予廠(chǎng)把其后的一個(gè)數(shù)據(jù)項(xiàng)的值插人(即輸出)到屏幕輸出窗口的含義,雖然y? x:y時(shí),先計(jì)算xy,再得到x或Y,為廠(chǎng)使計(jì)算次序更明確,可以把xy用圓括號(hào)括起來(lái),即書(shū)寫(xiě)為(xy)? x:y上一頁(yè)返回任務(wù)2 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性每個(gè)運(yùn)算符都有自己的優(yōu)先級(jí)和結(jié)合性。當(dāng)一個(gè)表達(dá)式中包含多個(gè)運(yùn)算符時(shí),要確定運(yùn)算的結(jié)果必須首先確定運(yùn)算的先后順序,即運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。C+中運(yùn)算符的優(yōu)先級(jí)和結(jié)合性如表3-3所示。表中,同一行的運(yùn)算符具有相同的優(yōu)先級(jí),其優(yōu)先級(jí)按從上到下的順序遞減,如:圓括號(hào)運(yùn)算符的優(yōu)先級(jí)最高,逗

15、號(hào)運(yùn)算符的優(yōu)先級(jí)最低。當(dāng)同一表達(dá)式中有多個(gè)優(yōu)先級(jí)相同的運(yùn)算符時(shí),則根據(jù)其結(jié)合性確定運(yùn)算順序。返回任務(wù)3 表達(dá)式由運(yùn)算符和操作數(shù)組成的字符序列稱(chēng)為表達(dá)式,其日的是計(jì)算之后求得一個(gè)結(jié)果值操作數(shù)可以是常量、變量、函數(shù)和其它一些標(biāo)識(shí)符。 在C+語(yǔ)言中表達(dá)式的種類(lèi)很多,其分類(lèi)方法也很多。按運(yùn)算符的不同可將表達(dá)式分為:算術(shù)表達(dá)式、賦值表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式和逗號(hào)表達(dá)式。3. 3. 1算術(shù)表達(dá)式算術(shù)表達(dá)式是指用算術(shù)運(yùn)算符、括號(hào)將常量、變量和函數(shù)等連接而成的一個(gè)有意義的式子如:(1+x)/(3*x),(2*x-3)*x+2)*x)-5,3.14*sqrt(r),b*b-4.0*a*c都是表達(dá)式下一頁(yè)返

16、回任務(wù)3 表達(dá)式 要注意以下兩方面的內(nèi)容。 (l)表達(dá)式中的括號(hào)不管有多少層,一律使用圓括號(hào),如(X+(y-10) )/(a*a-b) . (2)在將一個(gè)數(shù)學(xué)上的運(yùn)算式寫(xiě)成對(duì)應(yīng)的C+的表達(dá)式時(shí),要注意進(jìn)行必要的轉(zhuǎn)換。 乘號(hào)不能省略。如:在數(shù)學(xué)上兩個(gè)量相乘可寫(xiě)成xy,而寫(xiě)成C+的運(yùn)算式時(shí)必須寫(xiě)成x*y,此處的乘號(hào)不能忘記。上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式 數(shù)學(xué)表達(dá)式中出現(xiàn)的數(shù)學(xué)運(yùn)算函數(shù)要用C+提供的對(duì)應(yīng)的數(shù)學(xué)運(yùn)算庫(kù)函數(shù)來(lái)代替。如:在數(shù)學(xué)上求一個(gè)數(shù)X的平方根,在C+中要寫(xiě)成sqrt(x),此處的sqrt是C+提供的求一個(gè)數(shù)的平方根的庫(kù)函數(shù)。類(lèi)似地,還提供有求絕對(duì)值、指數(shù)函數(shù)、對(duì)數(shù)函數(shù)和三角函數(shù)的庫(kù)函

17、數(shù),這些內(nèi)容在C語(yǔ)言中已有詳細(xì)介紹,在此不再贅述。要特別注意表達(dá)式中兩個(gè)整型數(shù)相除的情況。如:有一數(shù)學(xué)表達(dá)式為2/3 (f-32) ,要寫(xiě)成對(duì)應(yīng)的C+的表達(dá)式時(shí),如果只簡(jiǎn)單地寫(xiě)為2/3*(f-32)時(shí),則該表達(dá)式的值永遠(yuǎn)為0,因?yàn)槭街械?和3都為整型常量,在計(jì)算2/3時(shí)按整型數(shù)據(jù)的除法運(yùn)算,則結(jié)果為。,但結(jié)果。并不是我們所期望的運(yùn)算結(jié)果。所以,正確的寫(xiě)法應(yīng)是2.0/3.0*(f-32)。上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式3. 3. 2 關(guān)系表達(dá)式C+中提供廠(chǎng)6種關(guān)系運(yùn)算符: (小于),(大于),=(大于等于),=(相等),!=(不相等). 上述6種運(yùn)算符中的前4種和后兩種的級(jí)別分別相等,且前者的級(jí)

18、別高于后者,但所有這6種的級(jí)別都小于算術(shù)運(yùn)算符。它們都是需要兩個(gè)運(yùn)算數(shù)的雙日運(yùn)算符,且它們的結(jié)合性都是從左向右的。 用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái),就是關(guān)系表達(dá)式。比如:3 9,s +f h,(3 +d) (7 +k) ,(3 5)(sg),l k,x =y都是合法的關(guān)系表達(dá)式。關(guān)系表達(dá)式是一種最簡(jiǎn)單的邏輯表達(dá)式,其結(jié)果類(lèi)型為布爾型,值只能是true或false上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式3. 3. 3 邏輯表達(dá)式由邏輯運(yùn)算符將兩個(gè)表達(dá)式連接形成的式子稱(chēng)為邏輯表達(dá)式。各種邏輯運(yùn)算的“真值表”如表3-4所示。表中列出廠(chǎng)當(dāng)操作數(shù)a和b的取值為不同組合時(shí),各種邏輯運(yùn)算的結(jié)果。對(duì)于參加邏輯運(yùn)算的操

19、作數(shù),系統(tǒng)認(rèn)為“非0”為真,0”為假。而邏輯表達(dá)式的結(jié)果只能為邏輯真(1)或邏輯假(0).上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式(1)C+中,在給出一個(gè)邏輯表達(dá)式的最終計(jì)算結(jié)果值時(shí),用1表示真,用0表示假。但在進(jìn)行邏輯運(yùn)算的過(guò)程中,凡是遇到非零值時(shí)就當(dāng)真值參加運(yùn)算,遇到0值時(shí)就當(dāng)假值參加運(yùn)算。 如int a=10,h -15,c=14;則(a+6)&(hc)的值為1(真),因?yàn)楸磉_(dá)式中邏輯運(yùn)算符&左邊的部分(a+6)的值為16,是非0值,所以,C+就把該值當(dāng)成真值進(jìn)行下一步的運(yùn)算。而bc的值也為真,最后兩個(gè)真值進(jìn)行&運(yùn)算,所以最終結(jié)果為1(真)。上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式(2)在邏輯表達(dá)式的求值過(guò)

20、程中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí)才執(zhí)行該運(yùn)算符。 a&b&c:只有a為真時(shí),才需要判別b的值;只有a和b的值都為真時(shí),才需要判別c的值;只要a為假,就不必判別b和c,因?yàn)榇藭r(shí)已能確定整個(gè)邏輯表達(dá)式的值為假值;如果a為真,b為假,則不必判別c 如int i = 10;則表達(dá)式i&(i =0) &(+i)的值為0(假),該表達(dá)式運(yùn)算結(jié)束后,變量i的值為0,而不是1。因?yàn)樵谶\(yùn)算完表達(dá)式的前半部分i&(i = 0)的值(i為0)后,整個(gè)邏輯表達(dá)式的值為0(假)已能確定,所以后半部分(+i)就不再運(yùn)算,因此,變量i的值沒(méi)有進(jìn)行自加運(yùn)算。上一頁(yè)下一頁(yè)

21、返回任務(wù)3 表達(dá)式a|b|c:只要a為真,就不必判別b和c;只有a為假,才判別b;只有a和b都為假,才判別c. 如:int i=1,j;則表達(dá)式i+|i+|i+的值為1(真),運(yùn)算結(jié)束后,變量i的值為2,而不是4。因?yàn)檫M(jìn)行第一個(gè)i+運(yùn)算時(shí),其值為1(真),這時(shí),整個(gè)邏輯表達(dá)式的值為真已能確定,所以就不再進(jìn)行后面的計(jì)算,因此,變量只進(jìn)行廠(chǎng)一次自加運(yùn)算,其值為2 對(duì)于數(shù)學(xué)上的表示多個(gè)數(shù)據(jù)間進(jìn)行比較的表達(dá)式,在C+中要拆寫(xiě)成多個(gè)條件,并用邏輯運(yùn)算符將其連接形成一個(gè)邏輯表達(dá)式,而不能直接照搬。上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式 如:在數(shù)學(xué)上,要表示一個(gè)變量a的值處于-1和-9之間時(shí),可以用-9a-9&a-

22、1,而不能寫(xiě)成-9a-1。因?yàn)?,假設(shè)變量a當(dāng)前的值為-5,它的值確實(shí)處在-1和-9之間,但在C+語(yǔ)言中求-9 a-1時(shí),從左向右進(jìn)行計(jì)算,先計(jì)算-9 a,得1(真),此時(shí),該表達(dá)式可簡(jiǎn)化為1-9&a-1的形式上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式3. 3. 4 賦值表達(dá)式由賦值運(yùn)算符和操作數(shù)組成的字符序列稱(chēng)為賦值表達(dá)式。賦值表達(dá)式要求賦值號(hào)(=)左邊必須是左值,其功能是用右值表達(dá)式的值修改左值。賦值表達(dá)式的計(jì)算順序是從右向左進(jìn)行的,其值為左值表達(dá)式的值。例如:high=5*6;/表達(dá)式的值為high的值30high=low=0/相當(dāng)干low=0,high=low,格個(gè)表達(dá)式的值為high的值0.rniox+=3*9/相當(dāng)于 midx=midx+3*9上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式C+語(yǔ)言在使用廠(chǎng)復(fù)合賦值表達(dá)式后,使語(yǔ)句看起來(lái)非常簡(jiǎn)練。說(shuō)明以下兒點(diǎn)。(1)賦值表達(dá)式本身是左值,可以出現(xiàn)在賦值號(hào)(=)左邊。(x=s)=23+6; /x=5是左值,被修改29,29即為整個(gè)表達(dá)式的值x=y=z=0: /從右向左計(jì)算,先使z=0,然后再將z的值賦給y,最后將y的值賦給x (2)聲明語(yǔ)句中的符號(hào)(=)為初始化符號(hào),盡管在書(shū)寫(xiě)上與賦值號(hào)(=)一樣,但含義不同。上一頁(yè)下一頁(yè)返回任務(wù)3 表達(dá)式float rmliusl=5.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論