C語言的基本數(shù)據(jù)類型與表達(dá)式_第1頁
C語言的基本數(shù)據(jù)類型與表達(dá)式_第2頁
C語言的基本數(shù)據(jù)類型與表達(dá)式_第3頁
C語言的基本數(shù)據(jù)類型與表達(dá)式_第4頁
C語言的基本數(shù)據(jù)類型與表達(dá)式_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2.1常量和變量2.2運(yùn)算符與表達(dá)式2.3數(shù)據(jù)類型轉(zhuǎn)換第二章C語言的基本數(shù)據(jù)類型與表達(dá)式第二章目錄

1、程序由語句組成。2、C程序中有一種語句,叫表達(dá)式語句,它的形式是:

表達(dá)式;3、表達(dá)式是由若干運(yùn)算符將若干運(yùn)算量連接而成的式子。4、運(yùn)算量有常量、變量和函數(shù)三種形態(tài)。2.1常量和變量一、常量概念:在程序運(yùn)行中,其數(shù)值不能被改變的量。分類:直接常量和符號常量1.直接常量:是在程序中直接引用的數(shù)據(jù)。分為:整型、實型、字符型、字符串以數(shù)據(jù)的原形出現(xiàn)!第二章2.2常量和變量(1)整型常量(即整數(shù))三種表現(xiàn)形式:十進(jìn)制形式:與數(shù)學(xué)上的整數(shù)表示相同。例如:12,-100,0八進(jìn)制形式:在數(shù)碼前加數(shù)字0。例如:012=1*81+2*80=10(十進(jìn)制)十六進(jìn)制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。例如:0x12=1*161+2*160=18(十進(jìn)制)第二章2.2常量和變量X=12;y=012;z=0x12;?(2)實型常量(即實數(shù))二種表現(xiàn)形式:十進(jìn)制形式:由數(shù)字和小數(shù)點組成;指數(shù)形式:由“十進(jìn)制小數(shù)”+“e(或E)”+“十進(jìn)制數(shù)整數(shù)”三部分組成。第二章2.2常量和變量例如:3.44.

.3

例如:12.5e-6表示12.5×10-6十進(jìn)制小數(shù)e(或E)十進(jìn)制數(shù)整數(shù)注意事項:小數(shù)點不能單獨出現(xiàn);e或E的兩邊必須有數(shù),且其后面必須為整數(shù);

如:0.=.0=0=0.0.

如:6E0.2e56E

第二章2.2常量和變量(3)字符型二種表現(xiàn)形式:用單引號括起來的一個字符;用單引號括起來的由反斜杠(\)引導(dǎo)的轉(zhuǎn)義字符。如:'A'、'1'、'?'等。如:'\n''\101''\x41'在統(tǒng)計字符個數(shù)時,只能記為一個字符第二章2.2常量和變量只能是英文的單引號轉(zhuǎn)義字符表字符形式功能\n換行\(zhòng)t、\V橫向跳格、\b、\r堅向跳格退格、\f回車\\、\'、\"8進(jìn)制數(shù)表示的ASCII碼對應(yīng)的字符反斜杠、單引號、雙引號第二章2.2常量和變量\ddd換頁\xhh16進(jìn)制數(shù)表示的ASCII碼對應(yīng)的字符第二章2.2常量和變量一個字符的多種表示方法:65D(十進(jìn)制)=41H(十六進(jìn)制)=101Q(八進(jìn)制)∴字符A可以表示為'A'、'\x41'、'\101'、65、0x41、0101。要避免的錯誤:表示單引號:'''表示雙引號:'"'表示斜線:

'\'例:“abc\bcef\fg123\01234\x123\n”的長度?

