C語言程序設(shè)計第一章緒論_第1頁
C語言程序設(shè)計第一章緒論_第2頁
C語言程序設(shè)計第一章緒論_第3頁
C語言程序設(shè)計第一章緒論_第4頁
C語言程序設(shè)計第一章緒論_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計第一章緒論 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論2 本章主要內(nèi)容本章主要內(nèi)容 l計算機(jī)程序設(shè)計語言的發(fā)展計算機(jī)程序設(shè)計語言的發(fā)展 l面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒?l面向?qū)ο蟮能浖_發(fā)面向?qū)ο蟮能浖_發(fā) l信息的表示與存儲信息的表示與存儲 l程序的開發(fā)過程程序的開發(fā)過程 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論3 計算機(jī)程序計算機(jī)程序 l計算機(jī)的工作是用程序來控制的計算機(jī)的工作是用程序來控制的 l程序是指令的集合。程序是指令的集合。 l指令是計算機(jī)可以識別的命令。指令是計算機(jī)可以識別的命令。 計算機(jī)語言的發(fā)展 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論4 機(jī)器語言與匯編語言

2、機(jī)器語言與匯編語言 l由計算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制由計算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制 指令組成的語言稱為機(jī)器語言。指令組成的語言稱為機(jī)器語言。 計算機(jī)發(fā)展的初期,軟件工程師們只能用機(jī)器 語言來編寫程序。這一階段,在人類的自然語言和 計算機(jī)編程語言之間存在著巨大的鴻溝。 l匯編語言將機(jī)器指令映射為一些可以匯編語言將機(jī)器指令映射為一些可以 被人讀懂的助記符,如被人讀懂的助記符,如ADDADD、SUBSUB等。等。 此時編程語言與人類自然語言間的鴻溝略有縮 小,但仍與人類的思維相差甚遠(yuǎn)。因為它的抽象層 次太低,程序員需要考慮大量的機(jī)器細(xì)節(jié)。 計算機(jī)語言的發(fā)展 C+語言程序設(shè)計 C語言程序設(shè)計第一章

3、緒論5 高級語言高級語言 高級語言屏蔽了機(jī)器的細(xì)節(jié),提高了高級語言屏蔽了機(jī)器的細(xì)節(jié),提高了 語言的抽象層次,程序中可以采用具有語言的抽象層次,程序中可以采用具有 一定含義的數(shù)據(jù)命名和容易理解的執(zhí)行一定含義的數(shù)據(jù)命名和容易理解的執(zhí)行 語句。這使得在書寫程序時可以聯(lián)系到語句。這使得在書寫程序時可以聯(lián)系到 程序所描述的具體事物。程序所描述的具體事物。 計算機(jī)語言的發(fā)展 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論6 面向?qū)ο蟮恼Z言面向?qū)ο蟮恼Z言 l出發(fā)點(diǎn):出發(fā)點(diǎn): 更直接地描述客觀世界中存在的事物 (對象)以及它們之間的關(guān)系。 l特點(diǎn):特點(diǎn): 是高級語言。 將客觀事物看作具有屬性和行為的對象。 通過抽

4、象找出同一類對象的共同屬性和 行為,形成類。 通過類的繼承與多態(tài)實現(xiàn)代碼重用 計算機(jī)語言的發(fā)展 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論7 面向?qū)ο蟮恼Z言面向?qū)ο蟮恼Z言 l優(yōu)點(diǎn):優(yōu)點(diǎn): 使程序能夠比較直接地反映問題域的 本來面目,軟件開發(fā)人員能夠利用人類認(rèn) 識事物所采用的一般思維方法來進(jìn)行軟件 開發(fā)。 計算機(jī)語言的發(fā)展 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論8 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向過程的程序設(shè)計方法面向過程的程序設(shè)計方法 l最早的程序最早的程序 目的:用于數(shù)學(xué)計算 主要工作:設(shè)計求解問題的過程 缺點(diǎn):對于龐大、復(fù)雜的程序難以開發(fā)和 維護(hù) 面向?qū)ο蟮姆椒?C+

5、語言程序設(shè)計 C語言程序設(shè)計第一章緒論9 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向過程的結(jié)構(gòu)化程序設(shè)計方法面向過程的結(jié)構(gòu)化程序設(shè)計方法 l設(shè)計思路設(shè)計思路 自頂向下、逐步求精。采用模塊分解與 功能抽象,自頂向下、分而治之。 l程序結(jié)構(gòu):程序結(jié)構(gòu): 按功能劃分為若干個基本模塊,形成一 個樹狀結(jié)構(gòu)。 各模塊間的關(guān)系盡可能簡單,功能上相 對獨(dú)立;每一模塊內(nèi)部均是由順序、選 擇和循環(huán)三種基本結(jié)構(gòu)組成。 其模塊化實現(xiàn)的具體方法是使用子程序。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論10 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向過程的結(jié)構(gòu)化程序設(shè)計方法面向過程的結(jié)構(gòu)化

