運算符與表達(dá)式_第1頁
運算符與表達(dá)式_第2頁
運算符與表達(dá)式_第3頁
運算符與表達(dá)式_第4頁
運算符與表達(dá)式_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)于運算符與表達(dá)式第1頁,課件共46頁,創(chuàng)作于2023年2月3.1C語言運算符概述運算符是一種符號,它告訴計算機(jī)執(zhí)行某些數(shù)學(xué)或邏輯操作。在程序中,運算符用于數(shù)據(jù)和變量的操作。

第2頁,課件共46頁,創(chuàng)作于2023年2月3.1C語言運算符概述C語言的運算符:算術(shù)運算符、關(guān)系運算符、邏輯運算符、賦值運算符、條件運算符、逗號運算符等表達(dá)式就是操作數(shù)和運算符的組成系列,最終推導(dǎo)出一個值。第3頁,課件共46頁,創(chuàng)作于2023年2月3.2算術(shù)運算符與表達(dá)式

3.2.1算術(shù)運算符第4頁,課件共46頁,創(chuàng)作于2023年2月3.2.2算術(shù)表達(dá)式用算術(shù)運算符和括號將運算對象(即操作數(shù))連接起來的、符合C語言語法規(guī)則的表達(dá)式,稱為算術(shù)表達(dá)式。1.整數(shù)算術(shù)運算

參加算術(shù)運算的兩個操作數(shù)都是整數(shù),那么這個表達(dá)式就稱為整數(shù)表達(dá)式,該操作稱為整數(shù)算術(shù)運算,其結(jié)果總是一個整數(shù)值。第5頁,課件共46頁,創(chuàng)作于2023年2月【示例】假設(shè)變量a=14,b=4,則a-b=10 a+b=18 a*b=56 a/b=3(小數(shù)部分被截除)a%b=2(余數(shù))對于取模運算,結(jié)果的符號總與第一個操作數(shù)(被除數(shù))的符號相同:-14%3=-2 -14%-3=-2 14%-3=2第6頁,課件共46頁,創(chuàng)作于2023年2月2.實數(shù)算術(shù)運算

參加算術(shù)運算的兩個操作數(shù)都是實數(shù),那么這個表達(dá)式就稱為實數(shù)表達(dá)式,該操作稱為實數(shù)算術(shù)運算,其結(jié)果總是一個實數(shù)值。6.0/7.0=0.8571431.0/3.0=0.333333【注意】實數(shù)不能進(jìn)行%(求余)運算第7頁,課件共46頁,創(chuàng)作于2023年2月3.混合算術(shù)運算如果表達(dá)式中既有實數(shù),又有整數(shù),則稱此表達(dá)式為混合算術(shù)表達(dá)式,其結(jié)果是一個實數(shù)。15/10.0=1.5而15/10=1第8頁,課件共46頁,創(chuàng)作于2023年2月3.2.3運算符的優(yōu)先級與結(jié)合性1.優(yōu)先級在表達(dá)式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。a-b*c,相當(dāng)于a-(b*c)。2.結(jié)合性如果一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,如a-b+c,按規(guī)定的“自左向右”處理。C規(guī)定了各種運算符的優(yōu)先級和結(jié)合性,可參見附錄II。第9頁,課件共46頁,創(chuàng)作于2023年2月3.小括號的用途C語言中小括號也作為一個特殊的運算符來處理,并且它的優(yōu)先級別是最高的,所以在一些比較長或復(fù)雜的表達(dá)式中,可以恰當(dāng)?shù)氖褂眯±ㄌ栆?guī)定運算的先后次序?!臼纠吭O(shè)a=8,b=2,c=16,d=8(a+b)*(c-d)的值為80a+b*c-d的值為32a/(c/d)的值為4a/c/d的值為0第10頁,課件共46頁,創(chuàng)作于2023年2月3.2.4表達(dá)式中的類型轉(zhuǎn)換如果一個運算符兩側(cè)的數(shù)據(jù)類型不同,可以進(jìn)行隱式類型轉(zhuǎn)換(系統(tǒng)自動進(jìn)行)顯式類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)第11頁,課件共46頁,創(chuàng)作于2023年2月隱式類型轉(zhuǎn)換inti,x;floatf;doubled;longintl;進(jìn)行x=l/i+i*f-d的運算第12頁,課件共46頁,創(chuàng)作于2023年2月顯式類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)強(qiáng)制類型轉(zhuǎn)換運算符的一般形式:(類型名)(表達(dá)式)(double)a 將a轉(zhuǎn)換成double類型(int)(x+y) 將x+y的值轉(zhuǎn)換成整型(float)(5%3) 將5%3的值轉(zhuǎn)換成float型【注意】要轉(zhuǎn)換的表達(dá)式應(yīng)該用括號括起來,如果寫成(int)x+y,則是將x裝換成整型,然后與y相加。第13頁,課件共46頁,創(chuàng)作于2023年2月3.3自增運算符與表達(dá)式

