版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3講數(shù)據(jù)類型(中)
--變量、常量、運(yùn)算符、表達(dá)式
黃永峰
2015-9-28
yfhuang@對應(yīng)教材的第2章P19-30的內(nèi)容本講內(nèi)容變量的定義方法和內(nèi)涵常量在程序中的表示方法運(yùn)算符和表達(dá)式概念問題1:計(jì)算機(jī)為不同類型數(shù)據(jù)分配不同大小內(nèi)存空間問題2:計(jì)算機(jī)為不同類型數(shù)據(jù)采用不同二進(jìn)制編碼表示問題3:計(jì)算機(jī)對不同類型數(shù)據(jù)采用不同運(yùn)算操作解決方案:為程序中數(shù)據(jù)定義不同類型的變量回顧:數(shù)據(jù)在計(jì)算機(jī)中如何存儲?
2.3程序中的變量定義定義變量的含義定義一個變量代表在內(nèi)存中分配一定大小的存儲單元。變量類型確定了數(shù)據(jù)編碼格式、存儲空間大小和能執(zhí)行操作變量空間兩屬性:存儲地址(或名稱)和存儲數(shù)據(jù)(存儲內(nèi)容);內(nèi)存地址用16進(jìn)制數(shù)表示,名稱用標(biāo)識符表示對變量訪問(讀寫)2種方式:通過變量名或變量地址內(nèi)存結(jié)構(gòu)圖數(shù)據(jù)地址47F87…….ab47F9447F9560000000000000110例如:chara;intb=6;2.3.1變量定義方法變量的3屬性名稱:變量名規(guī)則(匈牙利命名法,見P28),如:intiCount數(shù)值:類型相一致;當(dāng)一個數(shù)據(jù)寫變量,只要沒有新的數(shù)據(jù)寫入,就總保存這個數(shù)據(jù)?!耙淮螌?、多次讀”存儲空間:大小+地址(編號)變量定義的外延:“先定義,后使用”變量定義一般格式類型標(biāo)識符變量名列表;例如:intsum,SUM;變量的初始化:在定義變量同時給予初始值如,intsum=10;C++語言中的關(guān)鍵字(32個)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatiewhileC++語言中的編譯預(yù)處理命令(12個):
defineendifeliferrorlineincludeifdefifndefprogramundefifelse
2.3.1變量定義方法注意:不能用上述關(guān)鍵字或命令名做變量名整型變量分為四種類型基本型,用int表示短整型,用shortint或者short表示長整型,用longint或者long表示無符號型,unsignedint(無符號整型)、unsignedshort(無符號短整型)和unsignedlong(無符號長整型)
2.3.2C++整型變量(參考P20)注意:變量沒初始化而使用帶來問題2.3.2C++整型變量(參考P20)注意:變量字長和溢出問題符號常量N2.3.2C++整型變量(參考P20)
一臺安裝了Windows95/98的機(jī)器,如果連續(xù)運(yùn)行49.7天沒有重啟,可能會引起死機(jī)。為什么呢?原因:?Windows95/98系統(tǒng)設(shè)置了一個計(jì)數(shù)器用于記錄系統(tǒng)已經(jīng)運(yùn)行了多少毫秒。這個計(jì)數(shù)器是一個unsignedlong類型的變量?unsignedlong的最大值是:4294967295?一天有24×3600×1000=86400000ms,4294967295/86400000=49.7天?當(dāng)系統(tǒng)運(yùn)行到49.7天時,此計(jì)數(shù)器會溢出,引起死機(jī)小蛇吞掉大象的故事2.3.2C++整型變量(參考P20)實(shí)型變量分為單精度(float)和雙精度(double)兩種類型float內(nèi)存4個字節(jié);double占內(nèi)存8個字節(jié)float型變量只能接受7位有效數(shù)字;double型變量只能接受15位有效數(shù)字2.3.3實(shí)型變量(參考P23)2.3.3實(shí)型變量2.3.3實(shí)型變量的陷阱結(jié)論:f和123.456有類型差異不同類型實(shí)型數(shù)有精度差異實(shí)型數(shù)之間正確的比較方法有關(guān)浮點(diǎn)數(shù)的精度問題123.456000的二進(jìn)制,小數(shù)位為無窮位…..2.3.4字符和布爾性變量字符和布爾變量:在內(nèi)存中占一個字節(jié)字符變量存放字符的ASCII碼值,例:字符‘A’在內(nèi)存中存放的是65;布爾變量存儲1或0;字符變量定義和初始化charx1,ch1=’x’;布爾變量定義和初始化boolc1,c2=true;c3=1;提問:ch1=“x”對嗎?為啥呢2.3.5常變量常變量:又稱為只讀變量(Read-only-variable)是保護(hù)數(shù)據(jù)安全的機(jī)制,防止意外修改定義形式:const類型變量名;例如:constinta=3;constfloatb=3.14*2;參考P31常量:在編程時用來對變量賦值或初始化,或直接參加表達(dá)式運(yùn)算。例如,inta,a=3;charc=‘a(chǎn)’;a=a+4;類型:數(shù)值常量(整型常量,實(shí)型常量)、字符常量和符號常量2.4程序中的常量表示2.4常量表示-實(shí)型數(shù)的表示注意:E表示的意義(1)單撇號表示法:用一對單撇號括起來的一個字符,如‘a(chǎn)’,‘c’,‘A’,‘?’等單撇號中的單個字符。但不能是單撇號或反斜杠:即‘’’、‘\’都是不合法的2.4程序中的常量表示
--字符型常量的表示P23(2)轉(zhuǎn)義字符表示法:用斜杠加一個字符或16進(jìn)制數(shù)表示字符形式\n\t\b\v\r字符形式\f\\\ddd\‘\xhh含 義換行橫向跳格(跳到下一個輸出區(qū)域)豎向跳格退格回車含 義走紙換行反斜杠字符\單引號‘3位八進(jìn)制數(shù)所代表的字符2位十六進(jìn)制數(shù)所代表的字符利用\ddd轉(zhuǎn)義字符,可以表示任何ASCII碼字符問題:‘\101’==‘A’嗎?為什么呢2.4程序中的常量表示
--字符型常量的表示P23結(jié)論:字符型數(shù)據(jù)和整型數(shù)據(jù)可以通用提問:引入符號常量有什么好處?2.4程序中的常量表示
--符號常量(P26)提問:常變量與符號常量有區(qū)別嗎?符號常量在編譯時被替換掉,不分配存儲空間常變量編譯時分配存儲空間,并檢測類型,因此更安全常變量是C++對C的改進(jìn),因此更好用符號常量常常量問題:“x”=‘x’嗎,為什么呢?2.4程序中的常量表示
--字符串常量的表示p25字符串常量:用雙撇號括起來的多個字符序列,如:“zhangsan”、“student”,“x”,”hello”等,字符串的字符數(shù)為字符串長度系統(tǒng)在每一個字符串的末尾都自動加一個“字符串結(jié)束標(biāo)志”,即‘\0’2.4程序中的常量表示
--字符串常量的表示p252.5運(yùn)算符和表達(dá)式運(yùn)算符:C++豐富運(yùn)算符(共44個);按功能可分為13類
算術(shù)運(yùn)算符+、-、*、/、%關(guān)系運(yùn)算符>、<、==、>=、<=、!=邏輯運(yùn)算符!、&&、||位運(yùn)算符<<、>>、~、|、∧、&賦值運(yùn)算符=條件運(yùn)算符?:逗號運(yùn)算符,指針運(yùn)算符*、&求字節(jié)數(shù)運(yùn)算符Sizeof,例:sizeof(int)或sizeof(變量)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)分量運(yùn)算符.(點(diǎn))、→下標(biāo)運(yùn)算符[]其他函數(shù)調(diào)用運(yùn)算符()2.5運(yùn)算符和表達(dá)式
表達(dá)式:用運(yùn)算符將常量、變量、函數(shù)連接起來構(gòu)成的計(jì)算式注意(1)參加表達(dá)式運(yùn)算的量必須有確切的值,表達(dá)式經(jīng)過運(yùn)算后,也一定會得到一個確切的值。(2)計(jì)算表達(dá)式的值要注意三個方面問題
a、運(yùn)算符的結(jié)合性
b、運(yùn)算符的優(yōu)先等級
c、數(shù)據(jù)類型的轉(zhuǎn)換請問:何為C++語句?如:a=3;2.5運(yùn)算符和表達(dá)式
--類型轉(zhuǎn)換(1)不同類型的混合運(yùn)算的自動轉(zhuǎn)換規(guī)則不同的數(shù)據(jù)類型要先轉(zhuǎn)換成同一類型后,才可運(yùn)算自動轉(zhuǎn)換的特點(diǎn):臨時性和逐步性
高低doublelongintChar,shortfloatunsigned(2)為程序清晰,建議使用強(qiáng)制轉(zhuǎn)化,如:(int)a;強(qiáng)轉(zhuǎn)很靈活,你必須知道你在做什么?。?!
經(jīng)常用強(qiáng)轉(zhuǎn)來解決很多warning.2.5運(yùn)算符和表達(dá)式
--類型轉(zhuǎn)換實(shí)例為什么出現(xiàn)這么多錯誤?2.5運(yùn)算符和表達(dá)式
--類型轉(zhuǎn)換實(shí)例2.5運(yùn)算符和表達(dá)式
--類型轉(zhuǎn)換實(shí)例本講重點(diǎn)小結(jié)變量定義的含義常量的表示各種變量定義方法.運(yùn)算符優(yōu)先級、結(jié)合性表達(dá)式計(jì)算時類型轉(zhuǎn)換另外,教材的2.1節(jié)可以不作重點(diǎn)看下一講主要內(nèi)容運(yùn)算符C++輸出和輸入?yún)⒖冀滩牡牡?章,P31-40.希望大家做好預(yù)習(xí)第2次實(shí)驗(yàn)練習(xí)1.本次實(shí)驗(yàn)練習(xí)必做題共2題,要求上機(jī)完成。在第5周末之前提交。提交內(nèi)容:代碼和執(zhí)行結(jié)果2.題目:第1題:使用運(yùn)算符sizeof()來測試在VS2008編譯器環(huán)境下short,int,long,unsignedshort,unsignedint,unsignedlong,char,Bool,double和float等類型的字節(jié)數(shù),同時,設(shè)計(jì)一種方法測試float類型能保留的小數(shù)位數(shù)長度。將上述結(jié)果在屏幕打印出來。第2題:犀利哥故事3(見下頁)
第2題:犀利哥的故事3【問題描述】話說犀利哥有了天仙妹妹電話,電話熱線不斷。一天,電話之后,犀利哥“杯具”了:妹妹她媽要彩禮10萬元,否則就被OUT??蓱z哥哥家里窮得叮當(dāng)響,除了兩只小羊外,一無所有。他看著家里僅有的兩只羊道:“羊呀羊,你要是能每個月為咱家生一對羊該多好啊!這樣我就能拿你們?nèi)ベu錢!半年后我或許就湊滿彩禮。大家編程幫犀利哥算算:6個月是否可籌齊彩禮?編程打印每個月的“月份、羊數(shù)量和錢”?!炯僭O(shè)】犀利哥家的兩只羊是2010年1月1號生的,要在下個月的才能發(fā)育成熟生子;每一對發(fā)育成熟的羊在接下來的每個月都能生出一對小羊(一雌一雄);羊永不死亡;每只羊買10元。在上述假設(shè)下,6個月后,哥哥家會有多少只羊?能買多少錢?【提示】結(jié)合高中數(shù)學(xué),梳理出第1至6月份的羊數(shù)量的計(jì)算公式選做題『題目要求』犀利哥故事3,話說犀利哥意外接到天仙妹妹的短信,轉(zhuǎn)喜為憂愁。如何保存天仙妹妹的手機(jī)號碼呢?請同學(xué)幫忙設(shè)計(jì)一個存儲11位手機(jī)號碼軟件。主要考慮用什么數(shù)據(jù)類型?試考慮多種不同方案。并根據(jù)所設(shè)定的數(shù)據(jù)類型,聲明變量來存儲手機(jī)號碼,然后使用該變量類型在屏幕上正確地輸出號碼。如:存儲的手機(jī)號碼則最后輸出結(jié)果應(yīng)該是帝是個程序員問:上帝真能控制生活中發(fā)生的每一個細(xì)節(jié)嗎?答:如果他使用調(diào)試程序(Debug
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招投標(biāo)項(xiàng)目成本控制與優(yōu)化
- 節(jié)能減排廉潔自律招投標(biāo)守則
- 咖啡館租賃合同草稿
- 腹股溝斜疝修補(bǔ)術(shù)后護(hù)理
- 建筑施工勞務(wù)合同:旅游設(shè)施建設(shè)
- 醫(yī)療機(jī)構(gòu)市場營銷與市場定位
- 公路充電設(shè)施維護(hù)合同范本
- 木材加工安全事故預(yù)防
- 屋頂修復(fù)漏水施工合同
- 制造業(yè)用工規(guī)范承諾書
- 《統(tǒng)計(jì)學(xué)基礎(chǔ)(英文版·第7版)》教學(xué)課件les7e-05-01
- 大學(xué)生青年志愿者協(xié)會退部制度
- 口腔診所物品管理與設(shè)備維修制度
- 2022-203學(xué)年(中職)《餐飲服務(wù)與管理》試題3試卷帶答案
- 清華大學(xué)工程熱力學(xué)課件 第1章01
- 2022-2023學(xué)年山東省東營市實(shí)驗(yàn)中學(xué)物理高一第一學(xué)期期中達(dá)標(biāo)測試試題(含解析)
- 中式面點(diǎn)師初級(五級)教學(xué)計(jì)劃、大綱
- 小學(xué)綜合實(shí)踐二年級上冊第三單元《神奇的影子》教材分析及全部教案
- 小學(xué)語文人教六年級上冊(統(tǒng)編2023年更新)第六單元-《浪淘沙》導(dǎo)學(xué)單
- 測試計(jì)劃-10篇模板
- 交聯(lián)電纜運(yùn)行時的熱特性參數(shù)設(shè)計(jì)計(jì)算
評論
0/150
提交評論