6、程序設(shè)計方法 l優(yōu)點(diǎn):優(yōu)點(diǎn): 有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計 任務(wù)分解成許多易于控制和處理的子任務(wù), 便于開發(fā)和維護(hù)。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論11 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向過程的結(jié)構(gòu)化程序設(shè)計方法面向過程的結(jié)構(gòu)化程序設(shè)計方法 l缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以缺點(diǎn):可重用性差、數(shù)據(jù)安全性差、難以 開發(fā)大型軟件和圖形界面的應(yīng)用軟件開發(fā)大型軟件和圖形界面的應(yīng)用軟件 把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨(dú)立的實 體。 當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程都要 進(jìn)行相應(yīng)的修改。 每一種相對于老問題的新方法都要帶來額外的 開銷。 圖形用戶界

7、面的應(yīng)用程序,很難用過程來描述 和實現(xiàn),開發(fā)和維護(hù)也都很困難。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論12 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒?l將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一 起,作為一個相互依存、不可分離的起,作為一個相互依存、不可分離的 整體整體對象。對象。 l對同類型對象抽象出其共性,形成類。對同類型對象抽象出其共性,形成類。 l類通過一個簡單的外部接口,與外界類通過一個簡單的外部接口,與外界 發(fā)生關(guān)系。發(fā)生關(guān)系。 l對象與對象之間通過消息進(jìn)行通信。對象與對象之間通過消息進(jìn)行通信。 面向?qū)ο蟮?/p>

8、方法 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論13 程序設(shè)計方法的發(fā)展歷程程序設(shè)計方法的發(fā)展歷程 面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒?l優(yōu)點(diǎn):優(yōu)點(diǎn): 程序模塊間的關(guān)系更為簡單,程序模塊 的獨(dú)立性、數(shù)據(jù)的安全性就有了良好的 保障。 通過繼承與多態(tài)性,可以大大提高程序 的可重用性,使得軟件的開發(fā)和維護(hù)都 更為方便。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論14 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?對象對象 l一般意義上的對象:一般意義上的對象: 是現(xiàn)實世界中一個實際存在的事物。 可以是有形的(比如一輛汽車),也可 以是無形的(比如一項計劃)。 是構(gòu)成世界的一個獨(dú)立單位,具有 l靜態(tài)

9、特征:可以用某種數(shù)據(jù)來描述 l動態(tài)特征:對象所表現(xiàn)的行為或具有的功能 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論15 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?對象對象 l面向?qū)ο蠓椒ㄖ械膶ο螅好嫦驅(qū)ο蠓椒ㄖ械膶ο螅?是系統(tǒng)中用來描述客觀事物的一個實體, 它是用來構(gòu)成系統(tǒng)的一個基本單位。對象 由一組屬性和一組行為構(gòu)成。 屬性:用來描述對象靜態(tài)特征的數(shù)據(jù)項。 行為:用來描述對象動態(tài)特征的操作序列。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論16 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?類類 l分類分類人類通常的思維方法人類通常的思維方法 l分類所依據(jù)的原則分類所依據(jù)的原

10、則抽象抽象 忽略事物的非本質(zhì)特征,只注意那些與 當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事 物的共性,把具有共同性質(zhì)的事物劃分 為一類,得出一個抽象的概念。 例如,石頭、樹木、汽車、房屋等都是 人們在長期的生產(chǎn)和生活實踐中抽象出 的概念。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論17 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?類類 l面向?qū)ο蠓椒ㄖ械拿嫦驅(qū)ο蠓椒ㄖ械念愵?具有相同屬性和服務(wù)的一組對象的集合 為屬于該類的全部對象提供了抽象的描述, 包括屬性和行為兩個主要部分。 類與對象的關(guān)系: 猶如模具與鑄件之間的關(guān)系,一個屬于某 類的對象稱為該類的一個實例。 面向?qū)ο蟮姆椒?C+語言程序

