![第2章 內(nèi)置數(shù)據(jù)類型與基本輸入輸出_第1頁](http://file4.renrendoc.com/view/fac92f6591e940b9aeecc1f9c666b2c6/fac92f6591e940b9aeecc1f9c666b2c61.gif)
![第2章 內(nèi)置數(shù)據(jù)類型與基本輸入輸出_第2頁](http://file4.renrendoc.com/view/fac92f6591e940b9aeecc1f9c666b2c6/fac92f6591e940b9aeecc1f9c666b2c62.gif)
![第2章 內(nèi)置數(shù)據(jù)類型與基本輸入輸出_第3頁](http://file4.renrendoc.com/view/fac92f6591e940b9aeecc1f9c666b2c6/fac92f6591e940b9aeecc1f9c666b2c63.gif)
![第2章 內(nèi)置數(shù)據(jù)類型與基本輸入輸出_第4頁](http://file4.renrendoc.com/view/fac92f6591e940b9aeecc1f9c666b2c6/fac92f6591e940b9aeecc1f9c666b2c64.gif)
![第2章 內(nèi)置數(shù)據(jù)類型與基本輸入輸出_第5頁](http://file4.renrendoc.com/view/fac92f6591e940b9aeecc1f9c666b2c6/fac92f6591e940b9aeecc1f9c666b2c65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章
內(nèi)置數(shù)據(jù)類型與基本輸入輸出
C++語言程序設(shè)計中山大學(xué)信息科學(xué)與技術(shù)學(xué)院1主要內(nèi)容什么是數(shù)據(jù)類型?標(biāo)識符常量和變量內(nèi)置數(shù)據(jù)類型操作符和表達(dá)式數(shù)據(jù)類型間的關(guān)系簡單的輸入、輸出21、什么是數(shù)據(jù)類型?數(shù)據(jù)類型是指:值的集合以及在這些值上可以進(jìn)行的操作注意,在數(shù)據(jù)類型的概念中包含了兩個方面:1.數(shù)據(jù)的取值范圍2.數(shù)據(jù)上的操作31、什么是數(shù)據(jù)類型?C++數(shù)據(jù)類型可以分為簡單數(shù)據(jù)類型結(jié)構(gòu)數(shù)據(jù)類型地址數(shù)據(jù)類型452、標(biāo)識符C++語言中的基本記號(token)關(guān)鍵字(又稱保留字)標(biāo)識符字面值操作符分隔符6
int
mgAge;
float
myWeight;
myAge=10;
myWeight=30.1;例:藍(lán)色:保留字紅色:標(biāo)識符綠色:操作符棕色:分隔符黑色:字面值(常數(shù))7空白及其作用空白空格符(blank)制表符(tab)回車換行符(enter)注釋(comment)作用使程序?qū)哟畏置?、可讀性更強(qiáng)注意:空白符不是基本記號,在程序編譯時,將被忽略8兩個程序段內(nèi)容相同左邊的可讀性較好intmgAge;floatmyWeight;myAge=10;myWeight=30.1;intmgAge;floatmyWeight;myAge=10;myWeight=30.1;例:9標(biāo)識符的概念標(biāo)識符是程序員給自己定義的類型名、函數(shù)或數(shù)據(jù)對象起的名字,用于引用該類型、函數(shù)或數(shù)據(jù)對象標(biāo)識符可對應(yīng)于和現(xiàn)實(shí)世界中事物的名字,用于區(qū)分和指代(引用)不同的事物定義標(biāo)識符需遵循語法規(guī)則:標(biāo)識符是由字母或下劃線開頭的由字母、數(shù)字與下劃線組成的序列2、標(biāo)識符(續(xù))10合法標(biāo)識符實(shí)例myAgemyWeighty2000_ts2ibookTitleBookTitle2、標(biāo)識符(續(xù))11不合法標(biāo)識符實(shí)例40pigs 不能以數(shù)字開頭。Mymoney 不能出現(xiàn)空格。Length-10 不能出現(xiàn)連字號。my@hotmail不能出現(xiàn)@符。int 是保留字,由系統(tǒng)使用,程序員不能再重復(fù)定義該標(biāo)識符2、標(biāo)識符(續(xù))12使用標(biāo)識符的注意事項(xiàng)保留字不能作為程序中的標(biāo)識符。標(biāo)識符區(qū)分字母的大小寫。大小寫不同的標(biāo)識符不同使用有意義、可讀性較強(qiáng)的標(biāo)識符程序中采用一致的命名規(guī)范必須以字母(a-z,A-Z)或下劃線(_)開頭當(dāng)標(biāo)識符過長時,通常采用縮寫的形式2、標(biāo)識符(續(xù))133、常量和變量常量:在程序運(yùn)行過程中其值不可改變的數(shù)據(jù)對象變量:在程序運(yùn)行過程中其值可以改變的數(shù)據(jù)對象標(biāo)識符可用于命名常量或變量14聲明(declaration)通過聲明可以命名標(biāo)識符并表明它代表什么聲明是將標(biāo)識符與數(shù)據(jù)對象(常量和變量的統(tǒng)稱)、函數(shù)或數(shù)據(jù)類型相聯(lián)系的語句可以理解為起名的一個過程,聲明之后,程序員就可以使用標(biāo)識符來指代數(shù)據(jù)對象、函數(shù)或數(shù)據(jù)類型3、常量和變量(續(xù))15constdoublePI=3.14159;intmyAge;3、常量和變量(續(xù))標(biāo)識符PI是一個常量的名字,這個常量的數(shù)據(jù)類型是double,它的值是3.14159標(biāo)識符myAge是一個變量的名字,該變量的數(shù)據(jù)類型是int163、常量和變量(續(xù))在C++中,標(biāo)識符必須先聲明、后使用在C++中,數(shù)據(jù)對象(常量和變量)、函數(shù)和數(shù)據(jù)類型的聲明方式不同本章介紹變量和常量的聲明。函數(shù)和數(shù)據(jù)類型的聲明在后續(xù)章節(jié)中介紹173、常量和變量(續(xù))變量和變量的聲明程序運(yùn)行時,所處理的數(shù)據(jù)存放在內(nèi)存中在C++中,用變量命名內(nèi)存中的一個存儲位置變量標(biāo)識符的作用對程序員而言,是和程序所處理問題相關(guān)的一個內(nèi)容可變的數(shù)據(jù)的名稱,如myAge對計算機(jī)而言,對應(yīng)著一個內(nèi)存位置,該處存放著相應(yīng)數(shù)據(jù)標(biāo)識符與內(nèi)存位置的對應(yīng)由編譯程序完成,程序員不需要關(guān)心數(shù)據(jù)存放的具體位置183、常量和變量(續(xù))變量聲明(定義)的語法:
數(shù)據(jù)類型標(biāo)識符[=初值]{,標(biāo)識符[=初值]};如:charresponse=’Y’;命名了一個變量標(biāo)識符response;編譯器分配1個字節(jié)的內(nèi)存單元和標(biāo)識符response相關(guān)聯(lián);規(guī)定該內(nèi)存單元存儲char數(shù)據(jù)類型的數(shù)據(jù),且在程序運(yùn)行時容許改變;將response對應(yīng)內(nèi)存單元的內(nèi)容,也即變量值置為字符‘Y’.193、常量和變量(續(xù))變量由四個部分組成:變量名:程序員指定數(shù)據(jù)類型:程序員指定內(nèi)存地址:編譯器確定變量值:203、常量和變量(續(xù))變量值的確定初始化聲明時指定變量的值如:intmyAge=10;賦值聲明后由賦值語句修改變量值如:myAge=30;213、常量和變量(續(xù))注意聲明語句必須由;結(jié)束可以在一個語句中聲明多個具有相同數(shù)據(jù)類型的變量聲明語句中未指定初值,則該變量的值未確定在聲明變量時加適當(dāng)?shù)淖⑨寣⒂兄趯Τ绦虻睦斫?23、常量和變量(續(xù))常量字面常量(literalconstant)根據(jù)數(shù)據(jù)的字面形式定義它的數(shù)據(jù)類型和值.‘Z’和‘9’表示字符常量,9和12表示整型數(shù)值常量,30.1和0.23e-2表示浮點(diǎn)型數(shù)值常量“hello”和“Goodmorning”表示字符串常量。命名常量(namedconstant):加以命名的常量const數(shù)據(jù)類型標(biāo)識符=常量值;
constintAGE_MATURE=18;constfloatPI=3.14159;233、常量和變量(續(xù))命名常量的主要作用提高程序的可讀性當(dāng)常量使用比較頻繁時,修改常量的值比較容易且減少出錯的可能244、內(nèi)置數(shù)據(jù)類型整型char,short,int,long,bool浮點(diǎn)型float,double,longdouble254、內(nèi)置數(shù)據(jù)類型(續(xù))每一種數(shù)據(jù)類型都規(guī)定了數(shù)據(jù)的存儲方式取值范圍可對數(shù)據(jù)進(jìn)行的操作264、內(nèi)置數(shù)據(jù)類型(續(xù))字符類型字符型數(shù)據(jù)的機(jī)內(nèi)存儲:編碼(如ASCII碼)字符常量字面常量括在單引號中,表示一個字符,如’A’,’a’,’3’,’@’,’_’等轉(zhuǎn)義字符反斜杠后跟單個字符,如’\n’反斜杠后跟三位八進(jìn)制數(shù),形如’\ddd’反斜杠后跟兩位十六進(jìn)制數(shù),形如’\xhh’命名常量274、內(nèi)置數(shù)據(jù)類型(續(xù))字符類型(續(xù))字符變量聲明形式:[unsigned|signed]char標(biāo)識符[=字符常量]{,標(biāo)識符[=字符常量]};例:charletter=‘A’;//聲明字符變量letter并初始化為字符‘A’unsignedcharpixelValue=255;charresponseA=‘\x59’,responseB=‘\116’;284、內(nèi)置數(shù)據(jù)類型(續(xù))整數(shù)類型整型常量字面常量十進(jìn)制八進(jìn)制:以0開頭十六進(jìn)制:以0x開頭命名常量十進(jìn)制 八進(jìn)制十六進(jìn)000x05050x590110x098201220x5212301730x7B294、內(nèi)置數(shù)據(jù)類型(續(xù))整數(shù)類型(續(xù))整型變量定義形式[unsigned|signed][long[int]|short[int]|int]標(biāo)識符[=初始值]{,標(biāo)識符[=初始值]};例:intage,workDays;longfactorial;shortrow,column;304、內(nèi)置數(shù)據(jù)類型(續(xù))浮點(diǎn)類型常量字面常量小數(shù)表示法.5.0252.625.-3.88+7.56科學(xué)計數(shù)法以實(shí)數(shù)10的冪表示2.5E-28-27E1818e101e-10可帶后綴:f/F或l/L命名常量314、內(nèi)置數(shù)據(jù)類型(續(xù))浮點(diǎn)類型(續(xù))變量定義形式float|double|longdouble標(biāo)識符[=初始值]{,標(biāo)識符[=初始值]};例:floataverage;doublepower;longdoubledistance=0;324、內(nèi)置數(shù)據(jù)類型(續(xù))布爾類型常量字面常量取值只有兩個:false和truetrue和false是C++的保留字內(nèi)部表示true表示為1,false表示為0轉(zhuǎn)換非0值轉(zhuǎn)換為true,0轉(zhuǎn)換為false命名常量334、內(nèi)置數(shù)據(jù)類型(續(xù))布爾類型(續(xù))變量聲明形式bool標(biāo)識符[=初始值]{,標(biāo)識符[=初始值]};例:boolflag=true;boolmarker=0;344、內(nèi)置數(shù)據(jù)類型(續(xù))字符串類型常量字面常量由雙引號括住的字符序列例:“MynameisJones\n”“12345”“Hi,\x7comeon”“”"quality"354、內(nèi)置數(shù)據(jù)類型(續(xù))雙引號的作用區(qū)分字符串和C++程序中的其他部分?!?2345”和12345不同“quality”和quality不同。364、內(nèi)置數(shù)據(jù)類型(續(xù))字符串類型字符串變量和命名字符串常量字符數(shù)組或字符指針string對象在程序中增加以下內(nèi)容#include<string>usingnamespacestd;字符串變量的申明:string標(biāo)識符[=初始值,標(biāo)識符[=初始值]];字符串常量的申明:conststring標(biāo)識符=字符串常量;375、操作符和表達(dá)式操作符表示對數(shù)據(jù)的操作按所操作數(shù)據(jù)的個數(shù)分為:一元操作符二元操作符三元操作符。操作符操作的數(shù)據(jù)被稱為操作數(shù)
385、操作符和表達(dá)式(續(xù))表達(dá)式將操作符和操作數(shù)按照一定語法形式組成的符號序列該符號序列可以計算得到某種數(shù)據(jù)類型的值表達(dá)式的值的數(shù)據(jù)類型由操作數(shù)的數(shù)據(jù)類型和操作符決定395、操作符和表達(dá)式(續(xù))最簡單的表達(dá)式常量或變量標(biāo)識符表達(dá)式的值是常量或變量的值例:3.14159(字面常量)myAge(變量)RATE(命名常量)405、操作符和表達(dá)式(續(xù))復(fù)雜表達(dá)式構(gòu)成一個表達(dá)式可以作為另一個操作符的操作數(shù),從而構(gòu)造更復(fù)雜的表達(dá)式求值操作符的優(yōu)先級及結(jié)合性415、操作符和表達(dá)式(續(xù))賦值操作符和賦值表達(dá)式賦值操作符=使用形式:變量=表達(dá)式例:intmyAge;intyourAge;myAge=10myAge=yourAge+2yourAge=myAgemyAge=myAge+1myAge=yourAge=10425、操作符和表達(dá)式(續(xù))算術(shù)操作符和算術(shù)表達(dá)式算術(shù)操作符(-(負(fù)號),+,-(減號),*,/,%注意:操作符/的運(yùn)算結(jié)果與兩個操作數(shù)的數(shù)據(jù)類型有關(guān)算術(shù)表達(dá)式例:5%105.0%10錯(兩個操作數(shù)必須都是整型的)numInt*8復(fù)合賦值操作符+=,-=,*=,/=,%=x+=y等價于x=x+y435、操作符和表達(dá)式(續(xù))關(guān)系操作符和關(guān)系表達(dá)式關(guān)系操作符:>,<,==,>=,<=,!=關(guān)系表達(dá)式:進(jìn)行兩個操作數(shù)比較(數(shù)、字符、字符串)值的數(shù)據(jù)類型是bool例:表達(dá)式值3>2true2==0false3.0<4.0true‘M’<‘R’true“ABC”<“DEF”true注意:字符和字符串的大小由字符的ASCII代碼決定445、操作符和表達(dá)式(續(xù))邏輯操作符和邏輯表達(dá)式邏輯操作符:&&,||,!邏輯表達(dá)式進(jìn)行兩個操作數(shù)的邏輯運(yùn)算值的數(shù)據(jù)類型是bool運(yùn)算規(guī)則45sizeof操作符計算操作數(shù)所占內(nèi)存空間的大小,計算結(jié)果以字節(jié)為單位操作數(shù):類型標(biāo)識符或表達(dá)式計算結(jié)果和操作數(shù)的值沒有關(guān)系例:charcharNum;intintNum;在某系統(tǒng)中的計算結(jié)果sizeof(char)1sizeof(charNum)1sizeof(int)4sizeof(intNum)45、操作符和表達(dá)式(續(xù))465、操作符和表達(dá)式(續(xù))三元操作符?:使用形式:表達(dá)式1?表達(dá)式2:表達(dá)式3求值過程:求表達(dá)式1的值,如果值為true,則整個表達(dá)式的值為表達(dá)式2的值;否則整個表達(dá)式的值為表達(dá)式3的值。例:(x>y)?x:y; 如果x>y成立,則表達(dá)式的值為x,否則表達(dá)式的值為y476、數(shù)據(jù)類型之間的關(guān)系當(dāng)表達(dá)式中存在不同類型的操作數(shù)時,需要進(jìn)行類型轉(zhuǎn)換隱式類型轉(zhuǎn)換編譯器自動轉(zhuǎn)換轉(zhuǎn)換規(guī)則char、short和bool類型的操作數(shù)首先轉(zhuǎn)換為int類型數(shù)據(jù)針對每次操作的兩個操作數(shù),進(jìn)行“小”類型到“大”類型的轉(zhuǎn)換 int,unsignedint,long,unsignedlong,float,double,longdouble特殊規(guī)則:賦值,參數(shù)傳遞,函數(shù)返回值注意:隱式類型轉(zhuǎn)換可能會丟失數(shù)據(jù)顯式(強(qiáng)制)類型轉(zhuǎn)換程序員通過以下表達(dá)式進(jìn)行轉(zhuǎn)換:數(shù)據(jù)類型(表達(dá)式)或(數(shù)據(jù)類型)表達(dá)式例: float(num1+num2)/2(num1+num2)/float(2)(num1+num2)/(float)2487、簡單的輸入和輸出要用到標(biāo)準(zhǔn)庫iostream在程序中需增加
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境藝術(shù)設(shè)計與可持續(xù)發(fā)展的協(xié)同實(shí)踐
- 匯報溝通職場中的軟實(shí)力
- 未來商業(yè)發(fā)展趨勢與市場分析
- 生產(chǎn)線工藝改進(jìn)的思路與實(shí)踐案例
- 吊裝工程專項(xiàng)方案
- “比賽場次”(說課稿)-2024-2025學(xué)年六年級數(shù)學(xué)上冊北師大版
- 《7 栽小蔥》(說課稿)三年級下冊科學(xué)蘇教版
- Module 1 Unit 2 I'm Danny(說課稿)-2024-2025學(xué)年牛津上海版(試用本)英語二年級上冊
- Unit3 What would you like?(說課稿)-2024-2025學(xué)年人教PEP版英語五年級上冊001
- 16 宇宙的另一邊 說課稿-2023-2024學(xué)年語文三年級下冊統(tǒng)編版
- 高考百日誓師動員大會
- 賈玲何歡《真假老師》小品臺詞
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項(xiàng)目管理》課件
- 統(tǒng)編版(2024新版)七年級上學(xué)期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 物業(yè)管理服務(wù)房屋及公用設(shè)施維修養(yǎng)護(hù)方案
- 醫(yī)療器械法規(guī)培訓(xùn)
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
評論
0/150
提交評論