自增運算符:++自減運算符:--自增自減運算符都是單目運算符,需要使用變量作為它們的操作數(shù),其表達(dá)式格式為:++變量名--變量名 變量名++ 變量名--其中,運算符在變量名前面,稱為前綴;運算符在變量名后面,稱為后綴。++i與--i是指在使用i之前,先把i的值加1或減1。i++與i--則是指在使用i之后,再把i的值加1或減1。第14頁,課件共46頁,創(chuàng)作于2023年2月【例3-1】自增自減運算符示例

第15頁,課件共46頁,創(chuàng)作于2023年2月3.4賦值運算符與表達(dá)式

3.4.1賦值運算符與賦值表達(dá)式

1.賦值運算符符號“=”就是賦值運算符,它是將一個數(shù)賦給一個變量。

a=5設(shè)a=3,b=a+2第16頁,課件共46頁,創(chuàng)作于2023年2月2.賦值表達(dá)式由賦值運算符將一個變量和一個表達(dá)式連接起來的式子就稱為“賦值表達(dá)式”。其一般形式如下:<變量>=<表達(dá)式>

a=2a=b=c=3第17頁,課件共46頁,創(chuàng)作于2023年2月3.賦值運算時的類型轉(zhuǎn)換將實型數(shù)據(jù)賦給整型變量時,需要舍棄該實數(shù)的小數(shù)部分。例如:inta=1.23;變量a得到的值為1,小數(shù)部分被舍棄。將整型數(shù)據(jù)賦給單、雙精度變量時,數(shù)值不變,但是將以浮點數(shù)的形式存儲到變量之中。例如:floatb=10;則需要將10轉(zhuǎn)換為10.00000,再存儲到b中。以上類型轉(zhuǎn)換是由系統(tǒng)自動進(jìn)行的。第18頁,課件共46頁,創(chuàng)作于2023年2月【例3-2】賦值運算符示例main(){inta=2; /*定義并初始化整型變量a*/doublee=5.123; /*定義并初始化雙精度變量e*/floatf=4.2; /*定義并初始化單精度變量f*/floatc=e/a; /*定義并初始化單精度變量c*/intb=(int)f%a; /*對f進(jìn)行強(qiáng)制類型轉(zhuǎn)換*/printf("%d,%f\n",b,c);/*輸出變量b和c的值*/}第19頁,課件共46頁,創(chuàng)作于2023年2月3.4.2復(fù)合賦值運算符第20頁,課件共46頁,創(chuàng)作于2023年2月3.5關(guān)系運算符與表達(dá)式

3.5.1關(guān)系運算符第21頁,課件共46頁,創(chuàng)作于2023年2月3.5.2關(guān)系表達(dá)式用關(guān)系運算符連接起來的兩個表達(dá)式稱為關(guān)系表達(dá)式。其中,關(guān)系運算符兩側(cè)的表達(dá)式可以是算術(shù)表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式和字符表達(dá)式等。a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)關(guān)系表達(dá)式的值是一個邏輯值,即“真”或“假”。在C語言中沒有邏輯類型的數(shù)據(jù),所以用整數(shù)“1”表示邏輯“真”,用整數(shù)“0”表示邏輯“假”。第22頁,課件共46頁,創(chuàng)作于2023年2月關(guān)系表達(dá)式的值假設(shè)num1=3,num2=4,num3=5,則:num1>num2的值=0。(num1>num2)!=num3的值=1。num1<num2<num3的值=1。(num1<num2)+num3的值=6。示例3-4第23頁,課件共46頁,創(chuàng)作于2023年2月判斷兩個數(shù)是否相等

判斷兩個整數(shù)是否相等,可以直接用關(guān)系運算符==。判定兩個實數(shù)是否相等時,由于計算機(jī)存儲上出現(xiàn)的誤差,會出現(xiàn)錯誤的結(jié)果,

1.0/3.0*3.0==1.0為“假”,即0fabs(1.0/3.0*3.0–1.0)<1e-5fabs是求絕對值函數(shù)。只要1.0/3.0*3.0與1.0之間的差小于10-5(或一個其它的很小的數(shù)),就認(rèn)為1.0/3.0*3.0與1.0相等。第24頁,課件共46頁,創(chuàng)作于2023年2月3.6條件運算符與表達(dá)式