11、設(shè)計 C語言程序設(shè)計第一章緒論18 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?封裝封裝 l把對象的屬性和服務(wù)結(jié)合成一個獨(dú)立把對象的屬性和服務(wù)結(jié)合成一個獨(dú)立 的系統(tǒng)單元。的系統(tǒng)單元。 l盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。對外形盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。對外形 成一個邊界(或者說一道屏障),只成一個邊界(或者說一道屏障),只 保留有限的對外接口使之與外部發(fā)生保留有限的對外接口使之與外部發(fā)生 聯(lián)系。聯(lián)系。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論19 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?繼承繼承 l繼承對于軟件復(fù)用有著重要意義,是繼承對于軟件復(fù)用有著重要意義,是 面向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)

12、效率面向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)效率 的重要原因之一。的重要原因之一。 l定義:特殊類的對象擁有其一般類的定義:特殊類的對象擁有其一般類的 全部屬性與服務(wù),稱作特殊類對一般全部屬性與服務(wù),稱作特殊類對一般 類的繼承。類的繼承。 l例如:將輪船作為一個一般類,客輪例如:將輪船作為一個一般類,客輪 便是一個特殊類。便是一個特殊類。 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論20 面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?多態(tài)性多態(tài)性 l多態(tài)是指在一般類中定義的屬性或行多態(tài)是指在一般類中定義的屬性或行 為,被特殊類繼承之后,可以具有不為,被特殊類繼承之后,可以具有不 同的數(shù)據(jù)類型或表現(xiàn)出

13、不同的行為。同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。 這使得同一個屬性或行為在一般類及這使得同一個屬性或行為在一般類及 其各個特殊類中具有不同的語義。其各個特殊類中具有不同的語義。 l例如:例如: 數(shù)的加法-實數(shù)的加法 -復(fù)數(shù)的加法 面向?qū)ο蟮姆椒?C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論21 面向?qū)ο蟮能浖こ堂嫦驅(qū)ο蟮能浖こ?l面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒嫦驅(qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒?在軟件工程領(lǐng)域的全面應(yīng)用。它包括在軟件工程領(lǐng)域的全面應(yīng)用。它包括: 面向?qū)ο蟮姆治觯∣OA) 面向?qū)ο蟮脑O(shè)計(OOD) 面向?qū)ο蟮木幊蹋∣OP) 面向?qū)ο蟮臏y試(OOT) 面向?qū)ο蟮能浖S護(hù)(OOSM)

14、面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論22 系統(tǒng)分析系統(tǒng)分析 l系統(tǒng)分析階段應(yīng)該扼要精確地抽象出系統(tǒng)分析階段應(yīng)該扼要精確地抽象出 系統(tǒng)必須做什么,但是不關(guān)心如何去系統(tǒng)必須做什么,但是不關(guān)心如何去 實現(xiàn)。實現(xiàn)。 l面向?qū)ο蟮南到y(tǒng)分析,直接用問題域面向?qū)ο蟮南到y(tǒng)分析,直接用問題域 中客觀存在的事物建立模型中的對象,中客觀存在的事物建立模型中的對象, 對單個事物及事物之間的關(guān)系,都保對單個事物及事物之間的關(guān)系,都保 留他們的原貌,不做轉(zhuǎn)換,也不打破留他們的原貌,不做轉(zhuǎn)換,也不打破 原有界限而重新組合,因此能夠很好原有界限而重新組合,因此能夠很好 地映射客觀事物。地映射客觀事物

15、。 面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論23 設(shè)計設(shè)計 l針對系統(tǒng)的一個具體實現(xiàn)運(yùn)用面向?qū)︶槍ο到y(tǒng)的一個具體實現(xiàn)運(yùn)用面向?qū)?象的方法。其中包括兩方面的工作:象的方法。其中包括兩方面的工作: 把OOA模型直接搬到OOD,作為OOD的一部 分 針對具體實現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲、 任務(wù)管理等因素補(bǔ)充一些與實現(xiàn)有關(guān)的 部分。 面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論24 編程編程 OOPOOP工作就是用一種面向?qū)ο蟮木幑ぷ骶褪怯靡环N面向?qū)ο蟮木?程語言把程語言把OODOOD模型中的每個成分書寫出模型中的每個成分書寫出 來,是面向?qū)ο蟮能浖_發(fā)最終落實的

16、來,是面向?qū)ο蟮能浖_發(fā)最終落實的 重要階段。重要階段。 面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論25 測試測試 l測試的任務(wù)是發(fā)現(xiàn)軟件中的錯誤。測試的任務(wù)是發(fā)現(xiàn)軟件中的錯誤。 l在面向?qū)ο蟮能浖y試中繼續(xù)運(yùn)用面在面向?qū)ο蟮能浖y試中繼續(xù)運(yùn)用面 向?qū)ο蟮母拍钆c原則來組織測試,以向?qū)ο蟮母拍钆c原則來組織測試,以 對象的類作為基本測試單位,可以更對象的類作為基本測試單位,可以更 準(zhǔn)確地發(fā)現(xiàn)程序錯誤并提高測試效率。準(zhǔn)確地發(fā)現(xiàn)程序錯誤并提高測試效率。 面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論26 維護(hù)維護(hù) 將軟件交付使用后,工作并沒有完將軟件交付使用后,工作

