資源描述:
《《運算符與表達式》PPT課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章運算符與表達式本章將介紹C語言中的運算符與表達式的種類、優(yōu)先級和結(jié)合性。通過本章的學(xué)習(xí),使讀者掌握幾種常見的運算符和表達式的求值規(guī)則和特點,包括算術(shù)、關(guān)系、邏輯、條件、賦值等運算符和表達式,并掌握不同類型數(shù)據(jù)之間的轉(zhuǎn)換規(guī)律。運算符與表達式的概述算術(shù)運算符及算術(shù)表達式關(guān)系運算符及關(guān)系表達式邏輯運算符及邏輯表達式其他運算符的應(yīng)用運算符的優(yōu)先級與結(jié)合性3.1運算符與表達式的概述在C語言中表達式主要有算術(shù)表達式、關(guān)系表達式、邏輯表達式、賦值表達式、條件表達式和逗號表達式等。3.1.1運算符運算符是表示運算類型和規(guī)則的特定符號。C語言中的主要運算符及其含義如表3.1所示。表3.1運算符及其含義運
2、算符類型運算符號含義算術(shù)運算符+,–,*,/,%等對數(shù)值進行算術(shù)常規(guī)運算關(guān)系運算符>,<,>=,<=,==,!=等對具體數(shù)值的大小進行比較運算邏輯運算符!,&&,
3、
4、對條件的組合判斷位運算符>>,<<,~,
5、,^,&對二進制數(shù)進行處理賦值運算符=把表達式的值賦予變量條件運算符?,:依據(jù)條件判斷結(jié)果返回相應(yīng)的值逗號運算符,多個表達式的組合指針運算符*,&指針類型特有的運算續(xù)表運算符類型運算符號含義求字節(jié)數(shù)運算符sizeof求取變量存儲的字節(jié)數(shù)強制類型轉(zhuǎn)換運算符(類型名)針對不同數(shù)據(jù)類型的相互轉(zhuǎn)換分量運算符.,→用于結(jié)構(gòu)體成員的引用下標(biāo)運算符[]用于取數(shù)組元素值3.1.2表達式的定義在C語言中表
6、達式是通過各種運算符把多個運算對象組合起來而形成的式子,運算對象包括常量、變量及函數(shù)。例如:intradius;floatgirth,pi=3.14;girth=2*pi*radius;其中,表達式2*pi*radius是由常量2、變量pi及radius組成的。通常,單個的常量、變量和函數(shù)也可以看做是一個表達式。例如:intradius;等都可以看做表達式。3.1.3表達式的值表達式無論長短,最終應(yīng)該計算出一個確定的值,其結(jié)果的類型取決于表達式的類型及表達式中混合運算時的類型轉(zhuǎn)換。例如:intnum1,num2=15;floatf1,f2=2.15;charch1,ch2=‘
7、a’;num1=f2*ch2-15;f1=f2*ch2-15;ch1=f2*ch2-15;可見,表達式結(jié)果的類型取決于表達式的類型,如num1=f2*ch2-15,其結(jié)果是整型;f1=f2*ch2-15,其結(jié)果是實型。3.2算術(shù)運算符及算術(shù)表達式C語言中的運算符范圍很廣,把除了控制語句和輸入輸出外的基本操作都作為運算符處理。其中以算術(shù)運算符最重要,本節(jié)將重點介紹。3.2.1算術(shù)運算符算術(shù)運算符是對數(shù)據(jù)進行的算術(shù)運算。常見的算術(shù)運算符及其含義如表3.2所示。表3.2算術(shù)運算符及其含義算術(shù)運算符含義實例+加法運算符或正號如25+15,+35–減法運算符或負號如85–30,–25*乘法運算符
8、如15*25/除法運算符如85/15(值為5)%求模運算符如85%15(值為10)++自增運算符如15++--自減運算符如15--3.2.2算術(shù)表達式的定義關(guān)于算術(shù)表達式應(yīng)注意以下幾點:(1)兩個整數(shù)相除其結(jié)果也為整數(shù),如75/15=5,18/26=0;兩個整數(shù)求模運算其結(jié)果應(yīng)為這兩個整數(shù)相除的余數(shù),如85%15=10,18%26=18。例3.1求任意兩個數(shù)相除得到的結(jié)果及余數(shù)。程序#includemain(){intnum1,num2,num3,num4;printf("Pleaseinputtwonumbers:");scanf("%d,%d",&num1
9、,&num2);num3=num1/num2;num4=num1%num2;printf("Theresultis%d.",num3);printf("Theresidueis%d.",num4);}輸入Pleaseinputtwonumbers:75,15↙輸出Theresultis5.Theresidueis10.(2)自增運算符(++)與自減運算符(--)都是單目運算符,通常運算的對象是整型變量,而不是表達式,它們的作用分別是讓變量的值加1或減1。如i++相當(dāng)于i=i+1;i--相當(dāng)于i=i-1。在進行運算時,運算符可以位于變量的左邊,也可以位于其右邊,具體含義不同。1
10、)++i,--i:含義是在使用i之前,先使i的值加(減)1。2)i++,i--:含義是在使用i之后,使i的值加(減)1。例3.2自增、自減運算符實例。程序#includemain(){inti=10;intj,k;j=i++;k=++i;printf("i=%d,j=%d,k=%d",i,j,k);j=i--;k=--i;printf("i=%d,j=%d,k=%d",