C程序設(shè)計基礎(chǔ) 運算符和表達式_第1頁
C程序設(shè)計基礎(chǔ) 運算符和表達式_第2頁
C程序設(shè)計基礎(chǔ) 運算符和表達式_第3頁
C程序設(shè)計基礎(chǔ) 運算符和表達式_第4頁
C程序設(shè)計基礎(chǔ) 運算符和表達式_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學(xué)1C程序設(shè)計基礎(chǔ)運算符和表達式

表達式由操作數(shù)(operand)和運算符(operator)構(gòu)成,運算符指示對操作數(shù)進行什么樣的運算。運算符類別運算符基本算術(shù)運算+-*/%遞增、遞減++--位移<<>>邏輯&|^!-&&||賦值=+=-=*=/=%=&=|=^=<<=>>=關(guān)系==!=<><=>=字符串串聯(lián)+成員訪問.索引[]轉(zhuǎn)換()條件運算?:第1頁/共36頁

運算符按所要操作的操作數(shù)的數(shù)目來分類,又可分為以下3類。(1)一元運算符:一元運算符帶1個操作數(shù)并使用前綴表示法(如–x)或后綴表示法(如x++)。(2)二元運算符:二元運算符帶2個操作數(shù)并且全都使用中綴表示法(如x

+

y)。(3)三元運算符:只有一個三元運算符?:,它帶3個操作數(shù)并使用中綴表示法(c?

x:

y)。第2頁/共36頁4.1算術(shù)運算符4.1.1基本算術(shù)運算符1.

+

:加法運算符或正值運算符2.

-

:減法運算符或負值運算符3.

*

:乘法運算符4.

/

:除法運算符除法運算符用于進行除法運算,如5/6。需要注意的是如果除數(shù)和被除數(shù)都為整數(shù),則結(jié)果也為整數(shù),它會把小數(shù)舍去(并非四舍五入)。5.

%

:模運算符模運算符用于計算第2個操作數(shù)除第1個操作數(shù)后的余數(shù)。在C#中,所有數(shù)值類型都具有預(yù)定義的模數(shù)運算符。如:5%2的結(jié)果為1-5%2的結(jié)果為-15.0%2.2的結(jié)果為0.6,結(jié)果為double值5.0m%2.2m的結(jié)果為0.6,結(jié)果為decimal值。第3頁/共36頁4.1算術(shù)運算符4.1.2遞增、遞減運算符

遞增(++)、遞減(--)運算符是一元運算符,它們的作用是使變量的值增加1或減少1。無論++i和i++都相當(dāng)于執(zhí)行i=i+1,但執(zhí)行的順序會有所不同。第4頁/共36頁4.1算術(shù)運算符4.1.3位移運算符1.<<

左移運算符

左移運算符是一個二元運算符,用于位運算,作用是將第1個操作數(shù)向左移動第2個操作數(shù)指定的位數(shù)。第2個操作數(shù)的類型必須是int。2.>>

右移運算符

右移運算符和左移運算符類似,它的作用是將第1個操作數(shù)向右移動第2個操作數(shù)所指定的位數(shù)。第2個操作數(shù)的類型必須是int。運行位運算器安裝Silverlight3.0第5頁/共36頁4.2邏輯運算符1.&:邏輯與(邏輯AND)運算符

邏輯與運算符可以用于整型和布爾型數(shù)值。對于整型操作數(shù),&

計算操作數(shù)的邏輯按位“與”。對于bool操作數(shù),&

計算操作數(shù)的邏輯“與”。第6頁/共36頁4.2邏輯運算符1.&:邏輯與(邏輯AND)運算符(1)當(dāng)操作數(shù)為bool值時,當(dāng)且僅當(dāng)2個操作數(shù)均為true時,結(jié)果才為true。 true&true的結(jié)果為truetrue&false的結(jié)果為falsefalse&false的結(jié)果為false(2)當(dāng)操作數(shù)為整型時,則進行位運算,如:100&45的結(jié)果為36。運行位運算器第7頁/共36頁4.2邏輯運算符2.|:邏輯或(邏輯OR)運算符

|

邏輯或運算符可以用于整型和布爾型數(shù)值。對于整型操作數(shù),|

計算操作數(shù)的邏輯按位“或”。對于bool操作數(shù),|

計算操作數(shù)的邏輯“或”。第8頁/共36頁4.2邏輯運算符2.|:邏輯或(邏輯OR)運算符(1)當(dāng)操作數(shù)為bool值時,當(dāng)且僅當(dāng)2個操作數(shù)均為false時,結(jié)果才為false,或者說只要有1個操作數(shù)為true,結(jié)果就為true。true&true的結(jié)果為truetrue&false的結(jié)果為truefalse&false的結(jié)果為false(2)當(dāng)操作數(shù)為整型時,則進行位運算,如:100|45的結(jié)果為109運行位運算器第9頁/共36頁4.2邏輯運算符3.^:邏輯異或(邏輯XOR)運算符

