任務(wù)運算符與表達式的應(yīng)用_第1頁
任務(wù)運算符與表達式的應(yīng)用_第2頁
任務(wù)運算符與表達式的應(yīng)用_第3頁
任務(wù)運算符與表達式的應(yīng)用_第4頁
任務(wù)運算符與表達式的應(yīng)用_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程名稱可修改COURSETITLE 課程名稱可修改COURSETITLE NAME可修改

課程名稱可修改COURSETITLE NAME可修改

白會肖

第2章數(shù)據(jù)類型、運算符與表達式任務(wù)2:運算符與表達式的應(yīng)用1.各種運算符及表達式的含義及應(yīng)用2.運算符的優(yōu)先級知識目標教學目標技能目標1.會應(yīng)用各種運算符及表達式2.會調(diào)試和運行程序1.學習過程中形成樂于探究的意識和敢于創(chuàng)新的精神。2.養(yǎng)成主動與他人交流合作的精神。素質(zhì)目標1.算術(shù)運算符與表達式運算符表達式基本算術(shù)運算符2、優(yōu)先級:1、分類:()>、/、%>+,–運行結(jié)果語句編寫main(){}printf("%d,%d\n",3+2,3-2);printf("%d,%d,%f\n",3*2,3/2,3.0/2);printf("%d\n",3%2);5,16,1,1.5000001(1)加法“+”,或正值運算符,如2+9=11,+6。(2)減法“–”,或負值運算符,如9-5=4,-5。

(3)乘法“”,如4*8=32。(4)除法“/”,如7/2=3,整除結(jié)果為整數(shù),舍去小數(shù),只取商。

7/2.0=?。(5)求模“%”,或稱求余運算符,要求兩側(cè)均為整數(shù),如9%2=1。英文知識:操作數(shù)(operand)[?ɑ?p?r?nd]運算符(operator)[?ɑ?p?re?t?r]

1.算術(shù)運算符與表達式運算符表達式自加自減運算符(單目運算符)

1、作用:自增運算使單個變量的值增1,自減運算使單個變量的值減1。2、運算規(guī)則:(1)前置運算:運算符放在變量之前:++a、--a,先使變量的值增(或減)1,然后再以變化后的值參與其它運算,即先增減、后運算。(2)后置運算:運算符放在變量之后:a++、a--,變量先參與其它運算,然后再使變量的值增(或減)1,即先運算、后增減。main(){}j=--i;1.算術(shù)運算符與表達式運算符表達式算術(shù)運算符應(yīng)用舉例。運行結(jié)果語句編寫inti=3,j;j=i++;printf("i=%d,j=%d\n",i++,j);j=++i;i=4,j=3printf("i=%d,j=%d\n",++i,j);printf("i=%d,j=%d\n",i--,j);j=i--;printf("i=%d,j=%d\n",--i,j);注意說明:(1)++和--只能用于變量,而不能用于常量或表達式。如:(i+j)++或5--是不合法的。(2)++和--的結(jié)合方向是“自右至左”。如:i=4,則-i--相當于-(i--)結(jié)果為-4,而i的值為3。(3)運算符的組合原則是自左而右。如:a+++b等價于(a++)+b,而不是a+(++b)。i=7,j=6i=6,j=6i=3,j=5(4)++和--常用于循環(huán)語句中,使循環(huán)控制變量加(或減)1,指針變量中,使指針上移(或下移)一個位置。1.算術(shù)運算符與表達式運算符表達式定義:

算術(shù)表達式是用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,其中運算對象可以是常量、變量、函數(shù)等。例如:a*b/c-1.5+’a’是一個合法的算術(shù)表達式。注意說明:(1)與數(shù)學表達式的書寫形式的區(qū)別:C語言算術(shù)表達式的乘號(*)不能省略。例如:b2-4ac,應(yīng)該寫成b*b-4*a*c。C語言表達式中只能出現(xiàn)字符集允許的字符。例如:πr2應(yīng)該寫成PI*r*r。C語言算術(shù)表達式不允許有分子分母的形式。例如:(a+b)/(c+d)不等于a+b/c+d。C語言算術(shù)表達式只使用圓括號改變運算的優(yōu)先順序(不能用{}[])。1.算術(shù)運算符與表達式運算符表達式定義:

