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

下載本文檔

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

文檔簡介

關于運算符與表達式第1頁,講稿共46頁,2023年5月2日,星期三3.1C語言運算符概述運算符是一種符號,它告訴計算機執(zhí)行某些數(shù)學或邏輯操作。在程序中,運算符用于數(shù)據(jù)和變量的操作。

第2頁,講稿共46頁,2023年5月2日,星期三3.1C語言運算符概述C語言的運算符:算術運算符、關系運算符、邏輯運算符、賦值運算符、條件運算符、逗號運算符等表達式就是操作數(shù)和運算符的組成系列,最終推導出一個值。第3頁,講稿共46頁,2023年5月2日,星期三3.2算術運算符與表達式

3.2.1算術運算符第4頁,講稿共46頁,2023年5月2日,星期三3.2.2算術表達式用算術運算符和括號將運算對象(即操作數(shù))連接起來的、符合C語言語法規(guī)則的表達式,稱為算術表達式。1.整數(shù)算術運算

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

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

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

第15頁,講稿共46頁,2023年5月2日,星期三3.4賦值運算符與表達式

3.4.1賦值運算符與賦值表達式

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

a=5設a=3,b=a+2第16頁,講稿共46頁,2023年5月2日,星期三2.賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子就稱為“賦值表達式”。其一般形式如下:<變量>=<表達式>

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

3.5.1關系運算符第21頁,講稿共46頁,2023年5月2日,星期三3.5.2關系表達式用關系運算符連接起來的兩個表達式稱為關系表達式。其中,關系運算符兩側的表達式可以是算術表達式、邏輯表達式、賦值表達式和字符表達式等。a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)關系表達式的值是一個邏輯值,即“真”或“假”。在C語言中沒有邏輯類型的數(shù)據(jù),所以用整數(shù)“1”表示邏輯“真”,用整數(shù)“0”表示邏輯“假”。第22頁,講稿共46頁,2023年5月2日,星期三關系表達式的值假設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頁,2023年5月2日,星期三判斷兩個數(shù)是否相等

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

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ù)),就認為1.0/3.0*3.0與1.0相等。第24頁,講稿共46頁,2023年5月2日,星期三3.6條件運算符與表達式

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

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

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

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

第39頁,講稿共46頁,2023年5月2日,星期三第40頁,講稿共46頁,2023年5月2日,星期三【例3-10】銷售人員的工資

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

1500.00

溫馨提示

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

評論

0/150

提交評論