《C#程序設(shè)計(jì)》課件第4章運(yùn)算符與語(yǔ)句_第1頁(yè)
《C#程序設(shè)計(jì)》課件第4章運(yùn)算符與語(yǔ)句_第2頁(yè)
《C#程序設(shè)計(jì)》課件第4章運(yùn)算符與語(yǔ)句_第3頁(yè)
《C#程序設(shè)計(jì)》課件第4章運(yùn)算符與語(yǔ)句_第4頁(yè)
《C#程序設(shè)計(jì)》課件第4章運(yùn)算符與語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

運(yùn)算符與語(yǔ)句思政目標(biāo):

?加強(qiáng)動(dòng)手能力,培養(yǎng)實(shí)事求是、嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度

?認(rèn)真修改并測(cè)試程序代碼,樹(shù)立新時(shí)期下的程序員精神技能要求:

?熟練掌握程序各種語(yǔ)句

?掌握C#中的運(yùn)算符實(shí)踐目標(biāo):

?根據(jù)所學(xué)的示例,能夠自己實(shí)現(xiàn)一個(gè)簡(jiǎn)單程序

?熟練掌握語(yǔ)句,能夠在不同條件下正確使用第4章運(yùn)算符運(yùn)算符的優(yōu)先級(jí)流程控制語(yǔ)句運(yùn)算符運(yùn)算符是用來(lái)標(biāo)明數(shù)值或表達(dá)式運(yùn)算規(guī)則的一種符號(hào)標(biāo)記,它所操作的數(shù)值稱為操作數(shù)。01PART表達(dá)式就是由運(yùn)算符和操作數(shù)組合而成。根據(jù)操作數(shù)的個(gè)數(shù),運(yùn)算符可以分為一元運(yùn)算符、二元運(yùn)算符和三元運(yùn)算符。運(yùn)算符例如,取負(fù)(-)、取反(~)、自增(++)和自減(--)都是典型的一元運(yùn)算符;而四則運(yùn)算符(+、—、*、/)則是典型的二元運(yùn)算符;三元運(yùn)算符僅有一個(gè),那就是條件運(yùn)算符(?:),可以用來(lái)改寫(xiě)簡(jiǎn)單的if結(jié)構(gòu)語(yǔ)句。運(yùn)算符算術(shù)運(yùn)算符運(yùn)算符運(yùn)算符說(shuō)明示例+加ints=2012+2015;inti=0,j=1;intk=i+j;—減ints=2012-2015;inti=0,j=1;intk=i-j;*乘ints=2012*2015;inti=0,j=1;intk=i*j;/除ints=2012/15;inti=2020,j=10;intk=i/j;%取模ints=2012%15;inti=2020,j=10;intk=i%j;++自增1inti=2012;intj=i++,k=++i;--自減1inti=2015;intj=i--,k=--i;整型數(shù)據(jù)的除法運(yùn)算與數(shù)學(xué)中的運(yùn)算略有差別。整數(shù)相除時(shí)沒(méi)有問(wèn)題,兩個(gè)整數(shù)相除時(shí),其結(jié)果仍然是整數(shù)。運(yùn)算符算術(shù)運(yùn)算符只要參與運(yùn)算的操作數(shù)中有一個(gè)是浮點(diǎn)型,則其作除法的結(jié)果也是浮點(diǎn)型??梢詫?duì)比整數(shù)相除時(shí)的結(jié)果運(yùn)算符算術(shù)運(yùn)算符此外,還需要特別強(qiáng)調(diào)取模運(yùn)算符(%)。它是用于計(jì)算兩個(gè)操作數(shù)相除的余數(shù),其結(jié)果為一個(gè)非負(fù)整數(shù),即使對(duì)于非整數(shù)除法而言也是如此應(yīng)注意的是,如果運(yùn)算結(jié)果超過(guò)了變量類型的上限,就會(huì)造成溢出,所以要學(xué)會(huì)選用合適的數(shù)據(jù)類型進(jìn)行數(shù)值計(jì)算。運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符運(yùn)算符運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明==等于<小于!=不等于<=小于或等于>大于>=大于或等于關(guān)系運(yùn)算符的運(yùn)算結(jié)果是布爾值,要么為true,要么為false。關(guān)系運(yùn)算符用于比較兩個(gè)操作數(shù)的大小關(guān)系,值是比較的結(jié)果==與=表示含義并不相同,前者表示相等,后者表示賦值運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符運(yùn)算符運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明=賦值<<=左移賦值+=加法賦值>>=右移賦值-=減法賦值&=and位操作賦值*=乘法賦值|=or位操作賦值/=除法賦值^=xor位操作賦值%=取模賦值賦值運(yùn)算符是將右操作數(shù)賦給左操作數(shù),賦值后,不僅左操作獲得了這個(gè)數(shù),整個(gè)表達(dá)式的結(jié)果也獲得了這個(gè)數(shù)。根據(jù)這個(gè)特點(diǎn),可以采取串聯(lián)賦值方式一次給多個(gè)變量賦相同的值,進(jìn)而簡(jiǎn)化編碼過(guò)程運(yùn)算符賦值運(yùn)算符邏輯運(yùn)算符運(yùn)算符運(yùn)算類型值x&yx和y同時(shí)為1時(shí),結(jié)果為1,其他情況結(jié)果均為0x|yx和y任一個(gè)為1時(shí),結(jié)果為1,同時(shí)為0時(shí)結(jié)果為0x^yx和y同為0或1時(shí),結(jié)果為0,x和y的取值不同時(shí)結(jié)果為1~Xx為0時(shí)結(jié)果為1,x為1時(shí)結(jié)果為0邏輯運(yùn)算符有&、|、!、^、~、&&、||。其中,&和|執(zhí)行按位的“與”和“或”,而~和^執(zhí)行按位的“非”和“異或”。&&和||執(zhí)行布爾的“與”和“或”,而!執(zhí)行布爾的“非”。另外,要注意區(qū)分位運(yùn)算和布爾運(yùn)算。運(yùn)算符邏輯運(yùn)算符運(yùn)算類型值x&yx和y同時(shí)為1時(shí),結(jié)果為1,其他情況結(jié)果均為0x|yx和y任一個(gè)為1時(shí),結(jié)果為1,同時(shí)為0時(shí)結(jié)果為0x^yx和y同為0或1時(shí),結(jié)果為0,x和y的取值不同時(shí)結(jié)果為1~Xx為0時(shí)結(jié)果為1,x為1時(shí)結(jié)果為0將運(yùn)算數(shù)據(jù)相應(yīng)的二進(jìn)制數(shù)據(jù)進(jìn)行的計(jì)算即為位運(yùn)算運(yùn)算符邏輯運(yùn)算符運(yùn)算類型值x&&yx和y同時(shí)為true時(shí),結(jié)果為true;其他情況結(jié)果均為falsex||yx和y任一個(gè)為true時(shí),結(jié)果為true;同時(shí)為false時(shí),結(jié)果為false;!xx為true,結(jié)果為false;x為false時(shí),結(jié)果為true布爾值的邏輯運(yùn)算結(jié)果第一個(gè)條件x==1不成立,而第二個(gè)條件y==3成立,因?yàn)閤==1與y==3并不同時(shí)為true,所以進(jìn)行“與”運(yùn)算的最后結(jié)果是false,因此,布爾型的result返回值是false。條件運(yùn)算符運(yùn)算符條件運(yùn)算符是一個(gè)三元運(yùn)算符,由“?”和“:”組成,以條件運(yùn)算符構(gòu)成的表達(dá)式稱為條件表達(dá)式。其一般格式如下:操作數(shù)1?操作數(shù)2:操作數(shù)3操作數(shù)1的值必須為布爾值。進(jìn)行條件運(yùn)算之前,需要先對(duì)問(wèn)號(hào)前面的布爾值進(jìn)行判斷,判斷其為true還是false。若結(jié)果為true,則條件表達(dá)式的值等于操作數(shù)2的值;若結(jié)果為false,則條件表達(dá)式的值等于操作數(shù)3的值。位運(yùn)算符運(yùn)算符位運(yùn)算符表示對(duì)運(yùn)算對(duì)象進(jìn)行的位運(yùn)算,可分為按位運(yùn)算(&、|、~、^)和移位運(yùn)算(>>、<<)兩類,除按位取反運(yùn)算符(~)為一元運(yùn)算符外,其他均為二元運(yùn)算符。位運(yùn)算的本質(zhì)是邏輯運(yùn)算。運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明&and(與)|or(或)~取反^xor(異或)>>右移位<<左移位位運(yùn)算符運(yùn)算符位邏輯與運(yùn)算將兩個(gè)運(yùn)算對(duì)象按位進(jìn)行與運(yùn)算。與運(yùn)算的規(guī)則:1&1=1,1&0=0,0&1=0,0&0=0按位與運(yùn)算符&10110000

