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

下載本文檔

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

文檔簡介

1、Chapter 3,運算符和表達式,5/9/2020,西安工業(yè)大學計算機學院,3.4,運算符和表達式,算術運算符:(,+ -,* / % + -,),關系運算符:(, = !=,),邏輯運算符:(!, float c=150;,a*b=? a*c=? a/b=? a/c=?,-5536,60000.000000,2,2.666667,例:,4000 =,?,123/10 = ?,5/9/2020,西安工業(yè)大學計算機學院,2.,算術表達式,1).,用算術運算符和括號將運算對象,(,也叫操作數(shù),),連接起來的,符合語言語法規(guī)則的式子,稱為算術表達式。,運算對象包括常量、變量和函數(shù)等。,如,: 3.

2、14*r*r,*,1.5,a,2).,運算規(guī)則,?,優(yōu)先級:,-,=,* / %,=,+ -,?,結合方向:,左向右,?,運算結果:,數(shù)值型,5/9/2020,西安工業(yè)大學計算機學院,3.,自增與自減,+i, -i,:,在使用,i,之前,先使,i,的值加,1,或減,1,i+, i-,:,在使用,i,之后,使,i,的值加,1,或減,1,注意,:,1),自增、自減運算符只能用于變量,不能用于常量或表達式,.,如,: 5+, -(x+y),2)+,、,-,的優(yōu)先級別高于算術運算符,結合方向自右向左,.,如,: -i+,相當于,-(i+),i+j,相當于,(,i+,),+j,5/9/2020,西安工業(yè)

3、大學計算機學院,例,:,#include ,void main( ), int i=0, j;,j=+i;,printf( i=%dtj=%dn, i, j);,i=0;,j=i+;,printf( i=%dtj=%dn, i, j);,運行結果:,1 1,1 0,5/9/2020,西安工業(yè)大學計算機學院,例:,int i = 3, j, k ; j = i + ; k = + i ;,int i = 3, j ; j = ( i + ) + ( i + ) + ( i + ) ;,int i = 3, j ; j = ( + i ) + ( + i ) + ( + i ) ;,注意,:,在程

4、序中,盡量不要使用后兩種容易引起歧義,的寫法,代碼要盡可能簡單易懂,5/9/2020,西安工業(yè)大學計算機學院,2.4.2,賦值運算符與賦值表達式,1.,簡單賦值運算符,=,用法,:,變量,=,表達式,;,作用,:,將表達式的值賦給變量,.,如,: a=6;,sum = a+b;,c=getchar();,5/9/2020,西安工業(yè)大學計算機學院,2.,復合賦值運算符:,在賦值運算符,“,=,”,之前加上其它運,算符,構成復合賦值運算符,+=,(加賦值),-=,(減賦值),*=,(乘賦值),/=,(除賦值),%=,(求余賦值),|=,(按位或賦值),=,(按位異或賦值),=,(左移位賦值),=,

5、(右移位賦值),(,右結合,),a=b=c=5;,a=5+(c=6);,while(c=getchar()!= EOF),計算過程,:(1),計算賦值運算符右邊表達式的值,.,(2),將計算結果賦給左邊的變量,.,(3),賦值表達式的值就是被賦值的變量的值,.,例,:,a=6,;,a+=a-=a*a;,等價于,a=a+(a-(a*a)?,結果是多少?,5/9/2020,西安工業(yè)大學計算機學院,2.4.3,關系運算符和關系表達式,1.,關系運算符:,C,語言提供了以下六種關系運算符:,大于,=,大于等于,小于,=,等于,=,小于等于,!=,不等于,2.,關系表達式:用關系運算符將兩個運算對象連接

6、起,來形成關系表達式。,如:,ab,,,(,ab,),(,bc,),運算規(guī)則,?,優(yōu)先級:, = =,稍高,,= !=,稍低,?,結合方向:,自左向右,?,運算結果:,邏輯值真或假,=,1,或,0,5/9/2020,西安工業(yè)大學計算機學院,例,:,Given a=1,b=2,c=3,please evaluate the value of the following expression:,a+b=3,cba,c=a=b,a+=b,(,ab,),(,bc,),5/9/2020,西安工業(yè)大學計算機學院,2.4.4,邏輯運算符和邏輯表達式,1.,邏輯運算符,:,3,種,分別是, b=0.5; x=

7、0.3;,則,a=x=b,的值為,。,?,int i=1, j=7,a; a=i+(j%4!=0);,則,a=,。,?,a,0,結果為,,,A,100,結果為,5/9/2020,。,。,西安工業(yè)大學計算機學院,2.4.5,逗號運算符與逗號表達式,1,、逗號運算符:用于連接多個表達式,2,、逗號表達式:,型如以下形式,表達式,1,表達式,2,表達式,i,求解過程,:,1),求解表達式,1,2),再求解表達式,2,表達式,i,3),整個逗號表達式的值是表達式,i,的值,.,例,:,a=(3*5,a*4),a+6,x=(a=3,6*3),x=a=3,6*a,逗號運算符是所有運算符中級別最低的,.,5

8、/9/2020,西安工業(yè)大學計算機學院,2.4.6,條件運算符與條件表達式,1,、條件運算符:,?,:唯一的三目運算符,2,、條件表達式:,型如以下形式,expr1 ? expr2 : expr3,求解過程,:,1),求解,expr1,的值,2),若,expr1,為非,0,,則返回,expr2,的值,3),若,expr1,為,0,,則返回,expr3,的值,可以看出,條件表達,式的作用相當于執(zhí)行,了分支判斷,但又不,能完全取代選擇結構,5/9/2020,非,0,expr1,=0,取,expr2,值,取,expr3,值,西安工業(yè)大學計算機學院,例,if (ab),printf(,“,%d,”,a

9、);,else,printf(,“,%d,”,b);,printf(,“,%d,”,ab?a:,b);,例,(a=b)?,Y,:,N,(x%2=1)?1:0,(x=0)?x:-x,(c=,a,4.,自增,自減;,5.,同優(yōu)先級,按從右向左結合,i+,?,-(i+),;,5/9/2020,西安工業(yè)大學計算機學院,數(shù)據(jù)類型,運算符與表達式舉例,例,1,書寫下列算式的表達式。,(1) v=1/2at,2,(2) d=abc,2,(3),x,1,?,?,b,?,b,?,4,ac,2,a,(4),sin,x,?,cos,x,y,?,tan,x,西安工業(yè)大學計算機學院,5/9/2020,解,(1),v=0

10、.5*a*t*t,(2),d=(a=b),char c,;,(1) a+b+i/j+c,=12.3-,8.2+5/4+a,=4.1+1+97=102.1 (double,型,),(2) i%j+c/i,=5%4+a/5,=1+97/5=1+19=20 (int,型,),5/9/2020,西安工業(yè)大學計算機學院,(3) ab+c=j,=12.3(-,8.2)+a=4,=12.3(-8.2+97)=4,=12.388.8=4,=0=4=1 (int,型,),(4) ij&jc,=54&4a,=0 (int,型,)(,注:,4a,沒有判斷,),5/9/2020,西安工業(yè)大學計算機學院,(5) i&j,=5&4=00000101&0000010

溫馨提示

  • 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

提交評論