^

邏輯異或運算符可用于整型和bool型數(shù)值。對于整型,^

將計算操作數(shù)的按位“異或”。對于bool操作數(shù),^

將計算操作數(shù)的邏輯“異或”。第10頁/共36頁4.2邏輯運算符3.^:邏輯異或(邏輯XOR)運算符(1)當(dāng)操作數(shù)為bool值時,當(dāng)且僅當(dāng)只有一個操作數(shù)為true時,結(jié)果才為true?;蛘哒f2個操作數(shù)相同時結(jié)果為false,2個操作數(shù)不同時結(jié)果為true。true^true的結(jié)果為falsetrue^false的結(jié)果為truefalse^false的結(jié)果為false(2)當(dāng)操作數(shù)為整型時,則進行位運算,如:100^45的結(jié)果為73。運行位運算器第11頁/共36頁4.2邏輯運算符4.!:邏輯非(邏輯NOT)運算符

!邏輯非運算符只能用于bool型數(shù)值,它是對操作數(shù)求反的一元運算符。當(dāng)操作數(shù)為false時返回true。當(dāng)操作數(shù)為true時,返回false。!false的結(jié)果為true!true的結(jié)果為false運行位運算器第12頁/共36頁4.2邏輯運算符5.~:邏輯非(邏輯NOT)運算符

~求補運算符和!邏輯非運算符功能相似,可以視為是!邏輯非運算符的整型版。~求補運算符只能用于整型數(shù)值,它對操作數(shù)執(zhí)行按位求補運算,其效果相當(dāng)于反轉(zhuǎn)每一位。運行位運算器第13頁/共36頁4.2邏輯運算符6.&&:條件與(條件AND)運算符

&&條件與運算符只能用于bool型數(shù)值,它與&

運算符的功能完全一樣,執(zhí)行其bool操作數(shù)的邏輯“與”運算。true&&true的結(jié)果為truetrue&&false的結(jié)果為falsefalse&&false的結(jié)果為false&&

運算符與&

運算符的區(qū)別在于,&&

運算符不能對整型進行計算。另外,對于x&&y如果x為false,則不計算y(因為不論y為何值,“與”操作的結(jié)果都為false)。這被稱為“短路”計算。也就是說使用&&運算符進行條件計算,比使用&運算符速度更快些。第14頁/共36頁4.2邏輯運算符7.||:條件或(條件OR)運算符

||

運算符和&&運算符一樣,只能用于bool型數(shù)值,它與|

運算符的功能完全一樣,執(zhí)行其bool操作數(shù)的邏輯“或”運算。true||true的結(jié)果為truetrue||false的結(jié)果為truefalse||false的結(jié)果為false

||

運算符與|

運算符的區(qū)別在于,||

運算符不能對整型進行計算。另外它也會進行“短路”計算,即對于x&&y,如果x為true,則不計算y(因為不論y為何值,“或”操作的結(jié)果都為true)。第15頁/共36頁4.3賦值運算符和表達式4.3.1復(fù)合賦值運算符

一方面,為了簡化程序,使程序看上去精練;另一方面,為了提高編譯效率,C#允許使用復(fù)合賦值運算符。在賦值運算符前面加上其他運算符,就可以構(gòu)成復(fù)合賦值運算符。如果在=前加一個+運算符,就成為復(fù)合賦值運算符+=。例如,可以有:a+=10等價于a=a+10x*=y+6等價于x=x*(y+6)x%=5等價于x=x%5第16頁/共36頁4.3賦值運算符和表達式4.3.1復(fù)合賦值運算符(1)a+=b(其中a為變量,b為表達式)(2)a+=b(將有下畫線的a+移到=號右側(cè))(3)a=a+b(在=號左側(cè)補上變量名)第17頁/共36頁4.3賦值運算符和表達式4.3.1復(fù)合賦值運算符C#語言規(guī)定可以使用10種復(fù)合賦值運算符。(1)+= :加法賦值運算符。(2)-= :減法賦值運算符。(3)*= :乘法賦值運算符。(4)/= :除法賦值運算符。(5)%= :取模賦值運算符。(6)&= :與賦值運算符。(7)|= :或賦值運算符。(8)^= :異或賦值運算符。(9)<<= :左移賦值運算符。(10)>>= :右移賦值運算符。第18頁/共36頁4.3賦值運算符和表達式4.3.2賦值表達式

由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”。它的一般形式為:<變量><賦值運算符><表達式>第19頁/共36頁4.4關(guān)系運算符和關(guān)系表達式

