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

下載本文檔

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

文檔簡介

1、Teacher teaching designCONTENTS 目 錄賦值運算符類型轉(zhuǎn)換復(fù)合的賦值運算符案例分析 交流提升仿真演練 體驗探索賦值運算符PART 01賦值運算符符號“=”就是賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。如:“x=12”的作用是把常量12賦給變量x。也可以將一個表達式的值賦給一個變量。賦值運算符具有右結(jié)合性,其優(yōu)先級為14,低于算術(shù)運算符。賦值表達式:一般形式為:變量=表達式 說明:表達式是指由C的合法運算符連接常量、變量、函數(shù)而成的合法式子。賦值表達式的值:賦值表達式的值就是被賦值變量的值。由于C語言將“=”定義為賦值運算符,因此其求值過程應(yīng)按運算符的規(guī)定進行。

2、假如: int a=12,b=5,c=3;則賦值表達式x=a/b*c 的計算結(jié)果為x=6,既賦值表達式x=a/b*c 的值為6。賦值表達式 a=b=c=13的值為13 。a=b=c=13可理解為 a=(b=(c=13)x=(a=10)+(b=20) 的值為 30 。其含義是把10賦給a,20賦給b,再把a,b相加的和賦給x,故x應(yīng)等于30。賦值運算的功能是先計算右邊表達式的值,然后再把此值賦給賦值號左邊的變量,確切地說,是把數(shù)據(jù)放入以該變量為標識的存儲單元中去。類型轉(zhuǎn)換PART 02類型轉(zhuǎn)換如果賦值運算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將自動進行類型轉(zhuǎn)換,即把賦值號右邊的類型換成左邊的類型。例如:(

3、1)實型賦予整型,舍去小數(shù)部分。如:int x;x=3.14159;結(jié)果x=3。(2)整型賦給單、雙精度變量時,數(shù)值不變,但將以浮點數(shù)形式存儲。如:將89賦給float變量y,先將89轉(zhuǎn)換為89.00000,再存儲到y(tǒng)中。(3)字符型賦予整型,由于字符型為一個字節(jié),而整型為二個字節(jié),故將字符的ASCII碼值放到整型量的低八位中,高八位為0。整型賦予字符型,只把低八位賦予字符量。復(fù)合的賦值運算符PART 03復(fù)合的賦值運算符在賦值符“=”之前加上其它二元運算符可構(gòu)成復(fù)合賦值符。如+=,- =,*=,=,%=都是復(fù)合賦值符。復(fù)合賦值運算的一般格式為: 變量 雙目運算符 = 表達式 復(fù)合賦值運算符它

4、等價于:變量 = 變量 雙目運算符 (表達式)。例如: x%=y 相當(dāng)于 x=x%y a*=b+c 相當(dāng)于 a=a*(b+c):復(fù)合賦值符的優(yōu)先級和賦值運算符相同(14級),結(jié)合性也相同。這種寫法的目的是可以提高編譯效率并產(chǎn)生質(zhì)量較高的目標代碼。案例分析 交流提升PART 04案例分析 交流提升【例1】程序運行的結(jié)果為: main()int x=3,y=5;x*=x+y;printf(“x=%dn”,x);【例2】以下程序運行后的輸出結(jié)果是 。 main() int a=1,b=2,c=3; if(c=a) printf(%dn,c); else printf(%dn,b); 【例3】以下程序

5、運行后的輸出結(jié)果是 。 main() char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf(%d %fn,n,x); 仿真演練 體驗探索PART 05仿真演練 體驗探索1、賦值運算符的使用(1)若有定義int x=3,y=2;float a=2.5,b=3.5;則表達式(x+y)%2+(int)a/(int)b的值為( ) A)1.0 B)1 C)2.0 D)2(2)設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達式(int)a+b/b的值是( )A)6500000 B)6 C)5.500000 D)6.

6、000000(3)若已定義x 和y 為double,則表達式x=1,y=x+3/2 的值是( )A) 1 B)2 C)2.0 D)2.5(4)下列程序的輸出結(jié)果是( )#includemain() double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf(%dn,d*y);A) 3 B)3.2 C)0 D)3.07(5)有以下程序運行后的輸出結(jié)果是( ) main() int m=3,n=4,x; x=-m+; x=x+8/+n; printf(%dn,x); A)3 B)5 C)-1 D)-2 仿真演練 體驗探索2、表達式的使用(1)下面哪個表達式的值為4.(單選) A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)(2) 已知整型變量a=6,b=7,c=1,則下面表達式的值為多少? a+3 _ (b-a*3)/5 _ c*(a+b)+b*(c+a) _ 3.2*(a+b+c) _3、復(fù)合賦值表達式的使用 (1)設(shè)x,y,z均為整型變量,則執(zhí)行語句x=(y=(z=10)=5)-5;后x,y和z的值是( ) A) x

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論