數(shù)據(jù)類型與運(yùn)算_第1頁
數(shù)據(jù)類型與運(yùn)算_第2頁
數(shù)據(jù)類型與運(yùn)算_第3頁
數(shù)據(jù)類型與運(yùn)算_第4頁
數(shù)據(jù)類型與運(yùn)算_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章數(shù)據(jù)類型與運(yùn)算高等教育出版社C++程序設(shè)計(jì)語言程序設(shè)計(jì)中用來代表數(shù)據(jù)、函數(shù)等的符號(hào)統(tǒng)稱為標(biāo)識(shí)符命名規(guī)則:(1)由字母、數(shù)字、下劃線組成(2)不能以數(shù)字開頭。

(3)不可用關(guān)鍵字。(4)英文字母區(qū)別大小寫。例:下列標(biāo)識(shí)符不合法:

2aa$bint下列標(biāo)識(shí)符互不相同:

AbcaBcabCabc2.1標(biāo)識(shí)符關(guān)鍵字

關(guān)鍵字也稱保留字,是程序設(shè)計(jì)語言中約定已具有某種特定含義的標(biāo)識(shí)符,不可以再作其它用途。C++語言中常用關(guān)鍵字intdoubleifforcharfloatelsewhilevoidconstswitchdolongshortbreakreturnthisstructcontinueprivateinlinecaseunionprotectedoperatordefaultenumpublicvirtualautoclassfriendstaticexternsigneddeleteregistertypedefunsignednew2.1標(biāo)識(shí)符2.2基本數(shù)據(jù)類型

C++語言的基本數(shù)據(jù)類型:

bool(布爾型)int(整型)char(字符型)float(單精度)或double(雙精度)名稱類型長(zhǎng)度(字節(jié))取值范圍布爾型bool1true或false字符型char1-128~127整型int4-231~(231

–1)實(shí)型單精度float4-1038~1038雙精度double8-10308~10308空類型void0無值不同數(shù)據(jù)類型所占內(nèi)存大小有所不同,所表示數(shù)值的取值范圍也不同。2.2基本數(shù)據(jù)類型C++語言中經(jīng)前綴修飾的基本數(shù)據(jù)類型名稱類型長(zhǎng)度(字節(jié))取值范圍無符號(hào)字符型unsignedchar10~255短整型shortint2-32768~32737長(zhǎng)整型longint4-231~(231

–1)無符號(hào)短整型unsignedshortint40~65535無符號(hào)長(zhǎng)整型unsignedlongint40~232-12.2基本數(shù)據(jù)類型1.布爾型2.2基本數(shù)據(jù)類型布爾型又稱邏輯型,關(guān)鍵字:bool布爾型只有兩種取值可能:true(邏輯真)和false(邏輯假)布爾型數(shù)據(jù)參加運(yùn)算時(shí),true取值為1,false取值為0其他類型數(shù)據(jù)被用作布爾值時(shí),非零值取值為true,零值取值false關(guān)系運(yùn)算或邏輯運(yùn)算的結(jié)果為布爾型數(shù)值例:

表達(dá)式5>2的值為true;

表達(dá)式(1>2)+(4<5)+(6>1)的值為0+1+1=22.整型2.2基本數(shù)據(jù)類型關(guān)鍵字:int表示分為十進(jìn)制、八進(jìn)制、十六進(jìn)制等表現(xiàn)形式;缺省進(jìn)制為十進(jìn)制;八進(jìn)制數(shù)是以數(shù)字0開頭的整數(shù):數(shù)碼0~7,逢八進(jìn)一;十六進(jìn)制數(shù)是以0x或0X開頭的整數(shù):數(shù)碼0~9,a~f,逢十六進(jìn)一,數(shù)碼a~f大小寫均可。例:

28,-3,0,+55,0236,-063,0x56EF,0X43ab,-0x857

3.實(shí)型2.2基本數(shù)據(jù)類型實(shí)型數(shù)據(jù)也稱浮點(diǎn)型,關(guān)鍵字:float(單精度)、double(雙精度)。實(shí)型數(shù)據(jù)可以定點(diǎn)表示和浮點(diǎn)表示

定點(diǎn)表示,例:0.1237;

浮點(diǎn)表示(指數(shù)形式),例:2.765E3,1e-2,-0.3e1;關(guān)于浮點(diǎn):

E可以大寫或小寫;

E前面必須有數(shù)字(1不能省略);

E后面必須是整數(shù)。4.字符型2.2基本數(shù)據(jù)類型關(guān)鍵字:char計(jì)算機(jī)內(nèi)部以字符的ASCII碼值(整數(shù))存儲(chǔ)字符型數(shù)據(jù)(1個(gè)字節(jié))普通字符常量書寫時(shí)用單引號(hào)標(biāo)記

