版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章第一章 緒論緒論清華大學(xué)清華大學(xué) 鄭鄭 莉莉c+語(yǔ)言程序設(shè)計(jì)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉2本章主要內(nèi)容本章主要內(nèi)容l計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展l面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒╨面向?qū)ο蟮能浖_(kāi)發(fā)面向?qū)ο蟮能浖_(kāi)發(fā)l信息的表示與存儲(chǔ)信息的表示與存儲(chǔ)l程序的開(kāi)發(fā)過(guò)程程序的開(kāi)發(fā)過(guò)程c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉3計(jì)算機(jī)程序計(jì)算機(jī)程序l計(jì)算機(jī)的工作是用程序來(lái)控制的計(jì)算機(jī)的工作是用程序來(lái)控制的l程序是指令的集合。程序是指令的集合。l指令是計(jì)算機(jī)可以識(shí)別的命令。指令是計(jì)算機(jī)可以識(shí)別的命令。計(jì)算機(jī)語(yǔ)言的發(fā)展c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉4機(jī)器語(yǔ)言與匯編語(yǔ)言機(jī)器語(yǔ)言與匯編語(yǔ)言l由計(jì)
2、算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制由計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言稱(chēng)為機(jī)器語(yǔ)言。指令組成的語(yǔ)言稱(chēng)為機(jī)器語(yǔ)言。計(jì)算機(jī)發(fā)展的初期,軟件工程師們只能用機(jī)器語(yǔ)言來(lái)編寫(xiě)程序。這一階段,在人類(lèi)的自然語(yǔ)言和計(jì)算機(jī)編程語(yǔ)言之間存在著巨大的鴻溝。l匯編語(yǔ)言將機(jī)器指令映射為一些可以匯編語(yǔ)言將機(jī)器指令映射為一些可以被人讀懂的助記符,如被人讀懂的助記符,如add、sub等。等。此時(shí)編程語(yǔ)言與人類(lèi)自然語(yǔ)言間的鴻溝略有縮小,但仍與人類(lèi)的思維相差甚遠(yuǎn)。因?yàn)樗某橄髮哟翁?,程序員需要考慮大量的機(jī)器細(xì)節(jié)。計(jì)算機(jī)語(yǔ)言的發(fā)展c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉5高級(jí)語(yǔ)言高級(jí)語(yǔ)言高級(jí)語(yǔ)言屏蔽了機(jī)器的細(xì)節(jié),提高了高級(jí)語(yǔ)言屏蔽了機(jī)器
3、的細(xì)節(jié),提高了語(yǔ)言的抽象層次,程序中可以采用具有語(yǔ)言的抽象層次,程序中可以采用具有一定涵義的數(shù)據(jù)命名和容易理解的執(zhí)行一定涵義的數(shù)據(jù)命名和容易理解的執(zhí)行語(yǔ)句。這使得在書(shū)寫(xiě)程序時(shí)可以聯(lián)系到語(yǔ)句。這使得在書(shū)寫(xiě)程序時(shí)可以聯(lián)系到程序所描述的具體事物。程序所描述的具體事物。計(jì)算機(jī)語(yǔ)言的發(fā)展c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉6面向?qū)ο蟮恼Z(yǔ)言面向?qū)ο蟮恼Z(yǔ)言l出發(fā)點(diǎn):出發(fā)點(diǎn):更直接地描述客觀世界中存在的事物(對(duì)象)以及它們之間的關(guān)系。l特點(diǎn):特點(diǎn):是高級(jí)語(yǔ)言。將客觀事物看作具有屬性和行為的對(duì)象。通過(guò)抽象找出同一類(lèi)對(duì)象的共同屬性和行為,形成類(lèi)。通過(guò)類(lèi)的繼承與多態(tài)實(shí)現(xiàn)代碼重用計(jì)算機(jī)語(yǔ)言的發(fā)展c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭
4、莉7面向?qū)ο蟮恼Z(yǔ)言面向?qū)ο蟮恼Z(yǔ)言l優(yōu)點(diǎn):優(yōu)點(diǎn):使程序能夠比較直接地反問(wèn)題域的本來(lái)面目,軟件開(kāi)發(fā)人員能夠利用人類(lèi)認(rèn)識(shí)事物所采用的一般思維方法來(lái)進(jìn)行軟件開(kāi)發(fā)。計(jì)算機(jī)語(yǔ)言的發(fā)展c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉8程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程 面向面向過(guò)程過(guò)程的程序設(shè)計(jì)方法的程序設(shè)計(jì)方法l程序的目的:用于數(shù)學(xué)計(jì)算程序的目的:用于數(shù)學(xué)計(jì)算l主要工作:設(shè)計(jì)求解問(wèn)題的過(guò)程主要工作:設(shè)計(jì)求解問(wèn)題的過(guò)程l缺點(diǎn):對(duì)于龐大、復(fù)雜的程序難以開(kāi)缺點(diǎn):對(duì)于龐大、復(fù)雜的程序難以開(kāi)發(fā)和維護(hù)發(fā)和維護(hù)面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉9程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程面向面向過(guò)程過(guò)程的的結(jié)構(gòu)化結(jié)
5、構(gòu)化程序設(shè)計(jì)方法程序設(shè)計(jì)方法l設(shè)計(jì)思路設(shè)計(jì)思路 自頂向下、逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之。l程序結(jié)構(gòu):程序結(jié)構(gòu): 按功能劃分為若干個(gè)基本模塊,形成一個(gè)樹(shù)狀結(jié)構(gòu)。 各模塊間的關(guān)系盡可能簡(jiǎn)單,功能上相對(duì)獨(dú)立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成。 其模塊化實(shí)現(xiàn)的具體方法是使用子程序。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉10程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程面向面向過(guò)程過(guò)程的的結(jié)構(gòu)化結(jié)構(gòu)化程序設(shè)計(jì)方法程序設(shè)計(jì)方法l優(yōu)點(diǎn):優(yōu)點(diǎn):有效地將一個(gè)較復(fù)雜的程序系統(tǒng)設(shè)計(jì)任務(wù)分解成許多易于控制和處理的子任務(wù),便于開(kāi)發(fā)和維護(hù)。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大
6、學(xué) 鄭莉11程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程 面向面向過(guò)程過(guò)程的的結(jié)構(gòu)化結(jié)構(gòu)化程序設(shè)計(jì)方法程序設(shè)計(jì)方法l缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以開(kāi)發(fā)大型軟件和圖形界面的應(yīng)用軟件開(kāi)發(fā)大型軟件和圖形界面的應(yīng)用軟件 把數(shù)據(jù)和處理數(shù)據(jù)的過(guò)程分離為相互獨(dú)立的實(shí)體。 當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時(shí),所有相關(guān)的處理過(guò)程都要進(jìn)行相應(yīng)的修改。 每一種相對(duì)于老問(wèn)題的新方法都要帶來(lái)額外的開(kāi)銷(xiāo)。 圖形用戶(hù)界面的應(yīng)用程序,很難用過(guò)程來(lái)描述和實(shí)現(xiàn),開(kāi)發(fā)和維護(hù)也都很困難。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉12程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程 面向面向?qū)ο髮?duì)象的方法的方法l
7、將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法封裝在一將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法封裝在一起,作為一個(gè)相互依存、不可分離的起,作為一個(gè)相互依存、不可分離的整體整體對(duì)象。對(duì)象。l對(duì)同類(lèi)型對(duì)象抽象出其共性,形成類(lèi)。對(duì)同類(lèi)型對(duì)象抽象出其共性,形成類(lèi)。l類(lèi)通過(guò)一個(gè)簡(jiǎn)單的外部接口,與外界類(lèi)通過(guò)一個(gè)簡(jiǎn)單的外部接口,與外界發(fā)生關(guān)系。發(fā)生關(guān)系。l對(duì)象與對(duì)象之間通過(guò)消息進(jìn)行通訊。對(duì)象與對(duì)象之間通過(guò)消息進(jìn)行通訊。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉13程序設(shè)計(jì)方法的發(fā)展歷程程序設(shè)計(jì)方法的發(fā)展歷程 面向面向?qū)ο髮?duì)象的方法的方法l優(yōu)點(diǎn):優(yōu)點(diǎn): 程序模塊間的關(guān)系更為簡(jiǎn)單,程序模塊的獨(dú)立性、數(shù)據(jù)的安全性就有了良好的保障。 通過(guò)繼承與多態(tài)性
8、,可以大大提高程序的可重用性,使得軟件的開(kāi)發(fā)和維護(hù)都更為方便。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉14面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?對(duì)象對(duì)象l一般意義上的對(duì)象:一般意義上的對(duì)象: 是現(xiàn)實(shí)世界中一個(gè)實(shí)際存在的事物。 可以是有形的(比如一輛汽車(chē)),也可以是無(wú)形的(比如一項(xiàng)計(jì)劃)。 是構(gòu)成世界的一個(gè)獨(dú)立單位,具有:l靜態(tài)特征:可以用某種數(shù)據(jù)來(lái)描述l動(dòng)態(tài)特征:對(duì)象所表現(xiàn)的行為或具有的功能面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉15面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?對(duì)象對(duì)象l面向?qū)ο蠓椒ㄖ械膶?duì)象:面向?qū)ο蠓椒ㄖ械膶?duì)象: 是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,它是用來(lái)構(gòu)成系統(tǒng)的一個(gè)基
9、本單位。對(duì)象由一組屬性和一組行為構(gòu)成。 屬性:用來(lái)描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng)。 行為:用來(lái)描述對(duì)象動(dòng)態(tài)特征的操作序列。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉16面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?類(lèi)類(lèi)l分類(lèi)分類(lèi)人類(lèi)通常的思維方法人類(lèi)通常的思維方法l分類(lèi)所依據(jù)的原則分類(lèi)所依據(jù)的原則抽象抽象 忽略事物的非本質(zhì)特征,只注意那些與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事物劃分為一類(lèi),得出一個(gè)抽象的概念。 例如,石頭、樹(shù)木、汽車(chē)、房屋等都是人們?cè)陂L(zhǎng)期的生產(chǎn)和生活實(shí)踐中抽象出的概念。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉17面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?類(lèi)類(lèi)l面向
10、對(duì)象方法中的面向?qū)ο蠓椒ㄖ械念?lèi)類(lèi) 具有相同屬性和服務(wù)的一組對(duì)象的集合 為屬于該類(lèi)的全部對(duì)象提供了抽象的描述,包括屬性和行為兩個(gè)主要部分。 類(lèi)與對(duì)象的關(guān)系:猶如模具與鑄件之間的關(guān)系,一個(gè)屬于某類(lèi)的對(duì)象稱(chēng)為該類(lèi)的一個(gè)實(shí)例。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉18面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?封裝封裝l把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立把對(duì)象的屬性和服務(wù)結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單元。的系統(tǒng)單元。l盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。對(duì)外形盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。對(duì)外形成一個(gè)邊界(或者說(shuō)一道屏障),只成一個(gè)邊界(或者說(shuō)一道屏障),只保留有限的對(duì)外接口使之與外部發(fā)生保留有限的對(duì)外接口使之與外部發(fā)生聯(lián)系
11、。聯(lián)系。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉19面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?繼承繼承l(wèi)繼承對(duì)于軟件復(fù)用有著重要意義,是繼承對(duì)于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)能夠提高軟件開(kāi)發(fā)效率面向?qū)ο蠹夹g(shù)能夠提高軟件開(kāi)發(fā)效率的重要原因之一。的重要原因之一。l定義:特殊類(lèi)的對(duì)象擁有其一般類(lèi)的定義:特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部屬性與服務(wù),稱(chēng)作特殊類(lèi)對(duì)一般全部屬性與服務(wù),稱(chēng)作特殊類(lèi)對(duì)一般類(lèi)的繼承。類(lèi)的繼承。l例如:將輪船作為一個(gè)一般類(lèi),客輪例如:將輪船作為一個(gè)一般類(lèi),客輪便是一個(gè)特殊類(lèi)。便是一個(gè)特殊類(lèi)。面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉20面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?多
12、態(tài)性多態(tài)性l多態(tài)是指在一般類(lèi)中定義的屬性或行多態(tài)是指在一般類(lèi)中定義的屬性或行為,被特殊類(lèi)繼承之后,可以具有不為,被特殊類(lèi)繼承之后,可以具有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為。同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為。這使得同一個(gè)屬性或行為在一般類(lèi)及這使得同一個(gè)屬性或行為在一般類(lèi)及其各個(gè)特殊類(lèi)中具有不同的語(yǔ)義。其各個(gè)特殊類(lèi)中具有不同的語(yǔ)義。l例如:例如:數(shù)的加法-實(shí)數(shù)的加法 -復(fù)數(shù)的加法面向?qū)ο蟮姆椒╟+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉21面向?qū)ο蟮能浖こ堂嫦驅(qū)ο蟮能浖こ蘬面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒嫦驅(qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I(lǐng)域的全面應(yīng)用。它包括在軟件工程領(lǐng)域的全面應(yīng)用。它包括: 面向?qū)?/p>
13、象的分析(ooa) 面向?qū)ο蟮脑O(shè)計(jì)(ood) 面向?qū)ο蟮木幊蹋╫op) 面向?qū)ο蟮臏y(cè)試(oot) 面向?qū)ο蟮能浖S護(hù)(oosm)面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉22系統(tǒng)分析系統(tǒng)分析l系統(tǒng)分析階段應(yīng)該扼要精確地抽象出系統(tǒng)分析階段應(yīng)該扼要精確地抽象出系統(tǒng)必須做什么,但是不關(guān)心如何去系統(tǒng)必須做什么,但是不關(guān)心如何去實(shí)現(xiàn)。實(shí)現(xiàn)。l面向?qū)ο蟮南到y(tǒng)分析,直接用問(wèn)題域面向?qū)ο蟮南到y(tǒng)分析,直接用問(wèn)題域中客觀存在的事物建立模型中的對(duì)象,中客觀存在的事物建立模型中的對(duì)象,對(duì)單個(gè)事物及事物之間的關(guān)系,都保對(duì)單個(gè)事物及事物之間的關(guān)系,都保留他們的原貌,不做轉(zhuǎn)換,也不打破留他們的原貌,不做轉(zhuǎn)換,也不打破
14、原有界限而重新組合,因此能夠很好原有界限而重新組合,因此能夠很好地映射客觀事物。地映射客觀事物。面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉23設(shè)計(jì)設(shè)計(jì)l針對(duì)系統(tǒng)的一個(gè)具體實(shí)現(xiàn)運(yùn)用面向?qū)︶槍?duì)系統(tǒng)的一個(gè)具體實(shí)現(xiàn)運(yùn)用面向?qū)ο蟮姆椒?。其中包括兩方面的工作:象的方法。其中包括兩方面的工作?把ooa模型直接搬到ood,作為ood的一部分 針對(duì)具體實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲(chǔ)、任務(wù)管理等因素補(bǔ)充一些與實(shí)現(xiàn)有關(guān)的部分。面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉24編程編程oop工作就是用一種面向?qū)ο蟮木幑ぷ骶褪怯靡环N面向?qū)ο蟮木幊陶Z(yǔ)言把程語(yǔ)言把ood模型中的每個(gè)成分書(shū)寫(xiě)出模型中的每個(gè)成分書(shū)寫(xiě)出來(lái),
15、是面向?qū)ο蟮能浖_(kāi)發(fā)最終落實(shí)的來(lái),是面向?qū)ο蟮能浖_(kāi)發(fā)最終落實(shí)的重要階段。重要階段。面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉25測(cè)試測(cè)試l測(cè)試的任務(wù)是發(fā)現(xiàn)軟件中的錯(cuò)誤。測(cè)試的任務(wù)是發(fā)現(xiàn)軟件中的錯(cuò)誤。l在面向?qū)ο蟮能浖y(cè)試中繼續(xù)運(yùn)用面在面向?qū)ο蟮能浖y(cè)試中繼續(xù)運(yùn)用面向?qū)ο蟮母拍钆c原則來(lái)組織測(cè)試,以向?qū)ο蟮母拍钆c原則來(lái)組織測(cè)試,以對(duì)象的類(lèi)作為基本測(cè)試單位,可以更對(duì)象的類(lèi)作為基本測(cè)試單位,可以更準(zhǔn)確的發(fā)現(xiàn)程序錯(cuò)誤并提高測(cè)試效率。準(zhǔn)確的發(fā)現(xiàn)程序錯(cuò)誤并提高測(cè)試效率。面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉26維護(hù)維護(hù)將軟件交付使用后,工作并沒(méi)有完將軟件交付使用后,工作并沒(méi)有完結(jié),還要根據(jù)
16、軟件的運(yùn)行情況和用戶(hù)的結(jié),還要根據(jù)軟件的運(yùn)行情況和用戶(hù)的需求,不斷改進(jìn)系統(tǒng)。需求,不斷改進(jìn)系統(tǒng)。使用面向?qū)ο蟮姆椒ㄩ_(kāi)發(fā)的軟件,使用面向?qū)ο蟮姆椒ㄩ_(kāi)發(fā)的軟件,其程序與問(wèn)題域是一致的,因此,在維其程序與問(wèn)題域是一致的,因此,在維護(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇嶙o(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇岣哕浖S護(hù)的效率。高軟件維護(hù)的效率。面向?qū)ο蟮能浖_(kāi)發(fā)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉27信息的表示和存儲(chǔ)信息的表示和存儲(chǔ)l信息的分類(lèi)信息的分類(lèi)l計(jì)算機(jī)的數(shù)字系統(tǒng)計(jì)算機(jī)的數(shù)字系統(tǒng)l程序設(shè)計(jì)中常用的數(shù)制程序設(shè)計(jì)中常用的數(shù)制l不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換l信息的存儲(chǔ)單位信息的存儲(chǔ)單位l二進(jìn)制數(shù)的編
17、碼表示二進(jìn)制數(shù)的編碼表示l小數(shù)的表示方法小數(shù)的表示方法l非數(shù)值信息的表示非數(shù)值信息的表示c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉28信息的分類(lèi)信息的分類(lèi) 指令 控制信息 控制字 信息 定點(diǎn)數(shù) 數(shù)值信息 數(shù)據(jù)信息 浮點(diǎn)數(shù) 字符數(shù)據(jù) 非數(shù)值信息 邏輯數(shù)據(jù)信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉29計(jì)算機(jī)的數(shù)字系統(tǒng)計(jì)算機(jī)的數(shù)字系統(tǒng)l計(jì)算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。計(jì)算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。l基本符號(hào):基本符號(hào):0、1l進(jìn)位原則:逢二進(jìn)一進(jìn)位原則:逢二進(jìn)一l優(yōu)點(diǎn):優(yōu)點(diǎn): 易于物理實(shí)現(xiàn) 二進(jìn)制數(shù)運(yùn)算簡(jiǎn)單 機(jī)器可靠性高 通用性強(qiáng)l缺點(diǎn):對(duì)人來(lái)說(shuō)可讀性差缺點(diǎn):對(duì)人來(lái)說(shuō)可讀性差信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清
18、華大學(xué) 鄭莉30程序設(shè)計(jì)中常用的數(shù)制程序設(shè)計(jì)中常用的數(shù)制信息的表示與存儲(chǔ)進(jìn)制 基 數(shù) 進(jìn)位原則 基本符號(hào) 二進(jìn)制 2 逢 2進(jìn) 1 0,1 八進(jìn)制 8 逢 8進(jìn) 1 0,1,2,3,4,5,6,7 十進(jìn)制 10 逢 10進(jìn) 1 0,1,2,3,4,5,6,7,8,9, 十六進(jìn)制 16 逢 16進(jìn) 1 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉31不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 r 進(jìn)制進(jìn)制十進(jìn)制十進(jìn)制各位數(shù)字與它的權(quán)相乘,其積相加。各位數(shù)字與它的權(quán)相乘,其積相加。例如例如:(11111111.11)2=1*27 + 1*26 +
19、 1* 25 +1* 24 + 1* 23 + 1* 22 +1* 21+ 1* 20+1*2-1+1*2-2 =(255.75)10(3506.2)8=3*83 + 5*82 + 0*81 + 6*80 +2*8-1=(1862.25)10(0.2a)16=2*16-1 +10*16-2=(0.1640625)10信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉32不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 r 進(jìn)制進(jìn)制十進(jìn)制整數(shù)轉(zhuǎn)換成十進(jìn)制整數(shù)轉(zhuǎn)換成r進(jìn)制的整數(shù)進(jìn)制的整數(shù)“除r取余”法,例如:2 68 余 數(shù) 2 34 0 低位 2 17 0 2 8 1 2 4 0 2 2
20、0 2 1 0 0 1 高位所以 681010001002信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉33不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 r 進(jìn)制進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成十進(jìn)制小數(shù)轉(zhuǎn)換成r進(jìn)制小數(shù)進(jìn)制小數(shù)“乘 r 取整”法,例如: 高位 0.31252 = 0 .625 0.625 2 = 1 .25 0.25 2 = 0 .5 0.5 2 = 1 .0所以 0.312510 = 0.01012 信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉34不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換二、八、十六進(jìn)制的相互轉(zhuǎn)換二、八、十六進(jìn)制的相互轉(zhuǎn)換l每位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)
21、制數(shù)每位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(shù)l每位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)每位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)(1011010.10)2=(001 011 010 .100)2=(132.4)8(1011010.10)2=(0101 1010 .1000)2=(5a.8)16(f7)16(1111 0111)2(11110111)2信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉35信息的存儲(chǔ)單位信息的存儲(chǔ)單位l位位(bit):度量數(shù)據(jù)的最小單位,表示:度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。一位二進(jìn)制信息。l字節(jié)字節(jié)(byte):由八位二進(jìn)制數(shù)字組成:由八位二進(jìn)制數(shù)字組成(1 byte = 8 bit)
22、。k 字節(jié) 1 k = 1024 bytem 字節(jié) 1 m = 1024 kg 字節(jié) 1 g = 1024 m 信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉36二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:原碼原碼l符號(hào)符號(hào)絕對(duì)值表示絕對(duì)值表示的編碼的編碼例如:x=+0101011 x原 = 0 0101011x=-0101011 x原 = 1 0101011 符號(hào)位l缺點(diǎn):缺點(diǎn): 零的表示不唯一:+0原 =000.0 -0原 =100.0進(jìn)行四則運(yùn)算時(shí),符號(hào)位需單獨(dú)處理,且運(yùn)算規(guī)則復(fù)雜。信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉37二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:反碼反碼l正數(shù)的反碼與原
23、碼表示相同。正數(shù)的反碼與原碼表示相同。l負(fù)數(shù)的反碼與原碼有如下關(guān)系:負(fù)數(shù)的反碼與原碼有如下關(guān)系:符號(hào)位相同(仍用1表示),其余各位取反(0變1,1變0)。例如:x=-1100110 x原 =11100110 x反 =10011001x=+0000000 x原 =00000000 x反 =00000000l反碼中零的表示也不唯一反碼中零的表示也不唯一x=-0000000 x原 =10000000 x反 =11111111l反碼只是求補(bǔ)碼的中間碼反碼只是求補(bǔ)碼的中間碼信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉38二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:補(bǔ)碼補(bǔ)碼l模數(shù):模數(shù): n位整數(shù)(包括一位符
24、號(hào)位),則它的模數(shù)為 2n 。 n位小數(shù),小數(shù)點(diǎn)前一位為符號(hào)位,則它的模數(shù)為 2。l補(bǔ)數(shù):補(bǔ)數(shù): 一個(gè)數(shù)減去另一個(gè)數(shù),或者說(shuō)一個(gè)數(shù)加上一個(gè)負(fù)數(shù),等于第一個(gè)數(shù)加上第二個(gè)數(shù)的補(bǔ)數(shù)。例:8+(-2)=8+10 ( mod 12 ) 一個(gè)二進(jìn)制負(fù)數(shù)可用其模數(shù)與真值做加法 (模減去該數(shù)的絕對(duì)值) 求得其補(bǔ)碼。信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉39二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:補(bǔ)碼補(bǔ)碼l計(jì)算機(jī)中的補(bǔ)碼表示法計(jì)算機(jī)中的補(bǔ)碼表示法 負(fù)數(shù)的補(bǔ)碼由該數(shù)反碼的末位加 1 求得 對(duì)補(bǔ)碼再求補(bǔ)即得到原碼l補(bǔ)碼運(yùn)算規(guī)則補(bǔ)碼運(yùn)算規(guī)則 符號(hào)位可作為數(shù)值參加運(yùn)算 減法運(yùn)算可轉(zhuǎn)換為加法運(yùn)算:加上一個(gè)負(fù)數(shù)等于加上該數(shù)的補(bǔ)碼 補(bǔ)碼運(yùn)算的結(jié)果仍為補(bǔ)碼 運(yùn)算結(jié)果溢出:負(fù)數(shù)之和得正數(shù),或正數(shù)之和得負(fù)數(shù)信息的表示與存儲(chǔ)c+語(yǔ)言程序設(shè)計(jì)清華大學(xué) 鄭莉40小數(shù)的表示方法小數(shù)的表示方法l計(jì)算機(jī)中通常采用浮點(diǎn)方式表示小數(shù)計(jì)算機(jī)中通常采用浮點(diǎn)方式表示小數(shù)一個(gè)數(shù)一個(gè)數(shù) n 用浮點(diǎn)形式表示可以寫(xiě)成:用浮點(diǎn)形式表示可以寫(xiě)成: n=m2e e表示2的冪,稱(chēng)為數(shù)n的階碼。階碼確定了數(shù)n的小數(shù)點(diǎn)的位置,其位數(shù)反映了該浮點(diǎn)數(shù)所表示的數(shù)的范圍。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南華經(jīng)課件教學(xué)課件
- 玉溪師范學(xué)院《科學(xué)社會(huì)主義》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年襪子項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2023年濾板項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2024年裝在進(jìn)口飛機(jī)上的國(guó)產(chǎn)零備件和材料項(xiàng)目綜合評(píng)估報(bào)告
- 2019湘美版 高中美術(shù) 選擇性必修1 繪畫(huà)《第二單元 繪畫(huà)中的色彩》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 2024屆河北省棗強(qiáng)中學(xué)高三2月11日專(zhuān)項(xiàng)練習(xí)數(shù)學(xué)試題
- 2024屆河北省滄州鹽山中學(xué)高三第二學(xué)期聯(lián)合教學(xué)質(zhì)量調(diào)研數(shù)學(xué)試題試卷
- 2024屆貴州省六盤(pán)水市盤(pán)縣第四中學(xué)招生全國(guó)統(tǒng)一考試高考模擬調(diào)研卷數(shù)學(xué)試題(二)
- 柳州市2025屆高三第一次模擬考試(一模)歷史試卷
- 民間借貸利息計(jì)算表
- 網(wǎng)絡(luò)安全試題題庫(kù)及參考答案
- 2024江蘇省鐵路集團(tuán)限公司春季招聘24人高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 滬科版(2024)八年級(jí)全一冊(cè)物理第一學(xué)期期中學(xué)業(yè)質(zhì)量測(cè)試卷 2套(含答案)
- 家長(zhǎng)會(huì)課件:小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)家長(zhǎng)會(huì)課件
- Q GDW 10115-2022 110kV~1000kV架空輸電線路施工及驗(yàn)收規(guī)范
- 2023《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀PPT
- 核心素養(yǎng)導(dǎo)向下初中數(shù)學(xué)課堂作業(yè)多元化設(shè)計(jì)
- 愚公移山英文 -中國(guó)故事英文版課件
- 國(guó)開(kāi)經(jīng)濟(jì)學(xué)(本)1-14章練習(xí)試題及答案
- 實(shí)驗(yàn)室家具工程施工組織方案
評(píng)論
0/150
提交評(píng)論