17、并沒有完 結(jié),還要根據(jù)軟件的運(yùn)行情況和用戶的結(jié),還要根據(jù)軟件的運(yùn)行情況和用戶的 需求,不斷改進(jìn)系統(tǒng)。需求,不斷改進(jìn)系統(tǒng)。 使用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件,使用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件, 其程序與問題域是一致的,因此,在維其程序與問題域是一致的,因此,在維 護(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇嶙o(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇?高軟件維護(hù)的效率。高軟件維護(hù)的效率。 面向?qū)ο蟮能浖_發(fā) C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論27 信息的表示和存儲信息的表示和存儲 l信息的分類信息的分類 l計算機(jī)的數(shù)字系統(tǒng)計算機(jī)的數(shù)字系統(tǒng) l程序設(shè)計中常用的數(shù)制程序設(shè)計中常用的數(shù)制 l不同進(jìn)位計數(shù)制間的轉(zhuǎn)換不同進(jìn)位

18、計數(shù)制間的轉(zhuǎn)換 l信息的存儲單位信息的存儲單位 l二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示 l小數(shù)的表示方法小數(shù)的表示方法 l非數(shù)值信息的表示非數(shù)值信息的表示 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論28 信息的分類信息的分類 指令 控制信息 控制字 信息 定點(diǎn)數(shù) 數(shù)值信息 數(shù)據(jù)信息 浮點(diǎn)數(shù) 字符數(shù)據(jù) 非數(shù)值信息 邏輯數(shù)據(jù) 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論29 計算機(jī)的數(shù)字系統(tǒng)計算機(jī)的數(shù)字系統(tǒng) l計算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。計算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。 l基本符號:基本符號:0 0、1 1 l進(jìn)位原則:逢二進(jìn)一進(jìn)位原則:逢二進(jìn)一 l優(yōu)點(diǎn):優(yōu)點(diǎn): 易于物理實現(xiàn) 二進(jìn)

19、制數(shù)運(yùn)算簡單 機(jī)器可靠性高 通用性強(qiáng) l缺點(diǎn):對人來說可讀性差缺點(diǎn):對人來說可讀性差 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論30 程序設(shè)計中常用的數(shù)制程序設(shè)計中常用的數(shù)制 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論31 不同進(jìn)位記數(shù)制間的轉(zhuǎn)換不同進(jìn)位記數(shù)制間的轉(zhuǎn)換 R 進(jìn)制進(jìn)制十進(jìn)制十進(jìn)制 各位數(shù)字與它的權(quán)相乘,其積相加。各位數(shù)字與它的權(quán)相乘,其積相加。 例如例如: : (11111111.11)2=127+126+125+124 +123+122+121+120+12-1+12-2 =(255.75)10 (3506.2)8=383+582+081+6

20、80+28-1 =(1862.25)10 (0.2A)16=216-1+1016-2=(0.1640625)10 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論32 不同進(jìn)位記數(shù)制間的轉(zhuǎn)換不同進(jìn)位記數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 R 進(jìn)制進(jìn)制 十進(jìn)制整數(shù)轉(zhuǎn)換成十進(jìn)制整數(shù)轉(zhuǎn)換成R 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 0 2 1 0 0 1 高位 所以 68102 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論33 不同進(jìn)位記數(shù)制間的轉(zhuǎn)換不同進(jìn)位記數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 R

21、進(jìn)制進(jìn)制 十進(jìn)制小數(shù)轉(zhuǎn)換成十進(jìn)制小數(shù)轉(zhuǎn)換成R R進(jìn)制小數(shù)進(jìn)制小數(shù) “乘 R 取整”法,例如: 高位 0.3125 2 = 0 .625 0.625 2 = 1 .25 0.25 2 = 0 .5 0.5 2 = 1 .0 所以 0.312510 = 0.01012 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論34 不同進(jìn)位記數(shù)制間的轉(zhuǎn)換不同進(jìn)位記數(shù)制間的轉(zhuǎn)換 二、八、十六進(jìn)制的相互轉(zhuǎn)換二、八、十六進(jìn)制的相互轉(zhuǎn)換 l每位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(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

22、 011 010 .100)2 =(132.4)8 (1011010.10)2=(0101 1010 .1000)2 =(5A.8)16 (F7)16(1111 0111)2(11110111)2 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論35 信息的存儲單位信息的存儲單位 l位位(bit(bit,b)b):度量數(shù)據(jù)的最小單位,:度量數(shù)據(jù)的最小單位, 表示一位二進(jìn)制信息。表示一位二進(jìn)制信息。 l字節(jié)字節(jié)(byte(byte,B)B):由八位二進(jìn)制數(shù)字:由八位二進(jìn)制數(shù)字 組成組成(1 byte = 8 bit)(1 byte = 8 bit)。 千字節(jié) 1 KB = 1024

23、B 兆字節(jié) 1 MB = 1024 K 吉字節(jié) 1 GB = 1024 M 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論36 二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:原碼原碼 l 符號符號絕對值表示絕對值表示 的編碼的編碼 例如: X=+0101011 X原= 0 0101011 X=-0101011 X原= 1 0101011 符號位 l缺點(diǎn):缺點(diǎn): 零的表示不惟一: +0原 =000.0 -0原 =100.0 進(jìn)行四則運(yùn)算時,符號位須單獨(dú)處 理,且運(yùn)算規(guī)則復(fù)雜。 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論37 二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:反碼反碼

24、l正數(shù)的反碼與原碼表示相同。正數(shù)的反碼與原碼表示相同。 l負(fù)數(shù)的反碼與原碼有如下關(guān)系:負(fù)數(shù)的反碼與原碼有如下關(guān)系: 符號位相同(仍用1表示),其余各位取反(0 變1,1變0)。例如: X=-1100110 X原 =11100110 X反 =10011001 X=+0000000 X原 =00000000 X反 =00000000 l反碼中零的表示也不惟一反碼中零的表示也不惟一 X=-0000000 X原 =10000000 X反 =11111111 l反碼只是求補(bǔ)碼的中間碼反碼只是求補(bǔ)碼的中間碼 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論38 二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼

25、表示:補(bǔ)碼補(bǔ)碼 l模數(shù):模數(shù): n位整數(shù)(包括一位符號位),則它的模數(shù) 為 2n 。 n位小數(shù),小數(shù)點(diǎn)前一位為符號 位,則它的模數(shù)為 2。 l補(bǔ)數(shù):補(bǔ)數(shù): 一個數(shù)減去另一個數(shù),或者說一個數(shù)加上 一個負(fù)數(shù),等于第一個數(shù)加上第二個數(shù)的 補(bǔ)數(shù)。例:8+(-2)=8+10 ( mod 12 ) 一個二進(jìn)制負(fù)數(shù)可用其模數(shù)與真值做 加法 (模減去該數(shù)的絕對值) 求得其補(bǔ) 碼。 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論39 二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:補(bǔ)碼補(bǔ)碼 l計算機(jī)中的補(bǔ)碼表示法計算機(jī)中的補(bǔ)碼表示法 負(fù)數(shù)的補(bǔ)碼由該數(shù)反碼的末位加 1 求得 對補(bǔ)碼再求補(bǔ)即得到原碼 l補(bǔ)碼運(yùn)算

26、規(guī)則補(bǔ)碼運(yùn)算規(guī)則 符號位可作為數(shù)值參加運(yùn)算 減法運(yùn)算可轉(zhuǎn)換為加法運(yùn)算: 加上一個負(fù)數(shù)等于加上該數(shù)的補(bǔ)碼 補(bǔ)碼運(yùn)算的結(jié)果仍為補(bǔ)碼 運(yùn)算結(jié)果溢出: 負(fù)數(shù)之和得正數(shù),或正數(shù)之和得負(fù)數(shù) 信息的表示與存儲 C+語言程序設(shè)計 C語言程序設(shè)計第一章緒論40 小數(shù)的表示方法小數(shù)的表示方法 l計算機(jī)中通常采用浮點(diǎn)方式表示小數(shù)計算機(jī)中通常采用浮點(diǎn)方式表示小數(shù) 一個數(shù)一個數(shù) N N 用浮點(diǎn)形式表示可以寫成:用浮點(diǎn)形式表示可以寫成: N=MN=M2 2E E E表示2的冪,稱為數(shù)N的階碼。階碼確定 了數(shù)N的小數(shù)點(diǎn)的位置,其位數(shù)反映了該 浮點(diǎn)數(shù)所表示的數(shù)的范圍。 M表示數(shù)N的全部有效數(shù)字,稱為數(shù)N的尾 數(shù)。其位數(shù)反映了數(shù)據(jù)的精度。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論