例:‘%’,‘a(chǎn)’,‘9’。任何字符都可以用轉(zhuǎn)義字符形式表示常用轉(zhuǎn)義字符表示字符形式含義‘\n’換行‘\a’響鈴‘\t’水平制表符(Tab鍵)‘\0’空字符‘\\’反斜杠\‘\’’單引號(hào)’‘\’’’雙引號(hào)”2.2基本數(shù)據(jù)類型任何字符均可以用其八進(jìn)制或十六進(jìn)制ASCII碼值表示成轉(zhuǎn)義形式:例如,‘\160’、‘\x70’都表示字符‘p’。字符‘p’的ASCII碼值為112,其八進(jìn)制為0160,十進(jìn)制為0x70轉(zhuǎn)義表示時(shí)不可用十進(jìn)制,缺省為八進(jìn)制,十六進(jìn)制表示時(shí)略進(jìn)制標(biāo)志的前綴0。所以,字符‘p’的轉(zhuǎn)義形式不可表示為以下形式:‘\0160’ב\0x70’×5.字符串一對(duì)單引號(hào)內(nèi)只能表示一個(gè)字符,多個(gè)字符可以組成字符串,字符串是用一對(duì)雙引號(hào)括起來的字符集合。如:“Hello!”,“123456”等。字符串常量均含有一個(gè)字符串結(jié)束標(biāo)志‘\0’。字符串常量中所含字符的個(gè)數(shù)稱為字符串的長(zhǎng)度(不含字符串結(jié)束標(biāo)志)。6.基本類型變量變量是在程序中可以改變的量變量必須先定義后使用變量定義格式:數(shù)據(jù)類型變量名1,變量名2,…,變量名n;例如:

inta,b,c;floatx;定義變量的同時(shí)可以給變量賦值(兩種方式):

inta=1,b,c(3);

floatx=3.71;可以給已定義的變量重新賦值:

inta=5,b;a=10;b=20;a=a*b;可以限定變量在程序中不允許改變:constinta=5,b(6);intconstc=10;constfloatx(0.26),y=1.2;const置于類型符號(hào)前或后;必須賦初值!

C++語言中的運(yùn)算符包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符等,將變量、常量和運(yùn)算符有機(jī)地結(jié)合起來就組成了表達(dá)式。2.3運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符:

+、-、*、/、%(求模)算術(shù)運(yùn)算符均為雙目運(yùn)算符除法運(yùn)算分整數(shù)除和實(shí)數(shù)除求模運(yùn)算功能是求兩個(gè)整數(shù)相除后的余數(shù)。2.3運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符例,寫出下列各語句的輸出結(jié)果。

cout<<(1+’a’);//輸出結(jié)果:98cout<<(5/3-8);//輸出結(jié)果:-7cout<<(5%3*5/3.0);//輸出結(jié)果:3.33333例:

inta=5,b;

b=a=a-2;cout<<a<<‘\t’<<b<<endl;2.3運(yùn)算符與表達(dá)式2.賦值運(yùn)算符賦值運(yùn)算符:=使用格式:變量名=表達(dá)式;功能:將右邊表達(dá)式的值賦給左邊的變量;“=”左邊只能是單變量名,不可為復(fù)雜表達(dá)式。

●關(guān)系運(yùn)算符:>、<、>=、<=、==、!=

●關(guān)系運(yùn)算的結(jié)果只有兩種:

關(guān)系成立,值為true;關(guān)系不成立,值為false。

例如:

4>5的值為true

(5!=4)==(8>=2)的值為false●注意運(yùn)算符形式上與數(shù)學(xué)表達(dá)式的差異;

數(shù)學(xué)表達(dá)式:a>b>c

C++表達(dá)式:a>b&&b>c2.3運(yùn)算符與表達(dá)式3.關(guān)系運(yùn)算符邏輯運(yùn)算符:

邏輯非(!)、邏輯與(&&)和邏輯或(||)功能:將多個(gè)關(guān)系連接起來表達(dá)更復(fù)雜的關(guān)系2.3運(yùn)算符與表達(dá)式4.邏輯運(yùn)算符邏輯非:取反操作

若a的值為true,則!a的值為false;

表達(dá)式a==0與表達(dá)式!a具有相同的邏輯值邏輯與:邏輯乘操作

僅當(dāng)a和b的值均為真時(shí),a&&b的值為真,否則值為假。

如:5&&‘A’值為真,(3<9)&&(2==1)值為假。邏輯或:邏輯加操作

僅當(dāng)a和b的值均為假時(shí),a||b的值為假,否則值為真。