算術(shù)表達式是用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,其中運算對象可以是常量、變量、函數(shù)等。例如:a*b/c-1.5+’a’是一個合法的算術(shù)表達式。注意說明:(2)各運算符的“優(yōu)先級”和“結(jié)合性”:在表達式求值時,按運算符的優(yōu)先級高低次序執(zhí)行,如:a-b*c等價于a-(b*c)。如果優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”,如表達式:a-b+c結(jié)合性為“自左向右”,所以等價于(a-b)+c。C對于復(fù)雜表達式為了清晰起見可以加圓括號“()”強制規(guī)定計算順序。2.賦值運算符與表達式運算符表達式賦值運算符x=12;作用是執(zhí)行一次賦值操作,將12賦給變量x。a=5+x;作用是將表達式5+x的值賦給變量a。例如:符號“=”為賦值運算符,作用是將賦值運算符右邊的表達式的值賦給其左邊的變量。

注意說明:在賦值號“=”的左邊只能是變量,而不能是常量或表達式,如不能寫成:2=x;或x+y=a+b;2.賦值運算符與表達式運算符表達式復(fù)合賦值運算符+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=例如:在賦值符“=”之前加上其它二目運算符可構(gòu)成復(fù)合賦值符。一般形式:變量復(fù)合賦值符=表達式

變量=變量運算符表達式a+=5等價于a=a+5x*=y+7等價于x=x*(y+7)//注意:不要寫成x=x*y+7

r%=p等價于r=r%p例如:2.賦值運算符與表達式運算符表達式定義:

由賦值運算符組成的表達式稱為賦值表達式。例如:x=5賦值表達式x=5的值為5,x的值也為5。x=7%2+(y=5)賦值表達式的值為6,x的值也為6,y的值為5。a=(b=6)或a=b=6賦值表達式的值為6,a、b的值均為6。a+=a*(a=5) 相當于a=5+5*5,賦值表達式的值為30,a的值最終也是30。一般形式:變量=表達式

功能:賦值表達式的功能是計算表達式的值再賦予左邊的變量。2.賦值運算符與表達式運算符表達式賦值語句應(yīng)用舉例。運行結(jié)果語句編寫main(){}inta;

printf("a=%d\n",a);

a=34.567;a=34注意說明:(1)賦值表達式加上一個分號則可構(gòu)成賦值語句,即:變量=表達式;(2)賦值語句不是表達式,表達式可以用在其它語句或表達式中,而語句只能作為一個單獨的語句使用。(3)

C語言規(guī)定:可以在定義變量的同時給變量賦值,也叫給變量初始化。

例如:intx=5;但inta=b=5;是錯誤的(4)賦值運算時,當賦值運算符兩邊數(shù)據(jù)類型不同時,系統(tǒng)自動進行類型轉(zhuǎn)換,轉(zhuǎn)換原則是:先將賦值號右邊表達式類型轉(zhuǎn)換為左邊變量的類型,然后賦值。3.逗號運算符與表達式逗號運算符C語言提供一種用逗號“,”運算符,逗號運算符又稱順序求值運算符。

表達式一般形式:表達式1,表達式2,……,表達式n

運行結(jié)果語句編寫main(){}inta=1,b=2,c=3,x,y;printf("x=%d,y=%d\n",x,y);

y=(x=a+b,b+c,x+c);x=3,y=6注意說明:(1)逗號表達式的求解過程為:先求解表達式1,再求解表達式2,依次類推。結(jié)合性自左向右。(2)表達式n的值就是整個逗號表達式的值。(3)逗號運算符的優(yōu)先級是所有運算符中最低的。4.關(guān)系表達式設(shè)計關(guān)系運算符關(guān)系表達式C語言中提供了6種關(guān)系運算符:<(小于)<=(小于或等于)>(大于)>=(大于或等于)優(yōu)先級高==(等于)!=(不等于)優(yōu)先級低4.關(guān)系表達式設(shè)計關(guān)系運算符關(guān)系表達式注意說明:(2)關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。

