版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式第二講第二講 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式引例引例概念及分類概念及分類優(yōu)先級和結(jié)合性優(yōu)先級和結(jié)合性算術(shù)運(yùn)算算術(shù)運(yùn)算關(guān)系運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算邏輯運(yùn)算位運(yùn)算位運(yùn)算賦值運(yùn)算符賦值運(yùn)算符逗號運(yùn)算符逗號運(yùn)算符條件運(yùn)算符條件運(yùn)算符運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式引例引例引例引例問題問題輸入一個(gè)四位的正整數(shù),反序輸出該四位數(shù)的四個(gè)數(shù)字字符。輸入一個(gè)四位的正整數(shù),反序輸出該四位數(shù)的四個(gè)數(shù)字字符。設(shè)計(jì)設(shè)計(jì)用一個(gè)無符號整型變量用一個(gè)無符號整型變量number保存輸入的四位正整數(shù)。保存輸入的四位正整數(shù)。依次分解出個(gè)位數(shù)字、十位數(shù)字、百位數(shù)字和千位數(shù)字,并分別放依次分解出個(gè)位數(shù)字、十位數(shù)字、百
2、位數(shù)字和千位數(shù)字,并分別放到字符變量到字符變量c1、c2、c3和和c4中。中。怎么分解?怎么分解? 利用除法、取模等運(yùn)算。利用除法、取模等運(yùn)算。順序輸出變量順序輸出變量c1、c2、c3和和c4中的字符。中的字符。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式引例引例引例引例源程序源程序(cw04-01.c)#include void main() unsigned number; char c1, c2, c3, c4; printf(請輸入一個(gè)四位的正整數(shù):請輸入一個(gè)四位的正整數(shù):); scanf(%u, &number); c1 = number%10 + 0; /得到個(gè)位數(shù)字得到個(gè)位數(shù)字 c2 =
3、 number/10%10 + 0; /得到十位數(shù)字得到十位數(shù)字 c3 = number/100%10 + 0; /得到百位數(shù)字得到百位數(shù)字 c4 = number/1000 + 0; /得到千位數(shù)字得到千位數(shù)字 printf(n%c%c%c%cn, c1, c2, c3, c4);請輸入一個(gè)四位的正整數(shù)請輸入一個(gè)四位的正整數(shù): 12344321運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式相關(guān)概念相關(guān)概念運(yùn)算符運(yùn)算符 在在C語言中用來表示某種計(jì)算的符號。語言中用來表示某種計(jì)算的符號。操作數(shù)操作數(shù) 運(yùn)算符操作的對象,可以為變量(已賦值)、常量或其他運(yùn)算符操作的對象,可以為變量(已賦值)、常量或其他有切確值的表達(dá)
4、式。有切確值的表達(dá)式。表達(dá)式表達(dá)式 運(yùn)算符和合適的操作數(shù)組成的具有切確值的式子稱為表達(dá)運(yùn)算符和合適的操作數(shù)組成的具有切確值的式子稱為表達(dá)式。式。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符分類運(yùn)算符分類單目運(yùn)算符(一元運(yùn)算符)單目運(yùn)算符(一元運(yùn)算符) 只有只有1個(gè)操作數(shù)。個(gè)操作數(shù)。雙目運(yùn)算符(二元運(yùn)算符)雙目運(yùn)算符(二元運(yùn)算符) 具有具有2個(gè)操作數(shù)。(主要類型)個(gè)操作數(shù)。(主要類型)三目運(yùn)算符(三元運(yùn)算符)三目運(yùn)算符(三元運(yùn)算符) 需要需要3個(gè)操作數(shù)。(唯一:條件運(yùn)算符個(gè)操作數(shù)。(唯一:條件運(yùn)算符 ? :)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符的優(yōu)先級和結(jié)合性運(yùn)算符的優(yōu)先級和結(jié)合性運(yùn)算符的優(yōu)先級運(yùn)算符的優(yōu)先
5、級某些運(yùn)算符先于其他運(yùn)算符被執(zhí)行。某些運(yùn)算符先于其他運(yùn)算符被執(zhí)行。例如,例如,x + y * 4,先乘除后加減。,先乘除后加減。必要時(shí)可以用必要時(shí)可以用圓括號圓括號()()改變計(jì)算順序。改變計(jì)算順序。例如,求三個(gè)數(shù)的平均值。例如,求三個(gè)數(shù)的平均值。錯(cuò)誤的寫法:錯(cuò)誤的寫法:a + b + c / 3 正確的寫法:正確的寫法:(a + b + c ) / 3運(yùn)算符的結(jié)合性運(yùn)算符的結(jié)合性當(dāng)出現(xiàn)并列的運(yùn)算優(yōu)先級別相同的運(yùn)算符時(shí),由運(yùn)算符的當(dāng)出現(xiàn)并列的運(yùn)算優(yōu)先級別相同的運(yùn)算符時(shí),由運(yùn)算符的結(jié)合性決定計(jì)算的次序。結(jié)合性決定計(jì)算的次序。例如,例如,x * y / z運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符算術(shù)
6、運(yùn)算符常用的算術(shù)運(yùn)算及運(yùn)算符常用的算術(shù)運(yùn)算及運(yùn)算符說明說明取模運(yùn)算(取模運(yùn)算(%),結(jié)果是兩個(gè)整數(shù)相除的余數(shù)。),結(jié)果是兩個(gè)整數(shù)相除的余數(shù)。例如,例如,7%5 = 2,-2%3 = -2。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符名稱運(yùn)算符名稱算術(shù)運(yùn)算符算術(shù)運(yùn)算符代數(shù)表達(dá)式代數(shù)表達(dá)式C語言表達(dá)式語言表達(dá)式適用的數(shù)據(jù)類型適用的數(shù)據(jù)類型正號正號+ + a+ a+ a+ a整數(shù)、字符、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)負(fù)號負(fù)號- - b- b- b- b整數(shù)、字符、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)加加+ +f + 7f + 7f + 7f + 7整數(shù)、字符、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)減減- -p cp cp cp c整數(shù)、字符
7、、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)乘乘* *bmbmb b * * m m整數(shù)、字符、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)除除/ /x / yx / yx / yx / y整數(shù)、字符、浮點(diǎn)數(shù)整數(shù)、字符、浮點(diǎn)數(shù)取模取模% %r mod sr mod sr % sr % s整數(shù)、字符整數(shù)、字符運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式自增和自減運(yùn)算符自增和自減運(yùn)算符自增和自減運(yùn)算符自增和自減運(yùn)算符自增運(yùn)算符:自增運(yùn)算符:+將操作數(shù)的值增一。將操作數(shù)的值增一。自減運(yùn)算符:自減運(yùn)算符:-將操作數(shù)的值減一。將操作數(shù)的值減一。操作數(shù)必須是整型和字符型操作數(shù)必須是整型和字符型變量變量。單目運(yùn)算符。單目運(yùn)算符。優(yōu)先級:優(yōu)先級:2。結(jié)合性:從右
8、往左。結(jié)合性:從右往左。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符(特殊問題)算術(shù)運(yùn)算符(特殊問題)除號運(yùn)算符的使用問題除號運(yùn)算符的使用問題 當(dāng)除號前后操作數(shù)全為整型數(shù)(包括當(dāng)除號前后操作數(shù)全為整型數(shù)(包括char、int、long)時(shí),)時(shí),除號為整除運(yùn)算。除號為整除運(yùn)算。 當(dāng)有任一操作數(shù)為實(shí)型數(shù)時(shí)則為普通除法運(yùn)算。當(dāng)有任一操作數(shù)為實(shí)型數(shù)時(shí)則為普通除法運(yùn)算。取模運(yùn)算符的使用問題取模運(yùn)算符的使用問題 操作數(shù)只能整型數(shù)據(jù)(操作數(shù)只能整型數(shù)據(jù)(char、int、long)。)。自加自加/自減運(yùn)算符的使用問題自減運(yùn)算符的使用問題 +(-)在前:先加(減)后用;)在前:先加(減
9、)后用; +(-)在后:先用后加(減)。)在后:先用后加(減)。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式自增和自減運(yùn)算自增和自減運(yùn)算舉例舉例(cw0404.c)#include void main() int i=6, a, b; printf(%dn, +i); printf(%dn, i+); a=-i; printf(%dn, a); b=i-; printf(%dn, b); printf(%dn, -i+); printf(i=%dn, i);7777-6i = ?運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系運(yùn)算關(guān)系運(yùn)算關(guān)系運(yùn)算(比較運(yùn)算)關(guān)系運(yùn)算(比較運(yùn)算)比較兩個(gè)值,結(jié)果為比較兩個(gè)值,結(jié)果為“真真”或或
10、“假假”。舉例:舉例:a3如果如果a=8,則結(jié)果為,則結(jié)果為“真真”如果如果a=1,則結(jié)果為,則結(jié)果為“假假”用關(guān)系運(yùn)算進(jìn)行條件判斷用關(guān)系運(yùn)算進(jìn)行條件判斷關(guān)系表達(dá)式表示一個(gè)條件,根據(jù)其結(jié)果判斷條件是否滿足。關(guān)系表達(dá)式表示一個(gè)條件,根據(jù)其結(jié)果判斷條件是否滿足。舉例:舉例:a3如果如果a=8,結(jié)果為,結(jié)果為“真真”,即條件滿足,即條件滿足如果如果a=1,結(jié)果為,結(jié)果為“假假”,即條件不滿足,即條件不滿足運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符運(yùn)算符運(yùn)算符含含 義義優(yōu)先級優(yōu)先級結(jié)合性結(jié)合性 小于小于6 6左結(jié)合左結(jié)合= 大于大于=大于或等于大于或等于=等于等于7 7!=!
11、=不等于不等于運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式 表達(dá)式表達(dá)式1和表達(dá)式和表達(dá)式2可以是任何表達(dá)式。可以是任何表達(dá)式。舉例舉例abm+nz)=(yz)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式的值是一個(gè)邏輯值:關(guān)系表達(dá)式的值是一個(gè)邏輯值:“真真”或或“假假”C語言沒有邏輯類型,因此語言沒有邏輯類型,因此用整數(shù)用整數(shù) 1 表示表示“真真”用整數(shù)用整數(shù) 0 表示表示“假假”即關(guān)系表達(dá)式的值是整數(shù)即關(guān)系表達(dá)式的值是整數(shù) 1 或或 0 。舉例舉例若若a=1,b=2,c=3aba+bc)=(bc)Y!=y0111運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系表達(dá)式的使
12、用關(guān)系表達(dá)式的使用舉例:寫出下面各條件的關(guān)系表達(dá)式舉例:寫出下面各條件的關(guān)系表達(dá)式x為不小于為不小于 -5 的整數(shù)的整數(shù)x為非零的數(shù)為非零的數(shù)x的平方大于的平方大于m與與n的和的和x=-5x!=0 x*x(m+n)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式關(guān)系運(yùn)算的不足關(guān)系運(yùn)算的不足關(guān)系表達(dá)式只能表達(dá)一些簡單的條件關(guān)系表達(dá)式只能表達(dá)一些簡單的條件grade=60total1000每個(gè)判斷只是對一個(gè)條件進(jìn)行測試。每個(gè)判斷只是對一個(gè)條件進(jìn)行測試。如果要對多個(gè)條件進(jìn)行測試就要在獨(dú)立的語句或嵌套的如果要對多個(gè)條件進(jìn)行測試就要在獨(dú)立的語句或嵌套的if或或if-else結(jié)構(gòu)中進(jìn)行測試。結(jié)構(gòu)中進(jìn)行測試。例例1:10y5例
13、例2:x0if (y5) if (y10) ;if (x0) ;運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算通過邏輯運(yùn)算符把簡單的條件組合起來,能夠形成更加復(fù)通過邏輯運(yùn)算符把簡單的條件組合起來,能夠形成更加復(fù)雜的條件。雜的條件。例例1:10y5 的邏輯表達(dá)式的邏輯表達(dá)式(y5)&(y10)例例2:x0 的邏輯表達(dá)式的邏輯表達(dá)式(x0)邏輯運(yùn)算符邏輯運(yùn)算符!(邏輯非)(邏輯非)&(邏輯與)(邏輯與)|(邏輯或)(邏輯或)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式邏輯表達(dá)式邏輯表達(dá)式邏輯表達(dá)式邏輯表達(dá)式 表達(dá)式表達(dá)式1和表達(dá)式和表達(dá)式2可以是任何表達(dá)式。可以是任何表達(dá)式。舉例舉例
14、(x5)|(x-5)!(ac)&(a+cb)&(b+ca)邏輯表達(dá)式的值邏輯表達(dá)式的值1:真:真0:假:假整數(shù)整數(shù)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算真值表邏輯運(yùn)算真值表a!a1001aba&b111100010000aba|b111101011000!&|運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式邏輯表達(dá)式的使用邏輯表達(dá)式的使用將下面的條件用將下面的條件用C語言的邏輯表達(dá)式表示語言的邏輯表達(dá)式表示例例1:1x10且且x7x=1&x=65如果如果gender不等于不等于F,整個(gè)表達(dá)式的值就是假,求值過程結(jié)束。,整個(gè)表達(dá)式的值就是假,求值過程結(jié)束。例例2
15、:average=90|finalExam=90如果如果average大于等于大于等于90,整個(gè)表達(dá)式的值就是真,求值過程結(jié)束。,整個(gè)表達(dá)式的值就是真,求值過程結(jié)束。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式程序設(shè)計(jì)舉例程序設(shè)計(jì)舉例舉例舉例(cw0602.c)問題:任意輸入一個(gè)字符,判斷它是字母還是數(shù)字。問題:任意輸入一個(gè)字符,判斷它是字母還是數(shù)字。#include void main() char c; c=getchar(); if (c=A&c=a&c=0&c=9) printf(“%c is a digit.”, c); else printf(“%c is neither
16、a letter nor a digit.”, c); 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式位運(yùn)算位運(yùn)算位左移位左移,位與,位與&,位或,位或|,位異或,位異或位運(yùn)算按二進(jìn)制數(shù)運(yùn)算法則進(jìn)行計(jì)算位運(yùn)算按二進(jìn)制數(shù)運(yùn)算法則進(jìn)行計(jì)算將另立專題講解運(yùn)算規(guī)則將另立專題講解運(yùn)算規(guī)則運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式賦值運(yùn)算賦值運(yùn)算賦值運(yùn)算符賦值運(yùn)算符簡單賦值運(yùn)算符:簡單賦值運(yùn)算符:=復(fù)合賦值運(yùn)算符:復(fù)合賦值運(yùn)算符:+=,-=,*=,/=,%=優(yōu)先級:優(yōu)先級:14結(jié)合性:從右往左結(jié)合性:從右往左賦值表達(dá)式賦值表達(dá)式 d = 23作用:將表達(dá)式的值賦給變量。作用:將表達(dá)式的值賦給變量。賦值表達(dá)式的值就是被賦值的變量的
17、值。賦值表達(dá)式的值就是被賦值的變量的值。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式簡單賦值運(yùn)算簡單賦值運(yùn)算簡單賦值運(yùn)算符:簡單賦值運(yùn)算符:=舉例舉例類型轉(zhuǎn)換類型轉(zhuǎn)換如果賦值運(yùn)算符右邊表達(dá)式的類型與左邊變量的類型不一如果賦值運(yùn)算符右邊表達(dá)式的類型與左邊變量的類型不一致,則把右邊表達(dá)式值的類型按左邊變量的類型進(jìn)行轉(zhuǎn)換,致,則把右邊表達(dá)式值的類型按左邊變量的類型進(jìn)行轉(zhuǎn)換,然后再賦值。然后再賦值。例如,例如,int n = 3.6; n的值為的值為3。運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式c=a+ba=b=c=d=10 x=(a=5)+(b=8)a=(a+b)a=(b=(c=(d=10)a=5,
18、b=8, x=a+b運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符:復(fù)合賦值運(yùn)算符:+=, -=, *=, /=, %=簡化了賦值表達(dá)式簡化了賦值表達(dá)式 = 由下面的表達(dá)式簡化而來由下面的表達(dá)式簡化而來 = 舉例舉例運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式a+=5x*=y+7x+=x-=x*=xa=a+5x=x*(y+7)x=x+(x=x-(x=x*x)運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式逗號運(yùn)算符逗號運(yùn)算符逗號運(yùn)算符:逗號運(yùn)算符:,優(yōu)先級:優(yōu)先級:15。結(jié)合性:從左往右。結(jié)合性:從左往右。逗號表達(dá)式逗號表達(dá)式, , , x=1, (a=b+1), i+求解過程:先求表達(dá)式求解過程:先求表達(dá)式1的值,再求表達(dá)式的值,再求表達(dá)式2的值,的值,直,直至求出表達(dá)式至求出表達(dá)式n的值。的值。表達(dá)式的值為表達(dá)式表達(dá)式的值為表達(dá)式
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版某三期護(hù)坡樁工程施工過程監(jiān)測與評估合同4篇
- 2025年度生態(tài)地板安裝與環(huán)保認(rèn)證服務(wù)合同4篇
- 二零二五年度品牌推廣電子商務(wù)B2B購銷數(shù)字資產(chǎn)交易合同4篇
- 2025年度文化創(chuàng)意產(chǎn)業(yè)聘用員工勞動(dòng)合同標(biāo)準(zhǔn)文本4篇
- 二零二五年度健康食品品牌形象設(shè)計(jì)與市場推廣合同3篇
- 二零二五年度生態(tài)農(nóng)場果品出口貿(mào)易合同4篇
- 二零二五年度家政服務(wù)合同中退款條款
- 二零二五年度商業(yè)空間面積調(diào)整補(bǔ)充合同4篇
- 2025年美發(fā)店大數(shù)據(jù)分析與營銷策略合作合同協(xié)議書
- 課題申報(bào)參考:媒介化加速視域下社交媒體新個(gè)體文化的建構(gòu)與引導(dǎo)研究
- 江蘇中國中煤能源集團(tuán)有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫附帶答案詳解
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 加強(qiáng)教師隊(duì)伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會精神專題課
- 2025警察公安派出所年終總結(jié)工作匯報(bào)
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊期末復(fù)習(xí)卷(含答案)
- 2024年決戰(zhàn)行測5000題言語理解與表達(dá)(培優(yōu)b卷)
- 四年級數(shù)學(xué)上冊人教版24秋《小學(xué)學(xué)霸單元期末標(biāo)準(zhǔn)卷》考前專項(xiàng)沖刺訓(xùn)練
- 中國游戲發(fā)展史課件
- (完整版)減數(shù)分裂課件
- 銀行辦公大樓物業(yè)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 第01講 直線的方程(九大題型)(練習(xí))
評論
0/150
提交評論