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

下載本文檔

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

文檔簡介

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

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

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

.3

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

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

如:6E0.2e56E

第二章2.2常量和變量(3)字符型二種表現(xiàn)形式:用單引號括起來的一個字符;用單引號括起來的由反斜杠(\)引導的轉(zhuǎn)義字符。如:'A'、'1'、'?'等。如:'\n''\101''\x41'在統(tǒng)計字符個數(shù)時,只能記為一個字符第二章2.2常量和變量只能是英文的單引號轉(zhuǎn)義字符表字符形式功能\n換行\(zhòng)t、\V橫向跳格、\b、\r堅向跳格退格、\f回車\\、\'、\"8進制數(shù)表示的ASCII碼對應的字符反斜杠、單引號、雙引號第二章2.2常量和變量\ddd換頁\xhh16進制數(shù)表示的ASCII碼對應的字符第二章2.2常量和變量一個字符的多種表示方法:65D(十進制)=41H(十六進制)=101Q(八進制)∴字符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.符符號號常常量量::特點點::在程程序序中中不不能能給給它它賦賦值值,,必必須須先先定定義義,,后后使使用用。概念念::是是用用標標識識符符來來表表示示一一個個數(shù)數(shù)據(jù)據(jù)。。定義義形形式式:#define標標識識符符常常量量數(shù)數(shù)據(jù)據(jù)例如如:#definePI3.14159在程程序序預預處處理理時時,,凡凡是是出出現(xiàn)現(xiàn)標標識識符符PI的的地地方方都都將將用用數(shù)數(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常量和變量二、變量變量是指在程程序運行中,其值可以以被改變的量量?;靖拍睿鹤兞看碛嬎闼銠C內(nèi)存中的的某一存儲空空間;變量的值就是是該存儲空間間中存放的數(shù)數(shù)據(jù);變量的類型決決定了該存儲儲空間的大小小及運算的類類型;該該存儲空間的的大小決定了了該變量所能能存儲的數(shù)據(jù)據(jù)的范圍。在同一程序塊塊中,每個變變量都有唯一一的名字,不不能被重復定定義。使用變量時必必須“先定義義,后使用””。inta,b,c;floatx,y;charc1,c2;或intc1,c2;自己設定,滿滿足標識符的的規(guī)定。如:int,float,char;不可省第二章2.2常量和變量1.定義形式式:類型標識符變變量名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,則認認為是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);}運行結果為::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運算算符與表達式式運算符的分類類算術運算符關系運算符邏輯運算符賦值運算符按位運算符其它運算符表達式:是由操作數(shù)和運算符組成的序列。。第二章2.3運算符和表達式一、算術運算算符和算術表表達式1、算術運算算符+:加法-:減法*:乘法/:除法%:取余或模模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運算符和表達式2、算術表達達式用算術運算符和括符將操作數(shù)連接接起來的式子子。優(yōu)先級:()*/%+-結合性自左向右,與與數(shù)學上一致致。表達式在執(zhí)行行時,先執(zhí)行行優(yōu)先級高的的運算,再執(zhí)執(zhí)行優(yōu)先級低低的運算;當當優(yōu)先級平級級時,則根據(jù)據(jù)優(yōu)先級的結結合性來決定定運算的先后后。第二章2.3運算符和表達式結合性是指同同級運算時運運算符的結合合方向。如 a#b#c(#代代表某一運算算符)A、若先運算算a#b,再再將其結果與與c運算,稱為左結合性性;從左至右右運算規(guī)則B、若先運算算b#c,再再將a與其結結果運算,則稱右結合性性。從右至左左運算規(guī)則3.自增與自自減運算符(重點和難難點)第二章2.3運算符和表達式++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運算符和表達式結合性:自右向左例:i=2;j=-i++;分析::應理理解為為j=(-(i++));(1))++、--、、+((正號號)、、-((取負負)是是同級級運算算符,,結合合方向向:自右向向左。(2))-i++等等價于于-((i++))(3))對對于括括號內(nèi)內(nèi)的自自增運運算,,又要要先使使用i,再再使i增加加1。。運算結結果::i的值值為3,j的值值為-2。。四、賦賦值運運算符符和賦賦值表表達式式1、賦賦值運運算符符=((數(shù)學學上的的等號號)功能::將一一個表表達式式的值值賦給給一個個變量。2、賦賦值表表達式式用賦值值運算算符將將變量量和表表達式式連接接起來來的式式子形式:<變量量>=<表表達式式>求值規(guī)規(guī)則:將“=”右右邊表表達式式的值值賦給給左邊邊的變變量。。結合性性:自自右至至左第二章2.3運算符和表達式賦值表表達式式的值值就是是被賦賦值變變量所所獲得得的值值例2-9::(1))x=(y=12)/4y值為為12,x值為為3,,表達達式的的值為為3(2))x=y=12/4y值為為3,,x值值為3,表表達式式的值值為3(3))x=(y=12/4)(y值值為3,x值為為3,,表達達式的的值為為3(4))(x=y)=12/4該賦值值運算算符左左邊不不是變變量,,而是是一個個表達達式,,錯??!第二章2.3運算符和表達式3、復復合賦賦值運運算符符*=、、/=、%=、、+=、-=、、<<=、、>>=、、&=、ΛΛ=、、|=共10個由賦值值運算算符與與算術術、位位移、、位邏邏輯運運算符符組成成。復合運運算符符是一一個運運算符符,但但功能能上,是兩兩個運運算符符功能能的組組合。。例2-10:a+=b相相當當于a=a+ba*=b+c相相當當于a=a*(b+c)a=2;a+=a*=a;第二章2.3運算符和表達式五、其其它運運算符符1、逗號運運算符符形式:逗號表表達式式1,,逗號號表達達式2,……,逗逗號表表達式式n求值規(guī)規(guī)則:從左至至右依依次計計算各各表達達式的的值優(yōu)先級級最低結合性性:自左至至右表達式式的值值最后一一個表表達式式的值值。第二章2.3運算符和表達式例2-12:aby逗號表表達式式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運算符和表達式2、求求字節(jié)節(jié)運算算符形式::sizeof變變量名名sizeof(類類型名名)功能::求得變變量或或某種種數(shù)據(jù)據(jù)類型型所需需的字字節(jié)數(shù)數(shù)。運算結結果::整型數(shù)數(shù)例2-13:inta;floatx;sizeofa,,sizeofx,sizeof(int),sizeof(float)第二章2.3運算符和表達式2.3數(shù)數(shù)據(jù)類類型轉(zhuǎn)轉(zhuǎn)換C語言言允許許整型型、實實型、、字符符型數(shù)數(shù)據(jù)進進行混混合運運算。。有3種種轉(zhuǎn)換換方式式:第二章2.4數(shù)據(jù)類型轉(zhuǎn)換自動轉(zhuǎn)轉(zhuǎn)換賦值轉(zhuǎn)轉(zhuǎn)換強制轉(zhuǎn)轉(zhuǎn)換intunsignedintlongintdoublefloatchar,short一、類類型自自動轉(zhuǎn)轉(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)換二

溫馨提示

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

評論

0/150

提交評論