(3)關(guān)系運算符的優(yōu)先級高于賦值運算符。(1)前4種關(guān)系運算符的優(yōu)先級別相同,后兩種也相同,但前4種高于后2種。例如:“>”優(yōu)先于“==”,“<=”與“>=”優(yōu)先級相同。

表達式c>a+b,應(yīng)該先算a+b,然后再和c進行比較。

表達式a=b>c,應(yīng)該先b和c進行比較,然后再將結(jié)果賦值給a。

4.關(guān)系表達式設(shè)計關(guān)系運算符關(guān)系表達式定義:用關(guān)系運算符將兩個表達式(可以是算術(shù)表達式、關(guān)系表達式、邏輯表達式、賦值表達式等)連接起來的式子,稱為關(guān)系表達式。結(jié)果描述:關(guān)系表達式的值有兩個1和0,當關(guān)系表達式成立時,其值為1,當關(guān)系表達式不成立時,其值為0,C語言中以1代表“真”,以0代表“假”。例如:已知a=1,b=2,c=3,則關(guān)系表達式a>b的結(jié)果為假,值為0。關(guān)系表達式a+b==c的結(jié)果為真,值為1。4.關(guān)系表達式設(shè)計關(guān)系運算符關(guān)系表達式判斷整型變量n為偶數(shù),怎么書寫關(guān)系表達式?何如編寫關(guān)系表達式?結(jié)果:能被2整除的數(shù)據(jù)稱為偶數(shù),那么可以寫成n%2==0。判斷成績變量score為及格,怎么書寫關(guān)系表達式?結(jié)果:成績大于等于60分稱為考試及格,那么可以寫成score>=60。ab!a!ba&&ba||b真假真假假假真真邏輯運算真值表真假假假假假真真假假真真真假真真5.邏輯運算符與表達式C語言中提供了3種邏輯運算符:&&(邏輯與)||(邏輯或)!(邏輯非)邏輯運算符邏輯表達式例:a<=x&&x<=b

a>b&&x>ya==b||x==y!a||a>ba+b>c&&x+y<b//等價于(a<=x)&&(x<=b)//等價于(a>b)&&(x>y)//等價于(a==b)||(x==y)//等價于(!a)||(a>b)5.邏輯運算符與表達式邏輯運算符!(2)&&(11)||(12)高低優(yōu)先級:!(非)算術(shù)運算符關(guān)系運算符&&和||賦值運算符高低

//等價于((a+b)>c)&&((x+y)<b)邏輯運算符邏輯表達式5.邏輯運算符與表達式定義:用邏輯運算符將兩個表達式連接起來的式子稱為邏輯表達式。注意說明:(1)C語言編譯系統(tǒng)在給出邏輯運算結(jié)果時,以數(shù)字1表示“真”,以數(shù)字0表示“假”。(2)在判斷一個量是否為“真”時,以0表示“假”,以非0表示“真”。邏輯運算符邏輯表達式例a=4;b=5;!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘d’值為1值為0值為1值為1值為1值為1//等價于(5>3)&&2||(8<(4-(!0)))值為15.邏輯運算符與表達式邏輯運算符邏輯運算符邏輯表達式短路特性:邏輯表達式求解時,并非所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達式的解時,才執(zhí)行該運算符。例a&&b&&c//只在a為真時,才判別b的值;

只在a、b都為真時,才判別c的值例a||b||c//只在a為假時,才判別b的值;

只在a、b都為假時,才判別c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)//結(jié)果m=0,n=15.邏輯運算符與表達式邏輯運算符邏輯運算符邏輯表達式一般形式:expr1?expr2:expr3功能:相當于條件語句,但不能取代一般if語句例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b|printf(“a+|b|=%d\n”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a(chǎn)’&&c<=‘z’)?c-’a’+’A’:c條件運算符可嵌套

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論