如:(3<9)||(2==1)的為真,(3>9)||(2==1)值為假。2.3運(yùn)算符與表達(dá)式aba&&ba||b!a00001010111001011110邏輯運(yùn)算真值表C++語言中,當(dāng)能夠確定邏輯表達(dá)式的值時(shí),運(yùn)算將不再繼續(xù)進(jìn)行。2.3運(yùn)算符與表達(dá)式邏輯運(yùn)算的優(yōu)化:例:

inta=4,b=7,c,d; c=(a=a+1)||(b=b+2); d=(a=0)&&(b=a+b);

cout<<a<<‘\t’<<b<<‘\t’<<c<<‘\t’<<d<<endl;(1)自增和自減運(yùn)算符

單目運(yùn)算符自增(++)和自減(--),分別表示變量自身加1和減1操作。不能對(duì)表達(dá)式進(jìn)行自增或自減運(yùn)算。

2.3運(yùn)算符與表達(dá)式5.其他運(yùn)算符例:

inta=3,b=5,c=10,d;

d=++a+b+++++c;cout<<a<<‘\t’<<b<<‘\t’<<c<<‘\t’<<d<<endl;++和--運(yùn)算分前置和后置:前置:先改變變量的值,再使用變量的值;

后置:先使用變量的值,后改變變量的值。2.3運(yùn)算符與表達(dá)式(2)復(fù)合賦值運(yùn)算符復(fù)合運(yùn)算符表達(dá)式一般表達(dá)式x+=ax=x+ax-=ax=x-ax*=ax=x*ax/=ax=x/ax%=ax=x%a2.3運(yùn)算符與表達(dá)式功能:變量賦值為自身與另一數(shù)據(jù)運(yùn)算(算術(shù)運(yùn)算、位運(yùn)算)的結(jié)果功能:計(jì)算某種數(shù)據(jù)類型所占內(nèi)存的字節(jié)數(shù)。格式:

sizeof(類型名)或

sizeof(表達(dá)式)

如:sizeof(char)值為1sizeof(‘A’+4)值為4sizeof(4.0+2)值為82.3運(yùn)算符與表達(dá)式(3)sizeof運(yùn)算符條件運(yùn)算符(?:)是三目運(yùn)算符,其一般格式為:表達(dá)式1?表達(dá)式2

:表達(dá)式3

當(dāng)表達(dá)式1的值為真時(shí),其值為表達(dá)式2的值,否則為表達(dá)式3的值。2.3運(yùn)算符與表達(dá)式(4)條件運(yùn)算符例如:

inta=1,b=3,c;

c=a>b?a++:++b;2.3運(yùn)算符與表達(dá)式條件運(yùn)算符的嵌套:

inta=1,b=2,c=3,d=4,e=5,f;

f=a>b?c>d?a:d>e?d:e:c;// f=a>b?(c>d?a++:(d>e?d:e)):c;

是雙目運(yùn)算符格式:用逗號(hào)將一系列表達(dá)式列舉出來運(yùn)算規(guī)則:依次從左到右計(jì)算各表達(dá)式,交將最后一個(gè)表達(dá)式的值作為最終結(jié)果2.3運(yùn)算符與表達(dá)式(5)逗號(hào)運(yùn)算符例inta=2,b=4,c=6,d;d=(a+=1,b+=2,c+=3,a+b+c);比較:

inta=2,b=4,c=6,d; //與上例變量初值相同d=

a+=1,b+=2,c+=3,a+b+c;//沒有括號(hào)!2.3運(yùn)算符與表達(dá)式在C++表達(dá)式中,當(dāng)不同類型的運(yùn)算符混合運(yùn)算時(shí),優(yōu)先級(jí)高的運(yùn)算符將優(yōu)先運(yùn)算。C++運(yùn)算符的優(yōu)先級(jí)自高向低排序規(guī)律大致如下:括號(hào)類運(yùn)算符單目運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符三目運(yùn)算符(條件運(yùn)算符)逗號(hào)運(yùn)算符運(yùn)算符C++語言中部分運(yùn)算符的優(yōu)先級(jí)和結(jié)合性優(yōu)先級(jí)運(yùn)算符結(jié)合性1::()[]->&++--左向右2!++---+(類型)*&sizeofnewdelete右向左3*/%左向右4+-左向右6<、

<=、>、>=左向右7==!=左向右11&&左向右12||左向右13?:右向左14=、+=、-=、*=、/=、%=右向左15,左向右2.3運(yùn)算符與表達(dá)式當(dāng)C++表達(dá)式中出現(xiàn)多種類型的數(shù)據(jù)混合進(jìn)行運(yùn)算時(shí),首先要進(jìn)行類型轉(zhuǎn)換。C++的類型轉(zhuǎn)換有自動(dòng)類型轉(zhuǎn)換、強(qiáng)制類型轉(zhuǎn)換2種。2.4類型轉(zhuǎn)換1.自動(dòng)類型轉(zhuǎn)換字符

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論