18第二章2.2常量和變量字符的值域:即字符的取值范圍。0-255ASCII字符表中的所有字符,每個字符型數(shù)據(jù)在內(nèi)存中占一個字節(jié)。第二章2.2常量和變量2.符號常常量:特點:在程序中不不能給它賦賦值,必須須先定義,,后使用。概念:是用用標(biāo)識符來來表示一個個數(shù)據(jù)。定義形式:#define標(biāo)標(biāo)識符常常量數(shù)數(shù)據(jù)例如:#definePI3.14159在程序預(yù)處處理時,凡凡是出現(xiàn)標(biāo)標(biāo)識符PI的地方都都將用數(shù)據(jù)據(jù)3.14159來來替換。如:2*2.3*PI就等等價于2*2.3*3.14159。#definePI3.14main(){floatr,l,s,v;scanf(“%f”,&r);l=2*PI*r;s=PI*r*r;v=4*PI*r*r*r/3;printf(““l(fā)=%f,s=%f,v=%f\n”,l,s,v);}第二章2.2常量和變量二、變量變量是指在在程序運(yùn)行行中,其其值可以被被改變的量量?;靖拍睿海鹤兞看碛嬘嬎銠C(jī)內(nèi)存存中的某一一存儲空間間;變量的值就就是該存儲儲空間中存存放的數(shù)據(jù)據(jù);變量的類型型決定了該該存儲空間間的大小及及運(yùn)算的類類型;;該存儲空空間的大小小決定了該該變量所能能存儲的數(shù)數(shù)據(jù)的范圍圍。在同一程序序塊中,每每個變量都都有唯一的的名字,不不能被重復(fù)復(fù)定義。使用變量時時必須“先先定義,后后使用”。。inta,b,c;floatx,y;charc1,c2;或或intc1,c2;自己設(shè)定,,滿足標(biāo)識識符的規(guī)定定。如:int,float,char;不可省第二章2.2常量和變量1.定義形形式:類型標(biāo)識符符變量量名1[,變量名名2,變量量名3,...];;例如:第二章2.2常量和變量2.整型變變量(1)整型型變量的分分類基本型,以以int表示。短整型,以以shortint表示,或以以short表示。。長整型,以以longint表示,或或以long表示。。無符號型,,其中無符符號型又分分為無符號號整型,無無符號短整整型和無符符號長整型型,分別以以unsignedintunsignedshortunsignedlong表示。intx;longy;2000200120022005xy內(nèi)存內(nèi)存地址20032004第二章2.2常量和變量第二章2.2常量和變量整數(shù)后加一一個字母1或L,則認(rèn)為為是longint型常量.長整型常量量的表示::例如:1231,432L,0L等等等。這往往用于于函數(shù)調(diào)用用中,如果果函數(shù)的形形參為long型,則要求實實參也為long型,此時時用123作實參不不行,而要要用123L作實參參。第二章2.2常量和變量3、實型變變量的分類類(1)實型型變量的分分類單精度(float)型雙精度(double)型