條件運算符是“?:”,它是一個三目運算符,要求有三個操作數(shù)。條件表達(dá)式形式:表達(dá)式1?表達(dá)式2:表達(dá)式3第25頁,課件共46頁,創(chuàng)作于2023年2月【例3-5】條件運算符:計算a+|b|第26頁,課件共46頁,創(chuàng)作于2023年2月第27頁,課件共46頁,創(chuàng)作于2023年2月3.7邏輯運算符與表達(dá)式

3.7.1邏輯運算符&& 邏輯與|| 邏輯或! 邏輯非第28頁,課件共46頁,創(chuàng)作于2023年2月C語言在給出邏輯結(jié)果的時候,以數(shù)值1代表“真”,以數(shù)值0代表“假”;但在判斷一個量是否為“真”時,以0代表“假”,非0代表“真”。故C語言邏輯運算的真值表可改為表3.5所示。第29頁,課件共46頁,創(chuàng)作于2023年2月【例3-6】邏輯運算符inta=4,b=5,x=2,y=1;(a>b)&&(x>y)(a>b)||(x>y)!a第30頁,課件共46頁,創(chuàng)作于2023年2月3.7.2邏輯表達(dá)式

用邏輯運算符將表達(dá)式連接起來,構(gòu)成的表達(dá)式稱為邏輯表達(dá)式判斷某一年份year是否閏年的邏輯表達(dá)式為:(year%4==0)&&(year%100!=0)||(year%400==0)第31頁,課件共46頁,創(chuàng)作于2023年2月邏輯表達(dá)式應(yīng)用:判別x是否屬于[a,b]數(shù)學(xué)上判別x是否在區(qū)間[a,b]中時,習(xí)慣上寫成a≤x≤bC語言中為了判別x是否在[a,b]范圍內(nèi),應(yīng)寫成:a<=x&&x<=b第32頁,課件共46頁,創(chuàng)作于2023年2月在ASCII碼表中26個大寫字母的取值為區(qū)間[65,90];26個小寫字母的取值為區(qū)間[97,122];練習(xí):判別某個字符變量ch是否為大寫字母的C語言表達(dá)式每個大寫字母的ASCII碼值加32就是其對應(yīng)小寫字母的ASCII碼值,這一點常常被利用進(jìn)行大小寫字母之間的轉(zhuǎn)換。第33頁,課件共46頁,創(chuàng)作于2023年2月【例3-7】邏輯表達(dá)式運用:大寫字母轉(zhuǎn)換為小寫字母第34頁,課件共46頁,創(chuàng)作于2023年2月第35頁,課件共46頁,創(chuàng)作于2023年2月邏輯運算符兩側(cè)的操作數(shù),除可以是0和非0的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。對于邏輯與運算,如果第一個操作數(shù)被判定為“假”,系統(tǒng)不再判定或求解第二操作數(shù)。即:0&&a=0。對于邏輯或運算,如果第一個操作數(shù)被判定為“真”,系統(tǒng)不再判定或求解第二操作數(shù)。即:1||a=1。假設(shè)n1、n2、n3、n4、x、y的值分別為1、2、3、4、1、1,則求解表達(dá)式“(x=n1>n2)&&(y=n3>n4)”后,x、y的值分別是多少?第36頁,課件共46頁,創(chuàng)作于2023年2月【例3-8】寫出描述點A(x,y)落在圖3.11中陰影部分(不壓線)的C語言邏輯表達(dá)式。第37頁,課件共46頁,創(chuàng)作于2023年2月3.8逗號運算符與表達(dá)式

逗號運算符的作用是將兩個表達(dá)式連接起來。一般形式如下:表達(dá)式1,表達(dá)式2它的求解過程為:先求解表達(dá)式1,再求解表達(dá)式2,整個表達(dá)式的值是表達(dá)式2的值。a=3,b=4的值為4。第38頁,課件共46頁,創(chuàng)作于2023年2月【例3-9】讀取一個三位數(shù)字的整數(shù),顯示這3個數(shù)字之和。

第39頁,課件共46頁,創(chuàng)作于2023年2月第40頁,課件共46頁,創(chuàng)作于2023年2月【例3-10】銷售人員的工資

某電器銷售公司對其銷售人員的薪資由基本工資、獎金和提成三部分組成,并且制定如下獎懲政策:基本工資

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論