注:首行和首列表示操作數(shù),其他表示運(yùn)算結(jié)果。位運(yùn)算符運(yùn)算符位邏輯或運(yùn)算將兩個(gè)運(yùn)算對(duì)象按位進(jìn)行或運(yùn)算?;蜻\(yùn)算的規(guī)則是:1|1=1,1|0=1,0|0=0,0|1=1。例如,10010001(二進(jìn)制)|11110000(二進(jìn)制)等于11110001(二進(jìn)制)按位或運(yùn)算規(guī)則

注:首行和首列表示操作數(shù),其他表示運(yùn)算結(jié)果。|10111010位運(yùn)算符運(yùn)算符位邏輯取反運(yùn)算只需一個(gè)運(yùn)算對(duì)象,是單目運(yùn)算符。位邏輯取反運(yùn)算按位對(duì)運(yùn)算對(duì)象的值進(jìn)行取反運(yùn)算,即如果某一位等于1,就將其轉(zhuǎn)換為0;如果某一位等于0,就將其轉(zhuǎn)換為1。例如,對(duì)二進(jìn)制的10010001進(jìn)行位邏輯取反運(yùn)算,結(jié)果等于01101110;對(duì)二進(jìn)制的01010101進(jìn)行位邏輯取反運(yùn)算,結(jié)果等于10101010。按位取反運(yùn)算規(guī)則

