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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

會計學1C程序設計基礎運算符和表達式

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

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

+

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

x:

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

+

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

-

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

*

:乘法運算符4.

/

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

%

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

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

左移運算符

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

右移運算符

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

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

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

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

|

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

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

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

^

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

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

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

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

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

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

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

運算符與&

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

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

||

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

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

||

運算符與|

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

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

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

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

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

(1)==等于

(2)!=不等于

(3)<小于

(4)>大于

(5)<=小于或等于

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

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

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

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

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

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

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

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

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

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

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

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

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

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

條件運算符

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

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

當表達式包含多個運算符時,運算符的優(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乘除*/%加減+-位移<<>>關系<><=>=相等==!=邏輯AND&邏輯XOR^邏輯OR|條件AND&&條件OR||條件?:賦值=*=/=%=+=-=<<=>>=&=^=|=第30頁/共36頁4.7運算符優(yōu)先級4.7.1算術運算符優(yōu)先級

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

溫馨提示

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

評論

0/150

提交評論