占內(nèi)存有效數(shù)字位數(shù)范圍float4個字節(jié)710-38-1038double8個字節(jié)14-1510-308-10308(2)實例例floatx;doubley;2000200320042011xy內(nèi)存內(nèi)存地址第二章2.2常量和變量例如:charc;c=’a’’;c=’\034’;c=’’\n’;c=’\x65’;c=65;c=0101;c=0x41;第二章2.2常量和變量4.字符變量量字符變量用來來存放字符常常量,注意一一個字符變量量只能存放一一個字符。一般以一個字字節(jié)來存放一一個字符,或或者說一個字字符變量在內(nèi)內(nèi)存中占一個個字節(jié)。注意:字符型型數(shù)據(jù)在ascII碼范范圍內(nèi)與整型型數(shù)據(jù)通用??!如:‘A’’和數(shù)值65等價。例:main(){intx=32,y;y=x+’A’;printf(“%d,%c”,y,y);}運(yùn)行結(jié)果為::97,a第二章2.2常量和變量5.變量初始始化在說明變量的的同時給變量量一個初始值值。變量定義分配存儲空間間變量初始化分配存儲空間間的同時存入入數(shù)據(jù)inta,b;ab??inta=1,b=2;ab12不確定例2-3:看看一看,下列列的定義哪些些是正確的??inta=5,b=3;inta=b=c=3;inta,b,c;a=b=c=3;第二章2.2常量和變量2.2運(yùn)算算符與表達(dá)式式運(yùn)算符的分類類算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符按位運(yùn)算符其它運(yùn)算符表達(dá)式:是由操作數(shù)和運(yùn)算符組成的序列。。第二章2.3運(yùn)算符和表達(dá)式一、算術(shù)運(yùn)算算符和算術(shù)表表達(dá)式1、算術(shù)運(yùn)算算符+:加法-:減法*:乘法/:除法%:取余或模模3+51+1+33-51-1-33*5aba.b3/5=03./5=0.63/5.=0.613%5=3a%ba、b必必須為整數(shù)5%3=221%7=06%8=6第二章2.3運(yùn)算符和表達(dá)式2、算術(shù)表達(dá)達(dá)式用算術(shù)運(yùn)算符和括符將操作數(shù)連接接起來的式子子。優(yōu)先級:()*/%+-結(jié)合性自左向右,與與數(shù)學(xué)上一致致。表達(dá)式在執(zhí)行行時,先執(zhí)行行優(yōu)先級高的的運(yùn)算,再執(zhí)執(zhí)行優(yōu)先級低低的運(yùn)算;當(dāng)當(dāng)優(yōu)先級平級級時,則根據(jù)據(jù)優(yōu)先級的結(jié)結(jié)合性來決定定運(yùn)算的先后后。第二章2.3運(yùn)算符和表達(dá)式結(jié)合性是指同同級運(yùn)算時運(yùn)運(yùn)算符的結(jié)合合方向。如 a#b#c(#代代表某一運(yùn)算算符)A、若先運(yùn)算算a#b,再再將其結(jié)果與與c運(yùn)算,稱為左結(jié)合性性;從左至右右運(yùn)算規(guī)則B、若先運(yùn)算算b#c,再再將a與其結(jié)結(jié)果運(yùn)算,則稱右結(jié)合性性。從右至左左運(yùn)算規(guī)則3.自增與自自減運(yùn)算符(重點和難難點)第二章2.3運(yùn)算符和表達(dá)式++i,--i先增(減)1,再使用i值i++,i--先使用i值,,再增(減))1(1)單獨獨使用時++i;等價i++;等價i=i+1;(2)j=++i;(3)j=i++;若i的初始值值為3i=4;j=4;i=4;j=3;第二章2.3運(yùn)算符和表達(dá)式結(jié)合性:自右向左例:i=2;j=-i++;分析:應(yīng)理解解為j=(-(i++));(1)++、、--、+((正號)、-(取負(fù))是是同級運(yùn)算符符,結(jié)合方向向:自右向左。(2)-i++等價于于-(i++)(3)對于于括號內(nèi)的自自增運(yùn)算,又又要先使用i,再使i增增加1。運(yùn)算結(jié)果:i的值為3,j的值為為-2。四、賦值運(yùn)算算符和賦值表表達(dá)式1、賦值運(yùn)算算符=(數(shù)學(xué)上上的等號)功能:將一個個表達(dá)式的值值賦給一個變量。2、賦值表達(dá)達(dá)式用賦值運(yùn)算符符將變量和表表達(dá)式連接起起來的式子形式:<變量>=<表達(dá)式>求值規(guī)則:將“=”右邊邊表達(dá)式的值值賦給左邊的的變量。結(jié)合性:自右右至左第二章2.3運(yùn)算符和表達(dá)式賦值表達(dá)式的的值就是被賦賦值變量所獲獲得的值例2-9:(1)x=(y=12)/4y值為12,,x值為3,,表達(dá)式的值值為3(2)x=y=12/4y值為3,x值為3,表表達(dá)式的值為為3(3)x=(y=12/4)(y值為3,,x值為3,,表達(dá)式的值值為3(4)(x=y)=12/4該賦值運(yùn)算符符左邊不是變變量,而是一一個表達(dá)式,,錯!第二章2.3運(yùn)算符和表達(dá)式3、復(fù)合賦值值運(yùn)算符*=、/=、、%=、+=、-=、<<=、>>=、&=、、Λ=、|=共10個由賦值運(yùn)算符符與算術(shù)、位位移、位邏輯輯運(yùn)算符組成成。復(fù)合運(yùn)算符是是一個運(yùn)算符符,但功能上上,是兩個運(yùn)運(yùn)算符功能的的組合。例2-10::a+=b相相當(dāng)當(dāng)于a=a+ba*=b+c相當(dāng)當(dāng)于a=a*(b+c)a=2;a+=a*=a;第二章2.3運(yùn)算符和表達(dá)式五、其它運(yùn)算算符1、逗號運(yùn)算符形式:逗號表達(dá)式1,逗號表達(dá)達(dá)式2,…,,逗號表達(dá)式式n求值規(guī)則:從左至右依次次計算各表達(dá)達(dá)式的值優(yōu)先級最低結(jié)合性:自左至右表達(dá)式的值最后一個表達(dá)達(dá)式的值。第二章2.3運(yùn)算符和表達(dá)式例2-12:aby逗號表達(dá)式y(tǒng)=a=4,b=5,a+b;4549y=(a=4,b=5,a+b);4599y=(a=4,b=5),a+b;4559y=a=(4,b=5),a+b;55510第二章2.3運(yùn)算符和表達(dá)式2、求字節(jié)運(yùn)運(yùn)算符形式:sizeof變量名名sizeof(類型名名)功能:求得變量或某某種數(shù)據(jù)類型型所需的字節(jié)節(jié)數(shù)。運(yùn)算結(jié)果:整型數(shù)例2-13::inta;;floatx;sizeofa,sizeofx,sizeof(int),sizeof(float)第二章2.3運(yùn)算符和表達(dá)式2.3數(shù)據(jù)據(jù)類型轉(zhuǎn)換C語言允許整整型、實型、、字符型數(shù)據(jù)據(jù)進(jìn)行混合運(yùn)運(yùn)算。有3種轉(zhuǎn)換方方式:第二章2.4數(shù)據(jù)類型轉(zhuǎn)換自動轉(zhuǎn)換賦值轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換intunsignedintlongintdoublefloatchar,short一、類型自動動轉(zhuǎn)換(隱式式轉(zhuǎn)換)存儲長度較短短存儲長度較長長總趨勢:第二章2.4數(shù)據(jù)類型轉(zhuǎn)換例2-14::intx=2;floaty=1.6;charc='A';;c+x*y=?65(int)2(int)1.6(double)3.2(double)68.2(double)第二章2.4數(shù)據(jù)類型轉(zhuǎn)換二、賦值轉(zhuǎn)換換在賦值時,將將賦值符右邊邊值的類型轉(zhuǎn)轉(zhuǎn)換成與其左左邊變量

溫馨提示

  • 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

提交評論