注:首行和首列表示操作數(shù),其他表示運(yùn)算結(jié)果。10~01位運(yùn)算符運(yùn)算符位邏輯異或運(yùn)算將兩個(gè)運(yùn)算對(duì)象按位進(jìn)行異或運(yùn)算。異或運(yùn)算的規(guī)則是,1^1=0,1^0=1,0^0=0,0^1=1,即相同得0,相異得1。例如,10010001(二進(jìn)制)^11110000(二進(jìn)制)=01100001(二進(jìn)制)。按位異或運(yùn)算規(guī)則

注:首行和首列表示操作數(shù),其他表示運(yùn)算結(jié)果。^10101010位運(yùn)算符運(yùn)算符位右移運(yùn)算將整個(gè)數(shù)按位右移若干位,右移后空出的部分填0。例如,8位的byte型變量bytei=0x65(即十進(jìn)制101)將其右移3位:i>>3的結(jié)果是0x0C(十進(jìn)制12)。位運(yùn)算符運(yùn)算符位左移運(yùn)算將整個(gè)數(shù)按位左移若干位,左移后空出的部分補(bǔ)0。例如,8位的byte型變量bytei=0x65(即十進(jìn)制是101),將其左移3位:i<<3的結(jié)果是0x28(即十進(jìn)制是40)010203自增運(yùn)算符(++)和自減運(yùn)算符(--)的使用頻率相對(duì)較高,它們都具有兩種形式:前綴和后綴前綴自增便是++在操作符前面,如++i;后綴自增便是++在操作符后面,如i++。兩者都是實(shí)現(xiàn)i遞增1,即i=i+1。以++i為例,前綴自增的計(jì)算方式是:直接將i=i+1,并將和值返回。以i++為例,后綴自增的計(jì)算方式是:先將i的初值返回,再完成i=i+1。運(yùn)算符自增自減運(yùn)算符初看此結(jié)果,或許會(huì)認(rèn)為i沒(méi)有被遞增,其實(shí)i已經(jīng)被遞增。根據(jù)上述計(jì)算方式,將i++輸出時(shí),先將i的原值12返回,交給Console.WriteLine進(jìn)行輸出,所以輸出12,這之后才完成遞增,而++j則將j由12遞增為13,然后才返回并交給Console.WriteLine進(jìn)行輸出,故輸出13。運(yùn)算符從上面的敘述可以推測(cè),若再增加一次i的輸出,將會(huì)輸出13,表示i的確已經(jīng)被遞增了運(yùn)算符自增與自減運(yùn)算一般用于整型數(shù)據(jù)類型變量,事實(shí)上,除用在整型數(shù)據(jù)類型變量外,這兩種運(yùn)算方式同樣可以用在其他數(shù)據(jù)類型上面,如浮點(diǎn)類型運(yùn)算符的優(yōu)先級(jí)02PART常見(jiàn)運(yùn)算符的優(yōu)先級(jí)運(yùn)算符的優(yōu)先級(jí)運(yùn)算符類型運(yùn)算符初級(jí)運(yùn)算符(),[],x.y,++(后綴),--(后綴),new,sizeof,typeof,checked/unchecked一元運(yùn)算符!,~,++(前綴),--(前綴),(T)x乘除、取模運(yùn)算符*,/,%增量運(yùn)算符+,-移位運(yùn)算符<<,>>關(guān)系運(yùn)算符<,>,<=,>=,is,as等式運(yùn)算符==,!=邏輯與運(yùn)算符&邏輯異或運(yùn)算符^邏輯或運(yùn)算符|條件與運(yùn)算符&&條件或運(yùn)算符||條件運(yùn)算符?:賦值運(yùn)算符=,*=,/=,+=,-=,<<=,>>=,&=,^=,|=,%=流程控制語(yǔ)句03PARTif-else語(yǔ)句if語(yǔ)句是最常見(jiàn)的程序流程控制語(yǔ)句,它可以配合else或者elseif來(lái)無(wú)限擴(kuò)展選擇執(zhí)行的分支。if語(yǔ)句的使用形式有如下四種,但無(wú)論采用哪種方式,無(wú)論產(chǎn)生多少分支,最終,也只有一個(gè)分支能夠得以運(yùn)行。(1)一個(gè)分支:if(條件){語(yǔ)句序列;}。(2)兩個(gè)分支:if(條件){語(yǔ)句序列;}else{語(yǔ)句序列;}。(3)多分支:if(條件){語(yǔ)句序列;}elseif{語(yǔ)句序列;}…else{語(yǔ)句序列;}。(4)嵌套:if(條件){if語(yǔ)句序列;}else{if語(yǔ)句序列;}。其執(zhí)行機(jī)制是:先對(duì)各個(gè)條件進(jìn)行判斷,然后執(zhí)行成立條件的分支所對(duì)應(yīng)的語(yǔ)句序列,若沒(méi)有條件成立,則直接執(zhí)行整個(gè)if塊后的語(yǔ)句。流程控制語(yǔ)句流程控制語(yǔ)句若根據(jù)要求輸入“男”,程序自然能夠成功運(yùn)行,此時(shí)輸出為“先生,你好!”。若用戶輸入除“男”外的其他內(nèi)容,則上面的程序都將把客戶視為女性,輸出結(jié)果自然不符合要求,流程控制語(yǔ)句修改程序如下switch語(yǔ)句switch語(yǔ)句與if語(yǔ)句類似,也是在眾多分支中選擇一個(gè)匹配的分支來(lái)執(zhí)行其執(zhí)行機(jī)制是:根據(jù)表達(dá)式的值,在各個(gè)case中尋找相匹配的,若找到,則執(zhí)行相應(yīng)的語(yǔ)句序列直到遇到break,若沒(méi)有,則在default分支存在的情況下,執(zhí)行default分支。使用switch時(shí)需要注意如下事項(xiàng)。(1)switch表達(dá)式的值只能是整型(byte、short、int、char等)、字符串或枚舉(枚舉可以視為整型的特例)。(2)單個(gè)case下不能缺少break,但幾個(gè)case共用一段語(yǔ)句序列時(shí),可以省略break。(3)switch語(yǔ)句同if語(yǔ)句一樣,可以嵌套。流程控制語(yǔ)句流程控制語(yǔ)句實(shí)例程序流程控制語(yǔ)句case對(duì)應(yīng)的語(yǔ)句塊相同時(shí),可以省略break。例如,上面根據(jù)用戶輸入的性別的示例,若用戶輸入“男”或“女”,程序輸出“您好”,否則輸出“錯(cuò)誤信息”。兩種合法性別對(duì)應(yīng)的case塊,共用一個(gè)輸出for語(yǔ)句for語(yǔ)句是最常使用的循環(huán)語(yǔ)句,特點(diǎn)是使用方式的靈活for(初始化語(yǔ)句;條件測(cè)試語(yǔ)句;迭代語(yǔ)句){

循環(huán)語(yǔ)句序列//循環(huán)體,該處的語(yǔ)句序列會(huì)被反復(fù)執(zhí)行至循環(huán)結(jié)束}流程控制語(yǔ)句初始化語(yǔ)句多用于給循環(huán)變量賦初值(循環(huán)變量多指計(jì)數(shù)器);條件測(cè)試語(yǔ)句多用于判斷循環(huán)是否需要繼續(xù)執(zhí)行,為true時(shí)繼續(xù),否則不再繼續(xù);迭代語(yǔ)句多用于實(shí)現(xiàn)對(duì)循環(huán)變量值的更改,該更改使得循環(huán)變量的值向使循環(huán)結(jié)束的趨勢(shì)變化。流程控制語(yǔ)句其執(zhí)行機(jī)制是:首先,執(zhí)行初始化語(yǔ)句;其次,執(zhí)行條件測(cè)試語(yǔ)句,當(dāng)條件測(cè)試語(yǔ)句返回true時(shí),接著執(zhí)行循環(huán)語(yǔ)句序列;最后,執(zhí)行迭代語(yǔ)句,這是第一次循環(huán)的過(guò)程,除第一次循環(huán),其他時(shí)刻不再執(zhí)行初始化語(yǔ)句。從第二次循環(huán)開(kāi)始,每次首先執(zhí)行條件測(cè)試語(yǔ)句,成立則執(zhí)行循環(huán)語(yǔ)句序列,再執(zhí)行迭代語(yǔ)句,然后又進(jìn)入下一輪循環(huán)的條件測(cè)試語(yǔ)句判斷,直至該語(yǔ)句不成立時(shí),整個(gè)循環(huán)方才結(jié)束。迭代語(yǔ)句除了使用自增表達(dá)式外,也可用其他方式流程控制語(yǔ)句for循環(huán)的變體很多這兩個(gè)示例,第一個(gè)取消了迭代語(yǔ)句部分,第二個(gè)將初始化語(yǔ)句部分和迭代部分都取消了,程序仍可以正常運(yùn)行,但如果將3個(gè)部分都取消,只留下循環(huán)語(yǔ)句序列部分,則程序會(huì)構(gòu)成一個(gè)死循環(huán)流程控制語(yǔ)句當(dāng)循環(huán)變量?jī)H僅用于循環(huán)計(jì)數(shù)時(shí),不可使用下面的寫(xiě)法最好方式是將循環(huán)變量i的作用域限制在for循環(huán)的結(jié)構(gòu)內(nèi)部for語(yǔ)句的一般形式,也可以改寫(xiě)為while語(yǔ)句。其對(duì)應(yīng)的初始化語(yǔ)句while語(yǔ)句while語(yǔ)句一般形式while(條件表達(dá)式){

循環(huán)語(yǔ)句序列;}其執(zhí)行機(jī)制是:首先執(zhí)行條件表達(dá)式,若為真則執(zhí)行循環(huán)語(yǔ)句序列,接著再執(zhí)行條件表達(dá)式,直到條件表達(dá)式不成立退出循環(huán)為止,繼而執(zhí)行循環(huán)體之外的語(yǔ)句。當(dāng)條件表達(dá)式第一次就不成立時(shí),此時(shí)循環(huán)語(yǔ)句序列不會(huì)獲得任何執(zhí)行機(jī)會(huì)。流程控制語(yǔ)句初始化語(yǔ)句多用于給循環(huán)變量賦初值(循環(huán)變量多指計(jì)數(shù)器);條件測(cè)試語(yǔ)句多用于判斷循環(huán)是否需要繼續(xù)執(zhí)行,為true時(shí)繼續(xù),否則不再繼續(xù);迭代語(yǔ)句多用于實(shí)現(xiàn)對(duì)循環(huán)變量值的更改,該更改使得循環(huán)變量的值向使循環(huán)結(jié)束的趨勢(shì)變化。流程控制語(yǔ)句用100以內(nèi)的奇數(shù)等差數(shù)列為例進(jìn)行說(shuō)明do-while語(yǔ)句do-while語(yǔ)句與while語(yǔ)句基本一樣do{

循環(huán)語(yǔ)句序列;}while(條件表達(dá)式)其執(zhí)行機(jī)制是:首先執(zhí)行循環(huán)語(yǔ)句序列,然后執(zhí)行條件表達(dá)式,若為真則接著執(zhí)行循環(huán)語(yǔ)句序列,接著再執(zhí)行條件表達(dá)式,直到條件表達(dá)式不成立退出循環(huán)而執(zhí)行循環(huán)之外的語(yǔ)句。從其執(zhí)行機(jī)制可以看出,do-while與while的區(qū)別在于,do-while語(yǔ)句中的循環(huán)語(yǔ)句序列至少會(huì)獲得一次執(zhí)行機(jī)會(huì)。流程控制語(yǔ)句流程控制語(yǔ)句用100以內(nèi)的奇數(shù)等差數(shù)列為例進(jìn)行說(shuō)明

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論