“關(guān)系運算”實際上是“比較運算”,將兩個值進行比較,判斷比較的結(jié)果是否符合給定的條件。例如,x>5是一個關(guān)系表達式,大于號“>”是一個關(guān)系運算符,如果x的值為6,則滿足給定的x>5的條件,因此關(guān)系表達式的值為“真”(true);如果a的值為3,不滿足x>5的條件,則稱關(guān)系表達式的值為“假”(false)。第20頁/共36頁4.4關(guān)系運算符和關(guān)系表達式4.4.1關(guān)系運算符C#語言規(guī)定可以使用以下6種關(guān)系運算符。

(1)==等于

(2)!=不等于

(3)<小于

(4)>大于

(5)<=小于或等于

(6)>=大于或等于第21頁/共36頁4.4關(guān)系運算符和關(guān)系表達式4.4.2關(guān)系表達式

用關(guān)系運算符將2個表達式連接起來的式子,稱為關(guān)系表達式。例如:a>3a*b>=c+d(a=6)>(b=7)'a'!='b''a'>3

關(guān)系表達式的值是一個bool值(或者說關(guān)系表達式返回一個bool值),即true或false。例如,關(guān)系表達式6==2的值為false6>=0的值為true第22頁/共36頁4.5字符和字符串運算符

由于字符可以隱式轉(zhuǎn)換為整型(字符的Unicode編碼值),很多時候,字符會被當(dāng)做一個整型數(shù)值來處理。比如:'a'+6的結(jié)果為103,字符a被隱式轉(zhuǎn)換為97,再與103相加'a'*'b'的結(jié)果為9506,相當(dāng)于97*98'a'>'b'的結(jié)果為false第23頁/共36頁4.5字符和字符串運算符

在C#中,加法運算符(+)又可以作為字符串串聯(lián)運算符,在字符串運算中,它起到了連接字符串的作用。"a"+"b"的結(jié)果為"ab""早上"+"好!"的結(jié)果為"早上好!"

字符在跟字符串進行加法運算時,也會被轉(zhuǎn)換為字符串進行處理,例如:

'a'+"bcdef"的結(jié)果為"abcdef",由于"+"運算符可以用于字符串操作,所以'a'首先被隱式轉(zhuǎn)換為字符串"a",再與字符串"abcdef"進行連接操作。第24頁/共36頁4.6其他運算符1.點運算符

點運算符.用于成員訪問。點運算符指定類型或命名空間的成員。

txtName.Text="張三";//讓文本框內(nèi)顯示“張三”這兩個字stringstr=txtName.Text;//把Text屬性的值賦給字符串變量str第25頁/共36頁4.6其他運算符2.索引運算符

索引運算符[]用于數(shù)組、索引器,表示按[]內(nèi)指定的索引去訪問數(shù)組或索引器中的相應(yīng)元素的內(nèi)容。數(shù)組將在第7章進行講述。第26頁/共36頁4.6其他運算符3.轉(zhuǎn)換運算符

轉(zhuǎn)換運算符()除了用于指定表達式中的運算順序外,圓括號還用于指定強制轉(zhuǎn)換或類型轉(zhuǎn)換,例如:x+(y+z)

把y+z用圓括號括起來表示先執(zhí)行y+z。(int)12.3

表示把Double類型的值12.3強制轉(zhuǎn)換為整型,結(jié)果為12。(char)97

表示把整數(shù)值97強制轉(zhuǎn)換為字符類型,結(jié)果為a。第27頁/共36頁4.6其他運算符4.條件運算符

條件運算符

?:根據(jù)布爾型表達式的值返回兩個值中的一個。條件運算符要求有3個操作對象,它是C#中唯一的一個三元運算符,格式如右。

條件?表達式1:表達式2falsetrue第28頁/共36頁4.7運算符優(yōu)先級

當(dāng)表達式包含多個運算符時,運算符的優(yōu)先級控制各運算符的計算順序。例如,表達式x

+

y

*

z按x

+

(y

*

z)計算,顯然*運算符的優(yōu)先級比+運算符高。高第29頁/共36頁4.7運算符優(yōu)先級高類別計算順序運算符基本

高低x.yf(x)a[x]x++x--一元+-!~++x--x(T)x乘除*/%加減+-位移<<>>關(guān)系<><=>=相等==!=邏輯AND&邏輯XOR^邏輯OR|條件AND&&條件OR||條件?:賦值=*=/=%=+=-=<<=>>=&=^=|=第30頁/共36頁4.7運算符優(yōu)先級4.7.1算術(shù)運算符優(yōu)先級

自學(xué),不做要求。第31頁/共36頁4.7運算符優(yōu)先級4.7.2關(guān)系運算符優(yōu)先級關(guān)系運算符的優(yōu)先級總結(jié)出如下幾點。(1)

溫馨提示

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

最新文檔

評論

0/150

提交評論