C語(yǔ)言程序設(shè)計(jì)-第1章ppt課件_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)-第1章ppt課件_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)-第1章ppt課件_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)-第1章ppt課件_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)-第1章ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、12/13/2021編輯課件1C C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)The C Programming Language華中科技大學(xué)計(jì)算機(jī)學(xué)院華中科技大學(xué)計(jì)算機(jī)學(xué)院曹計(jì)昌曹計(jì)昌12/13/2021編輯課件2第第0 0章章 C C語(yǔ)言程序設(shè)計(jì)課程安排語(yǔ)言程序設(shè)計(jì)課程安排一一.教材教材(Textbook)曹計(jì)昌曹計(jì)昌,盧萍盧萍,李開李開. C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì). 科學(xué)出版社科學(xué)出版社,2008.2 李開李開,盧萍盧萍,曹計(jì)昌曹計(jì)昌. C語(yǔ)言實(shí)驗(yàn)與課程設(shè)計(jì)語(yǔ)言實(shí)驗(yàn)與課程設(shè)計(jì).科學(xué)出版科學(xué)出版社社,2011.3 二二. 參考書目參考書目(Reference Books)(1) Brian W. Kern

2、ighan,Dennis M. Ritchie. THE C PROGRAMMING LANGUAGE. 清華大學(xué)出版社清華大學(xué)出版社. PRENTICE HALL(注:該書已有中譯本)(注:該書已有中譯本)(2)曹化工)曹化工 秦友淑秦友淑. C語(yǔ)言程序設(shè)計(jì)典型題解析及自測(cè)試題語(yǔ)言程序設(shè)計(jì)典型題解析及自測(cè)試題. 西北工業(yè)大學(xué)出版社西北工業(yè)大學(xué)出版社(3)秦友淑)秦友淑 曹化工曹化工. C語(yǔ)言程序設(shè)計(jì)教程(第二版)語(yǔ)言程序設(shè)計(jì)教程(第二版). 華中科華中科技大學(xué)出版社技大學(xué)出版社,2002年年12月月12/13/2021編輯課件3三三.ISO.ISO的的C C語(yǔ)言標(biāo)準(zhǔn)和相關(guān)資料語(yǔ)言標(biāo)準(zhǔn)和相關(guān)資

3、料(ISO/IEC C (ISO/IEC C Standard and Other Materials)Standard and Other Materials)( (C C語(yǔ)言標(biāo)準(zhǔn),網(wǎng)站等資料語(yǔ)言標(biāo)準(zhǔn),網(wǎng)站等資料) )(1)最新標(biāo)準(zhǔn):)最新標(biāo)準(zhǔn):ISO/ IEC 9899: 1999 (E)ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)(2)C始于:始于:”The C Reference Manual” by Den

4、nis M. Ritchie, a version of which was published in The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, Prentice-Hall, Inc., (1978). Copyright owned by AT& T.(3)Dennis Ritchie Home Page “The Development of the C Language” ,by Dennis Ritchie ANSI C standard library Wikipedia;B

5、rian W_ Kernighan;n843,n897,n2794等等C語(yǔ)言方面的相關(guān)標(biāo)準(zhǔn)資料語(yǔ)言方面的相關(guān)標(biāo)準(zhǔn)資料,文檔文檔,網(wǎng)頁(yè)和網(wǎng)站網(wǎng)頁(yè)和網(wǎng)站12/13/2021編輯課件4三三. .本課程提供的其它資料本課程提供的其它資料(1) C語(yǔ)言程序設(shè)計(jì)課程課件語(yǔ)言程序設(shè)計(jì)課程課件ppt(2) C語(yǔ)言標(biāo)準(zhǔn),網(wǎng)站等資料語(yǔ)言標(biāo)準(zhǔn),網(wǎng)站等資料(前頁(yè)已經(jīng)介紹前頁(yè)已經(jīng)介紹)(3) C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)(中文版中文版)源程序源程序(4) C語(yǔ)言課程設(shè)計(jì)語(yǔ)言課程設(shè)計(jì)2010(09級(jí))級(jí))(5) 2010級(jí)級(jí)ACM班班C語(yǔ)言程序設(shè)計(jì)課程資料語(yǔ)言程序設(shè)計(jì)課程資料(6)漢字庫(kù)漢字庫(kù)-16乘乘16點(diǎn)陣點(diǎn)陣(7)

6、Turbo C 2.0 函數(shù)中文說(shuō)明大全函數(shù)中文說(shuō)明大全12/13/2021編輯課件520102010級(jí)級(jí)ACMACM班班C C語(yǔ)言程序設(shè)計(jì)課程資料語(yǔ)言程序設(shè)計(jì)課程資料(1) The C Programming Language-ppt(2) The C Programming Language,2nd text book(3) 3 The C Programming Language-source files(4) C程序設(shè)計(jì)語(yǔ)言英文版第程序設(shè)計(jì)語(yǔ)言英文版第2版課后習(xí)題與答案版課后習(xí)題與答案(5) C語(yǔ)言課程設(shè)計(jì)語(yǔ)言課程設(shè)計(jì)2011ACM班班(6) 教學(xué)日歷教學(xué)日歷-Syllabus of

7、The C Programming Language12/13/2021編輯課件6(4 4)關(guān)于)關(guān)于C C語(yǔ)言的圣經(jīng)語(yǔ)言的圣經(jīng)”一書的作者一書的作者n即:即:K&R C,即,即C創(chuàng)始人創(chuàng)始人 “The C Programming Language”,“C語(yǔ)語(yǔ)言的圣經(jīng)言的圣經(jīng)”一書的作者一書的作者nDennis M. Ritchie received Bachelors and advanced degrees from Harvard University, where as an undergraduate I concentrated in Physics and as a gr

8、aduate student in Applied Mathematics. The subject of my 1968 doctoral thesis was subrecursive hierarchies of functions.nBrian W. Kernighan is head of the Computing Structures Research Department, Bell Laboratories, Murray Hill, New Jersey. He received a B.A.Sc in engineering physics from the Univer

9、sity of Toronto in 1964, and a Ph.D. in electrical engineering from Princeton University in 1969. 12/13/2021編輯課件7學(xué)時(shí)安排學(xué)時(shí)安排, ,考核方式考核方式四四.學(xué)時(shí)安排學(xué)時(shí)安排(Arrangement of the houses)講課:講課:52+4學(xué)時(shí)學(xué)時(shí) 實(shí)驗(yàn)實(shí)驗(yàn) 24 hours五五.考核方式:考核方式:(Examination) 閉卷筆試閉卷筆試 評(píng)分:評(píng)分: 百分制百分制 其中其中:考試成績(jī)考試成績(jī):50% 平時(shí)成績(jī)平時(shí)成績(jī):50%(含實(shí)驗(yàn))(含實(shí)驗(yàn))(作業(yè)作業(yè),實(shí)驗(yàn)所占比例

10、要與其他老師商量實(shí)驗(yàn)所占比例要與其他老師商量) .注注: 有有5分內(nèi)容屬教材中未講內(nèi)容分內(nèi)容屬教材中未講內(nèi)容,目的是鼓勵(lì)自學(xué)目的是鼓勵(lì)自學(xué).12/13/2021編輯課件8六六. .學(xué)習(xí)方法學(xué)習(xí)方法 (Study methods)(Study methods)(1) (1) 課前要預(yù)習(xí),課堂要專心,課后要復(fù)習(xí)課前要預(yù)習(xí),課堂要專心,課后要復(fù)習(xí)(2) (2) 通過預(yù)習(xí)、聽課、復(fù)習(xí)、以及作業(yè)和實(shí)驗(yàn),確保消化課堂和教材的相通過預(yù)習(xí)、聽課、復(fù)習(xí)、以及作業(yè)和實(shí)驗(yàn),確保消化課堂和教材的相關(guān)內(nèi)容。關(guān)內(nèi)容。(3) (3) 要學(xué)會(huì)自己看書、理解,逐步減少對(duì)老師的依賴,培養(yǎng)良好的自學(xué)能要學(xué)會(huì)自己看書、理解,逐步減少

11、對(duì)老師的依賴,培養(yǎng)良好的自學(xué)能力。同時(shí),由于學(xué)時(shí)緊張,假期的沖擊,講課速度會(huì)逐步加快到一力。同時(shí),由于學(xué)時(shí)緊張,假期的沖擊,講課速度會(huì)逐步加快到一個(gè)合適的水平,以保證教學(xué)計(jì)劃的完成,因此課前課后一定研讀教個(gè)合適的水平,以保證教學(xué)計(jì)劃的完成,因此課前課后一定研讀教材。材。(4) (4) 認(rèn)真、獨(dú)立的完成作業(yè)。認(rèn)真、獨(dú)立的完成作業(yè)。(5) (5) 要重視實(shí)驗(yàn)。上機(jī)實(shí)驗(yàn)前要求預(yù)先編好有關(guān)程序,把上機(jī)的重點(diǎn)放到要重視實(shí)驗(yàn)。上機(jī)實(shí)驗(yàn)前要求預(yù)先編好有關(guān)程序,把上機(jī)的重點(diǎn)放到程序的編輯、修改、編譯、鏈接、跟蹤、調(diào)試程序方面來(lái)。放到觀程序的編輯、修改、編譯、鏈接、跟蹤、調(diào)試程序方面來(lái)。放到觀察程序運(yùn)行過程中的

12、中間結(jié)果和運(yùn)行完畢后的運(yùn)行結(jié)果方面來(lái)。最察程序運(yùn)行過程中的中間結(jié)果和運(yùn)行完畢后的運(yùn)行結(jié)果方面來(lái)。最終使自己的大腦變成一臺(tái)終使自己的大腦變成一臺(tái)“計(jì)算機(jī)計(jì)算機(jī)”,能夠在腦袋中運(yùn)行自己的程,能夠在腦袋中運(yùn)行自己的程序,判斷各種情況下程序的走向等等。序,判斷各種情況下程序的走向等等。 12/13/2021編輯課件9七定位問題七定位問題(Orientation)(Orientation)n培養(yǎng)的學(xué)生應(yīng)該是將來(lái)能夠與培養(yǎng)的學(xué)生應(yīng)該是將來(lái)能夠與MicroSoft的程序員,的程序員,軟件大師們一爭(zhēng)高下的人才,應(yīng)該是有朝一日能夠軟件大師們一爭(zhēng)高下的人才,應(yīng)該是有朝一日能夠根據(jù)實(shí)際應(yīng)用需求,發(fā)明創(chuàng)造新型計(jì)算機(jī)程

13、序設(shè)計(jì)根據(jù)實(shí)際應(yīng)用需求,發(fā)明創(chuàng)造新型計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的人才。因此要高標(biāo)準(zhǔn)、嚴(yán)要求。不僅要掌握語(yǔ)言的人才。因此要高標(biāo)準(zhǔn)、嚴(yán)要求。不僅要掌握C的語(yǔ)法、語(yǔ)義,學(xué)好用好的語(yǔ)法、語(yǔ)義,學(xué)好用好C;而且要了解各種語(yǔ);而且要了解各種語(yǔ)言成分產(chǎn)生、流傳、延續(xù)、發(fā)展的深層次原因和需言成分產(chǎn)生、流傳、延續(xù)、發(fā)展的深層次原因和需求背景。為學(xué)習(xí)后續(xù)課程,為將來(lái)能夠熟練的用求背景。為學(xué)習(xí)后續(xù)課程,為將來(lái)能夠熟練的用C寫系統(tǒng)軟件、底層軟件、共享軟件奠定堅(jiān)實(shí)的語(yǔ)言寫系統(tǒng)軟件、底層軟件、共享軟件奠定堅(jiān)實(shí)的語(yǔ)言基礎(chǔ)?;A(chǔ)。12/13/2021編輯課件10八八. .建議和意見建議和意見歡迎就教學(xué)方法,講課速度,教學(xué)歡迎就教學(xué)方

14、法,講課速度,教學(xué)內(nèi)容的深度和廣度提出好的建議和內(nèi)容的深度和廣度提出好的建議和意見,以便把本門課程的教學(xué)組織意見,以便把本門課程的教學(xué)組織實(shí)施好。實(shí)施好。 12/13/2021編輯課件11C語(yǔ)言程序設(shè)計(jì)-第1章 概論nC C語(yǔ)言是目前全球流傳最廣、使用最多的程序設(shè)計(jì)語(yǔ)言是目前全球流傳最廣、使用最多的程序設(shè)計(jì)語(yǔ)言。本章介紹內(nèi)容為語(yǔ)言。本章介紹內(nèi)容為: :n學(xué)習(xí)學(xué)習(xí)C C語(yǔ)言程序設(shè)計(jì)的第一個(gè)例子。語(yǔ)言程序設(shè)計(jì)的第一個(gè)例子。nC C語(yǔ)言的產(chǎn)生與發(fā)展,語(yǔ)言的產(chǎn)生與發(fā)展,C C語(yǔ)言的語(yǔ)言特征,語(yǔ)言的語(yǔ)言特征,C C語(yǔ)言的標(biāo)準(zhǔn)。語(yǔ)言的標(biāo)準(zhǔn)。n計(jì)算機(jī)硬件系統(tǒng)的組成,數(shù)的編碼表示以及數(shù)在內(nèi)存中的計(jì)算機(jī)硬件系統(tǒng)

15、的組成,數(shù)的編碼表示以及數(shù)在內(nèi)存中的表現(xiàn)形式。表現(xiàn)形式。n算法的概念及其表示方法。算法的概念及其表示方法。n對(duì)對(duì)C C語(yǔ)言程序設(shè)計(jì)作了概略性的介紹。語(yǔ)言程序設(shè)計(jì)作了概略性的介紹。1.1.同時(shí)介紹了同時(shí)介紹了N N進(jìn)制數(shù)進(jìn)制數(shù), ,數(shù)之間轉(zhuǎn)換的方法,以及原碼、補(bǔ)碼、數(shù)之間轉(zhuǎn)換的方法,以及原碼、補(bǔ)碼、反碼及其相關(guān)運(yùn)算。反碼及其相關(guān)運(yùn)算。12/13/2021編輯課件12C C語(yǔ)言的應(yīng)用領(lǐng)域語(yǔ)言的應(yīng)用領(lǐng)域1. 操作系統(tǒng)設(shè)計(jì)操作系統(tǒng)設(shè)計(jì)UNIX,LINUX,WINDOWS底層及驅(qū)動(dòng)等底層及驅(qū)動(dòng)等.2. 計(jì)算機(jī)網(wǎng)絡(luò)與通信系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)與通信系統(tǒng)TCP/IP協(xié)議棧協(xié)議棧,路由軟件路由軟件,交換機(jī)軟件等交換機(jī)

16、軟件等.3. 系統(tǒng)軟件系統(tǒng)軟件各種各種DBMS,如如Oracle,Sybase,MS SQL Server等等;各種編譯各種編譯器軟件器軟件.4. 嵌入式系統(tǒng)嵌入式系統(tǒng)(民用民用)汽車汽車(40多個(gè)微處理器系統(tǒng)多個(gè)微處理器系統(tǒng)),手機(jī)手機(jī),U盤驅(qū)動(dòng)盤驅(qū)動(dòng),MP3等等;嵌入式操嵌入式操作系統(tǒng)作系統(tǒng);智能卡系統(tǒng)等智能卡系統(tǒng)等.5. 國(guó)防國(guó)防,軍工軍工,航空航天航空航天,工業(yè)控制系統(tǒng)均以工業(yè)控制系統(tǒng)均以C作為軟件開發(fā)的主流作為軟件開發(fā)的主流語(yǔ)言語(yǔ)言.12/13/2021編輯課件131.1 學(xué)習(xí)學(xué)習(xí)C C語(yǔ)言程序設(shè)計(jì)的第一個(gè)例子語(yǔ)言程序設(shè)計(jì)的第一個(gè)例子 例例1.1 1.1 輸入自己的名字的漢語(yǔ)拼音,輸

17、入自己的名字的漢語(yǔ)拼音,要計(jì)算機(jī)問候自己并且輸出這是自要計(jì)算機(jī)問候自己并且輸出這是自己學(xué)習(xí)己學(xué)習(xí)C C語(yǔ)言的第一個(gè)程序的句子。語(yǔ)言的第一個(gè)程序的句子。12/13/2021編輯課件14例例1.11.1的程序的程序n#include stdio.hnvoid show(char str);nvoid main(void)nn char name20;n printf(Input your name please!n);n gets(name);n printf(Hello %s!n,name);n show(name);nnvoid show(char str)nn printf(This is

18、the first program for %s to learn C programming!n,str);n 12/13/2021編輯課件15操作例操作例1.11.1的程序的程序n進(jìn)入編輯進(jìn)入編輯按按F10F10功能鍵激活菜單功能鍵激活菜單用光標(biāo)左右移動(dòng)用光標(biāo)左右移動(dòng)鍵選鍵選File File 選選New New 然后回車進(jìn)入編輯狀態(tài)。然后回車進(jìn)入編輯狀態(tài)。n編輯編輯將上面的程序從鍵盤輸入到計(jì)算機(jī)中完成源將上面的程序從鍵盤輸入到計(jì)算機(jī)中完成源程序的編輯程序的編輯 F2 F2保存保存. .n編譯鏈接編譯鏈接: : 按按F10F10功能鍵激活菜單,功能鍵激活菜單, 選選Run Run 然然后回

19、車。此時(shí)源程序會(huì)被編譯形成后回車。此時(shí)源程序會(huì)被編譯形成.OBJ.OBJ文件、再通文件、再通過鏈接形成過鏈接形成.EXE.EXE文件,最后運(yùn)行該文件,最后運(yùn)行該.EXE.EXE文件。文件。n過程過程: .C: .C源文件源文件 .OBJ.OBJ文件文件 .EXE.EXE文件文件運(yùn)行得運(yùn)行得到結(jié)果到結(jié)果n觀看結(jié)果觀看結(jié)果: Alt-F5 : Alt-F5 12/13/2021編輯課件16例例1.11.1的程序的結(jié)果的程序的結(jié)果n人機(jī)交互與運(yùn)行結(jié)果如下:人機(jī)交互與運(yùn)行結(jié)果如下:Input your name please!Jichang Cao(此為輸入信息)(此為輸入信息)Hello Jicha

20、ng Cao!This is the first program for Jichang Cao to learn C programming! 12/13/2021編輯課件17n#include stdio.hnvoid show(char str);nvoid main(void)nn char name20;n printf(Input your name please!n);n gets(name);n printf(Hello %s!n,name);n show(name);nnvoid show(char str)nn printf(This is the first progra

21、m for %s to learn C programming!n,str);n 1.1.2 1.1.2 解釋分析第一個(gè)解釋分析第一個(gè)C C程序程序12/13/2021編輯課件181.2 C1.2 C語(yǔ)言的產(chǎn)生、發(fā)展與語(yǔ)言特征語(yǔ)言的產(chǎn)生、發(fā)展與語(yǔ)言特征1.2.1 C1.2.1 C語(yǔ)言的產(chǎn)生與發(fā)展語(yǔ)言的產(chǎn)生與發(fā)展 FORTRAN(1957年)年)ALGOL 60(1960年)年) 傳統(tǒng)傳統(tǒng)C或或K&R C(1978)CPL(1963年)年) ANSI C(1989,美國(guó)國(guó)家標(biāo)準(zhǔn)),美國(guó)國(guó)家標(biāo)準(zhǔn))BCPL(1967年)年) 標(biāo)準(zhǔn)標(biāo)準(zhǔn) C(ISO/IEC 9899:1990,俗稱,俗稱C90

22、)B(1969年年-1970年)年) 最新標(biāo)準(zhǔn)最新標(biāo)準(zhǔn) C(ISO/IEC 9899:1999俗稱俗稱C99)C(1971年年-1973年)年)圖圖1.1 C語(yǔ)言的繼承、產(chǎn)生與發(fā)展歷程語(yǔ)言的繼承、產(chǎn)生與發(fā)展歷程12/13/2021編輯課件191.2.3 C1.2.3 C語(yǔ)言的語(yǔ)言特征語(yǔ)言的語(yǔ)言特征n語(yǔ)言簡(jiǎn)潔緊湊語(yǔ)言簡(jiǎn)潔緊湊n目標(biāo)代碼質(zhì)量高目標(biāo)代碼質(zhì)量高n語(yǔ)言表達(dá)能力強(qiáng)語(yǔ)言表達(dá)能力強(qiáng) n流程控制結(jié)構(gòu)化流程控制結(jié)構(gòu)化 n弱類型弱類型 n“中級(jí)語(yǔ)言中級(jí)語(yǔ)言”特性特性 n書寫自由、使用靈活書寫自由、使用靈活 n可移植性好可移植性好 12/13/2021編輯課件201.3 1.3 計(jì)算機(jī)硬件系統(tǒng)計(jì)算機(jī)硬

23、件系統(tǒng) n一臺(tái)計(jì)算機(jī)硬件系統(tǒng)由一臺(tái)計(jì)算機(jī)硬件系統(tǒng)由CPU、內(nèi)存、外存、其他、內(nèi)存、外存、其他I/O設(shè)備和總線組成。設(shè)備和總線組成。見圖見圖1.2 計(jì)算機(jī)硬件系統(tǒng)組成的示意圖計(jì)算機(jī)硬件系統(tǒng)組成的示意圖nCPU 又稱為中央處理器又稱為中央處理器 。 CPU又是由運(yùn)算器、又是由運(yùn)算器、控制器、指令計(jì)數(shù)器、內(nèi)部寄存器、標(biāo)志寄存器控制器、指令計(jì)數(shù)器、內(nèi)部寄存器、標(biāo)志寄存器等部件組成。等部件組成。 n內(nèi)存又稱為內(nèi)存儲(chǔ)器,用以存放程序和數(shù)據(jù)。內(nèi)存又稱為內(nèi)存儲(chǔ)器,用以存放程序和數(shù)據(jù)。n總線是用以連接計(jì)算機(jī)各個(gè)部件的線路,它完成總線是用以連接計(jì)算機(jī)各個(gè)部件的線路,它完成各個(gè)部件之間的信息傳送。根據(jù)傳送信號(hào)種類的

24、各個(gè)部件之間的信息傳送。根據(jù)傳送信號(hào)種類的不同,總線又分成地址總線、數(shù)據(jù)總線和控制總不同,總線又分成地址總線、數(shù)據(jù)總線和控制總線。線。 12/13/2021編輯課件21內(nèi)存編址內(nèi)存編址, ,內(nèi)存容量?jī)?nèi)存容量, ,字長(zhǎng)字長(zhǎng)n內(nèi)存以字節(jié)為單位線性連續(xù)編址。即按照內(nèi)存以字節(jié)為單位線性連續(xù)編址。即按照0 x00000 x0000,0 x00010 x0001,0 x00020 x0002,的方式;從低地址端開始向的方式;從低地址端開始向高地址端為每一個(gè)內(nèi)存字節(jié)進(jìn)行順序連續(xù)編號(hào)。高地址端為每一個(gè)內(nèi)存字節(jié)進(jìn)行順序連續(xù)編號(hào)。n10241024個(gè)字節(jié)稱為個(gè)字節(jié)稱為1K1K字節(jié),字節(jié),1024K1024K字節(jié)稱

25、為字節(jié)稱為1M1M字節(jié),字節(jié),1024M1024M字節(jié)稱為字節(jié)稱為1G1G字節(jié)。字節(jié)。1024G1024G字節(jié)稱為字節(jié)稱為1T1T字節(jié)。字節(jié)。 nCPUCPU數(shù)據(jù)總線的寬度(數(shù)據(jù)總線的寬度(bitbit數(shù))稱為計(jì)算機(jī)的機(jī)器數(shù))稱為計(jì)算機(jī)的機(jī)器字長(zhǎng)。對(duì)位,機(jī)器字長(zhǎng)為字節(jié);對(duì)字長(zhǎng)。對(duì)位,機(jī)器字長(zhǎng)為字節(jié);對(duì)位,機(jī)器字長(zhǎng)為字節(jié);對(duì)位位,機(jī)器字長(zhǎng)為字節(jié);對(duì)位,機(jī)器字長(zhǎng)為字節(jié)。,機(jī)器字長(zhǎng)為字節(jié)。 12/13/2021編輯課件22外存和其他外存和其他I/OI/O設(shè)備設(shè)備 n外存指計(jì)算機(jī)的外存儲(chǔ)器。常用的硬盤、軟外存指計(jì)算機(jī)的外存儲(chǔ)器。常用的硬盤、軟盤、盤、U盤、光盤、以及磁盤陣列都屬于外存。盤、光盤、以及磁

26、盤陣列都屬于外存。外存存儲(chǔ)的信息在斷電之后仍然能夠保存,外存存儲(chǔ)的信息在斷電之后仍然能夠保存,這是外存的第一個(gè)特點(diǎn)。這是外存的第一個(gè)特點(diǎn)。 n其他其他I/O設(shè)備設(shè)備 :鍵盤鍵盤 ,顯示器顯示器 ,打印機(jī)打印機(jī) ,繪圖繪圖儀儀 12/13/2021編輯課件231.4 1.4 數(shù)和字符的機(jī)器碼表示數(shù)和字符的機(jī)器碼表示 n1.4.1 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制n數(shù)量用于描述事物的多少。數(shù)目則是表示事數(shù)量用于描述事物的多少。數(shù)目則是表示事物的個(gè)數(shù)。而表示數(shù)目的符號(hào)則是數(shù)字,往物的個(gè)數(shù)。而表示數(shù)目的符號(hào)則是數(shù)字,往往簡(jiǎn)稱為數(shù)。一個(gè)數(shù)在不同的進(jìn)位制下具有往簡(jiǎn)稱為數(shù)。一個(gè)數(shù)在不同的進(jìn)位制下具有不同的表示,因而形成

27、數(shù)制的概念。數(shù)制是不同的表示,因而形成數(shù)制的概念。數(shù)制是關(guān)于記數(shù)的法則。根據(jù)進(jìn)位基數(shù)的不同關(guān)于記數(shù)的法則。根據(jù)進(jìn)位基數(shù)的不同,常用常用的有十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制等。的有十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制等。12/13/2021編輯課件241. 1. 二進(jìn)制數(shù)及其運(yùn)算二進(jìn)制數(shù)及其運(yùn)算n1)二進(jìn)制數(shù))二進(jìn)制數(shù)n二進(jìn)制數(shù)是由二進(jìn)制數(shù)是由0和和1組成的數(shù)字串。對(duì)于一組成的數(shù)字串。對(duì)于一個(gè)二進(jìn)制數(shù)來(lái)講,它具有兩個(gè)下面基本特點(diǎn):個(gè)二進(jìn)制數(shù)來(lái)講,它具有兩個(gè)下面基本特點(diǎn):n(1) 只有只有0和和1兩個(gè)不同的數(shù)字符號(hào)。兩個(gè)不同的數(shù)字符號(hào)。n(2) 逢逢2進(jìn)位進(jìn)位1。12/13/2021編輯課件25二進(jìn)制

28、數(shù)的權(quán)值二進(jìn)制數(shù)的權(quán)值n對(duì)由進(jìn)位計(jì)數(shù)制描述的數(shù)來(lái)講,一個(gè)數(shù)字符號(hào)在該數(shù)的不同對(duì)由進(jìn)位計(jì)數(shù)制描述的數(shù)來(lái)講,一個(gè)數(shù)字符號(hào)在該數(shù)的不同的數(shù)位具有不同的權(quán)的數(shù)位具有不同的權(quán)(也稱為權(quán)值或基值也稱為權(quán)值或基值),因此所表現(xiàn)的值,因此所表現(xiàn)的值是不一樣的。二進(jìn)制數(shù)也是如此。二進(jìn)制數(shù)中不同的數(shù)位所是不一樣的。二進(jìn)制數(shù)也是如此。二進(jìn)制數(shù)中不同的數(shù)位所具有的權(quán)值見教材圖具有的權(quán)值見教材圖1.3. n二進(jìn)制數(shù)整數(shù)二進(jìn)制數(shù)整數(shù)(10110110)2的值是:的值是:(10110111)2=1 27+0 26+1 25+1 24+0 23+1 22+1 21+1 20=(183)10n而帶二進(jìn)制小數(shù)的二進(jìn)制數(shù)而帶二進(jìn)制

29、小數(shù)的二進(jìn)制數(shù)(1011.1101)2的值是:的值是:(1011.1101)2=1 23+0 22+1 21+1 20+1 2-1+1 2-2+0 2-3+1 2-4=(11.8125)1012/13/2021編輯課件262 2)二進(jìn)制數(shù)的運(yùn)算)二進(jìn)制數(shù)的運(yùn)算 n二進(jìn)制加法規(guī)則有四條:二進(jìn)制加法規(guī)則有四條:n 0+0=0 0+1=1+0=1 n 1+1=0 向高位進(jìn)位向高位進(jìn)位1 n 1+1+1=1 向高位進(jìn)位向高位進(jìn)位1n二進(jìn)制減法規(guī)則也有四條:二進(jìn)制減法規(guī)則也有四條:n 0-0=0 1-1=0 n 1-0=1 0-1=1 向高位借位向高位借位1 12/13/2021編輯課件27二進(jìn)制加法舉

30、例二進(jìn)制加法舉例n例例1.2 二進(jìn)制加法舉例,求二進(jìn)制加法舉例,求(10110111)2+(01011011)2的和。的和。1 0 1 1 0 1 1 1+ 0 1 0 1 1 0 1 1進(jìn)位進(jìn)位 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0n所以,所以,(10110111)2+(01011011)2=(100010010)212/13/2021編輯課件28二進(jìn)制減法舉例二進(jìn)制減法舉例n例例1.3 二進(jìn)制減法舉例,求二進(jìn)制減法舉例,求(10110111)2-(01011011)2的差。的差。借位借位 1 0 1 1 0 0 01 0 1 1 0 1 1 1- 0 1 0 1

31、1 0 1 1n 0 1 0 1 1 1 0 0n所以,所以,(10110111)2-(01011011)2=(01011100)212/13/2021編輯課件292. 2. 八進(jìn)制數(shù)及其運(yùn)算八進(jìn)制數(shù)及其運(yùn)算n八進(jìn)制數(shù)是由八進(jìn)制數(shù)是由0到到7組成的數(shù)字串。八進(jìn)制組成的數(shù)字串。八進(jìn)制數(shù)具有如下兩個(gè)基本特點(diǎn):數(shù)具有如下兩個(gè)基本特點(diǎn):n(1) 只有只有0,1,2,3,4,5,6,7八個(gè)不八個(gè)不同的數(shù)字符號(hào)。同的數(shù)字符號(hào)。n(2) 逢逢8進(jìn)位進(jìn)位1。n在在C語(yǔ)言中,通過加前導(dǎo)零的方式來(lái)表示一語(yǔ)言中,通過加前導(dǎo)零的方式來(lái)表示一個(gè)數(shù)是八進(jìn)制數(shù)。如:個(gè)數(shù)是八進(jìn)制數(shù)。如:0136表示的是八進(jìn)表示的是八進(jìn)制數(shù)制

32、數(shù)(136)8。 12/13/2021編輯課件303 3十六進(jìn)制數(shù)及其運(yùn)算十六進(jìn)制數(shù)及其運(yùn)算n將將4 4位二進(jìn)制數(shù)組合成為十六進(jìn)制數(shù)。與二進(jìn)制、位二進(jìn)制數(shù)組合成為十六進(jìn)制數(shù)。與二進(jìn)制、八進(jìn)制數(shù)類似,十六進(jìn)制數(shù)也有兩個(gè)基本特點(diǎn):八進(jìn)制數(shù)類似,十六進(jìn)制數(shù)也有兩個(gè)基本特點(diǎn):n(1 1)只有)只有0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9,A A,B B,C C,D D,E E,F(xiàn) F十六個(gè)不同的數(shù)字符號(hào)(十六個(gè)不同的數(shù)字符號(hào)(A A F F也可以采也可以采用小寫英文字母用小寫英文字母a a f f)。這十六個(gè)數(shù)字符號(hào)與二進(jìn))。這十六個(gè)數(shù)字符號(hào)與二進(jìn)制、八進(jìn)制、十進(jìn)

33、制數(shù)之間的關(guān)系如表制、八進(jìn)制、十進(jìn)制數(shù)之間的關(guān)系如表1.21.2所示。所示。n(2 2)逢)逢1616進(jìn)位進(jìn)位1 1。n在在C C語(yǔ)言中,通過加前導(dǎo)語(yǔ)言中,通過加前導(dǎo)0 x0 x或前導(dǎo)或前導(dǎo)0X0X的方式來(lái)表示的方式來(lái)表示一個(gè)數(shù)是十六進(jìn)制數(shù)。如:一個(gè)數(shù)是十六進(jìn)制數(shù)。如:0 x2d5b0 x2d5b表示的是十六進(jìn)表示的是十六進(jìn)制數(shù)制數(shù)(2d5b)(2d5b)1616。0XABCD0XABCD也是合法的十六進(jìn)制數(shù)。也是合法的十六進(jìn)制數(shù)。 12/13/2021編輯課件31表表1.21.2十六進(jìn)制的十六進(jìn)制的1616個(gè)不同數(shù)字符號(hào)與十個(gè)不同數(shù)字符號(hào)與十進(jìn)制、八進(jìn)制、二進(jìn)制數(shù)之間的關(guān)系進(jìn)制、八進(jìn)制、二進(jìn)

34、制數(shù)之間的關(guān)系 12/13/2021編輯課件32十六進(jìn)制加減法運(yùn)算舉例十六進(jìn)制加減法運(yùn)算舉例n例例1.5 十六進(jìn)制加減法運(yùn)算舉例,求十六進(jìn)制加減法運(yùn)算舉例,求0XABCD與與(2d5b)16的和,以及的和,以及0XABCD與與(2d5b)16的差。的差。n解解 0XABCD+(2d5b)16=0XD928 0XABCD-(2d5b)16=0 x7E7212/13/2021編輯課件331.4.2 1.4.2 進(jìn)位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換n1. 十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)12/13/2021編輯課件34進(jìn)位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換2. 2. 二進(jìn)制整數(shù)轉(zhuǎn)換

35、為十進(jìn)制整數(shù)二進(jìn)制整數(shù)轉(zhuǎn)換為十進(jìn)制整數(shù)n用按權(quán)展開的方式即可求得該數(shù)的十進(jìn)制表示。用按權(quán)展開的方式即可求得該數(shù)的十進(jìn)制表示。n例例1.7 1.7 二進(jìn)制數(shù)二進(jìn)制數(shù)(10111101)(10111101)2 2轉(zhuǎn)換為十進(jìn)制數(shù)。轉(zhuǎn)換為十進(jìn)制數(shù)。解解 (10111101)(10111101)2 2 =1=1 2 27 7+0+0 2 26 6+1+1 2 25 5+1+1 2 24 4+1+1 2 23 3+1+1 2 22 2+0+0 2 21 1+1+1 2 20 0=128+32+16+8+4+1=(189)=128+32+16+8+4+1=(189)101012/13/2021編輯課件35進(jìn)

36、位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換3. 二進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)二進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)n二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)可以采用二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)可以采用3位分組法。從位分組法。從整數(shù)部分的最低位起,每整數(shù)部分的最低位起,每3位分成位分成1組,高位部分不組,高位部分不足足3位則通過加前導(dǎo)位則通過加前導(dǎo)0的方式補(bǔ)足的方式補(bǔ)足3位,然后把每位,然后把每3位二進(jìn)制數(shù)用對(duì)應(yīng)的八進(jìn)制數(shù)來(lái)表示即可。位二進(jìn)制數(shù)用對(duì)應(yīng)的八進(jìn)制數(shù)來(lái)表示即可。n例例1.8 將二進(jìn)制整數(shù)將二進(jìn)制整數(shù)(10111101)2轉(zhuǎn)換為八進(jìn)制轉(zhuǎn)換為八進(jìn)制整數(shù)。整數(shù)。解解 (10111101)2=(010 111 101)2= (275)81

37、2/13/2021編輯課件36進(jìn)位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換4. 八進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)八進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)n八進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)只需要將每一八進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)只需要將每一位八進(jìn)制數(shù)用對(duì)應(yīng)的二進(jìn)制數(shù)表示即可。位八進(jìn)制數(shù)用對(duì)應(yīng)的二進(jìn)制數(shù)表示即可。n例例1.9 將八進(jìn)制數(shù)將八進(jìn)制數(shù)(377377)8轉(zhuǎn)換為二進(jìn)轉(zhuǎn)換為二進(jìn)制數(shù)。制數(shù)。解解 (177777)8=(001 111 111 111 111 111)2=(1111111111111111)212/13/2021編輯課件37進(jìn)位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換5. 5. 二進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制整數(shù)二進(jìn)制整數(shù)轉(zhuǎn)換為

38、十六進(jìn)制整數(shù)n將二進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制整數(shù)采用將二進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制整數(shù)采用4 4位分組位分組法。法。4 4位二進(jìn)制數(shù)的不同取值可以一一對(duì)應(yīng)的完位二進(jìn)制數(shù)的不同取值可以一一對(duì)應(yīng)的完整描述十六進(jìn)制中的整描述十六進(jìn)制中的0 0 9 9和和A A F F。n方法方法: : 從整數(shù)部分的最低位起,每從整數(shù)部分的最低位起,每4 4位分成位分成1 1組,組,高位部分不足高位部分不足4 4位則通過加前導(dǎo)位則通過加前導(dǎo)0 0的方式補(bǔ)足的方式補(bǔ)足4 4位,位,然后把每然后把每4 4位二進(jìn)制數(shù)用對(duì)應(yīng)的十六進(jìn)制數(shù)來(lái)表位二進(jìn)制數(shù)用對(duì)應(yīng)的十六進(jìn)制數(shù)來(lái)表示。示。n例例1.10 1.10 將二進(jìn)制數(shù)將二進(jìn)制數(shù)(101

39、11101)(10111101)2 2轉(zhuǎn)換為十六進(jìn)轉(zhuǎn)換為十六進(jìn)制數(shù)。制數(shù)。解解 (10111101)(10111101)2 2=(1011 1101)=(1011 1101)2 2=(BD)=(BD)161612/13/2021編輯課件38進(jìn)位制數(shù)之間的轉(zhuǎn)換進(jìn)位制數(shù)之間的轉(zhuǎn)換6. 6. 十六進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)十六進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)n十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)只需要將每一位十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)只需要將每一位十六進(jìn)制數(shù)用對(duì)應(yīng)的十六進(jìn)制數(shù)用對(duì)應(yīng)的4位二進(jìn)制數(shù)表示即可。位二進(jìn)制數(shù)表示即可。n例例1.11 將十六進(jìn)制數(shù)將十六進(jìn)制數(shù)(ABCD)2轉(zhuǎn)換為二進(jìn)轉(zhuǎn)換為二進(jìn)制數(shù)。制數(shù)。解解 (ABC

40、D)2=(1010 1011 1100 1101)2=(1010101111001101)212/13/2021編輯課件391.4.3 1.4.3 數(shù)的機(jī)器碼表示數(shù)的機(jī)器碼表示1. 機(jī)器數(shù)與真值機(jī)器數(shù)與真值n機(jī)器數(shù)機(jī)器數(shù): 在計(jì)算機(jī)中,將一個(gè)數(shù)的最高位在計(jì)算機(jī)中,將一個(gè)數(shù)的最高位定義為符號(hào)位,其余各位為數(shù)值位。并且定義為符號(hào)位,其余各位為數(shù)值位。并且規(guī)定符號(hào)位之值為規(guī)定符號(hào)位之值為0表示正,符號(hào)位之值表示正,符號(hào)位之值為為1表示負(fù)。用這種方法表示的數(shù)稱為機(jī)表示負(fù)。用這種方法表示的數(shù)稱為機(jī)器數(shù)。器數(shù)。n真值真值: 機(jī)器數(shù)的數(shù)值稱為該機(jī)器數(shù)的真值。機(jī)器數(shù)的數(shù)值稱為該機(jī)器數(shù)的真值。也就是正、負(fù)號(hào)后跟

41、二進(jìn)制數(shù)的絕對(duì)值就也就是正、負(fù)號(hào)后跟二進(jìn)制數(shù)的絕對(duì)值就構(gòu)成真值。構(gòu)成真值。 12/13/2021編輯課件402. 2. 原碼原碼定義定義: 對(duì)于一個(gè)二進(jìn)制數(shù)對(duì)于一個(gè)二進(jìn)制數(shù)X,如果規(guī)定用最,如果規(guī)定用最高位為符號(hào)位,其余各位為該數(shù)的絕對(duì)值。高位為符號(hào)位,其余各位為該數(shù)的絕對(duì)值。并且規(guī)定符號(hào)位之值為并且規(guī)定符號(hào)位之值為0表示正,符號(hào)位之表示正,符號(hào)位之值為值為1表示負(fù),則采用這種方式形成的二進(jìn)表示負(fù),則采用這種方式形成的二進(jìn)制編碼稱為稱為該二進(jìn)制數(shù)制編碼稱為稱為該二進(jìn)制數(shù)X的原碼。的原碼。12/13/2021編輯課件41求十進(jìn)制數(shù)的原碼表示求十進(jìn)制數(shù)的原碼表示n例例1.12 求十進(jìn)制數(shù)求十進(jìn)制數(shù)

42、125和和-125的的8位、位、16位原位原碼表示。碼表示。解解 先求十進(jìn)制數(shù)先求十進(jìn)制數(shù)125和和-125的二進(jìn)制表示:的二進(jìn)制表示:(125)10=0X7D=(+1111101)2, 而而 (-125)10=-0X7D=(-1111101)2;根據(jù)定義:根據(jù)定義:+1111101原原=01111101 (8位)位)+1111101原原=0000000001111101(16位)位)而而: -1111101原原=11111101 (8位)位)-1111101原原=1000000001111101 (16位)位)12/13/2021編輯課件42真值真值0 0的原碼表示不惟一的原碼表示不惟一n值

43、得注意的是,根據(jù)定義,真值值得注意的是,根據(jù)定義,真值0的原碼表的原碼表示不惟一,有示不惟一,有+0和和-0之分。之分。 n+0原原=00000000 (8位)位)n-0原原=10000000 (8位)位)12/13/2021編輯課件433. 3. 補(bǔ)碼補(bǔ)碼n補(bǔ)碼的定義是正數(shù)的補(bǔ)碼等于正數(shù)的原碼,負(fù)數(shù)的補(bǔ)碼為補(bǔ)碼的定義是正數(shù)的補(bǔ)碼等于正數(shù)的原碼,負(fù)數(shù)的補(bǔ)碼為其原碼除符號(hào)位不動(dòng),其余各位變反再加其原碼除符號(hào)位不動(dòng),其余各位變反再加1所得。所得。n例例1.13 分別求十進(jìn)制數(shù)分別求十進(jìn)制數(shù)35和和-1在在8位機(jī)和位機(jī)和16位機(jī)中的補(bǔ)位機(jī)中的補(bǔ)碼表示。碼表示。解解 設(shè)設(shè)x1=35,x2=-1;在在8

44、位機(jī)中,位機(jī)中,x10,x1 補(bǔ)補(bǔ)=x1 原原 =00100011;x20,x2原原 =10000001, x2 補(bǔ)補(bǔ) =11111110+1=11111111;n在例在例1.13中,如果令中,如果令x1和和x2都為零,則容易算出它們的補(bǔ)都為零,則容易算出它們的補(bǔ)碼都是零。也就是說(shuō),對(duì)于真值碼都是零。也就是說(shuō),對(duì)于真值0,其補(bǔ)碼是惟一的。即:,其補(bǔ)碼是惟一的。即:+0補(bǔ)補(bǔ)=-0補(bǔ)補(bǔ)=000000最右邊式子中最右邊式子中0的個(gè)數(shù)等于機(jī)器的字長(zhǎng)數(shù)。的個(gè)數(shù)等于機(jī)器的字長(zhǎng)數(shù)。 12/13/2021編輯課件444. 4. 反碼反碼n在計(jì)算機(jī)中,有時(shí)還會(huì)用到數(shù)的反碼。對(duì)正數(shù)而在計(jì)算機(jī)中,有時(shí)還會(huì)用到數(shù)的反

45、碼。對(duì)正數(shù)而言,其反碼與原碼、補(bǔ)碼的表示相同;對(duì)負(fù)數(shù)而言,其反碼與原碼、補(bǔ)碼的表示相同;對(duì)負(fù)數(shù)而言,反碼符號(hào)位的定義與原碼、補(bǔ)碼相同,但需言,反碼符號(hào)位的定義與原碼、補(bǔ)碼相同,但需要將對(duì)應(yīng)原碼的數(shù)值位按位變反。要將對(duì)應(yīng)原碼的數(shù)值位按位變反。n例例1.15 分別求十進(jìn)制數(shù)分別求十進(jìn)制數(shù)6和和-1在在8位機(jī)中的反碼位機(jī)中的反碼表示。表示。解解 6反反=00000110;-1反反=對(duì)對(duì)10000001的的數(shù)值位按位變反數(shù)值位按位變反=1111111012/13/2021編輯課件455 5碼的內(nèi)存存儲(chǔ)形式碼的內(nèi)存存儲(chǔ)形式n碼是指計(jì)算機(jī)內(nèi)存中存儲(chǔ)的數(shù)據(jù)。根據(jù)存儲(chǔ)數(shù)據(jù)的性質(zhì),碼是指計(jì)算機(jī)內(nèi)存中存儲(chǔ)的數(shù)據(jù)。

46、根據(jù)存儲(chǔ)數(shù)據(jù)的性質(zhì),碼可以分為數(shù)值碼、字符碼和圖象碼。碼可以分為數(shù)值碼、字符碼和圖象碼。n數(shù)值碼用于表示數(shù)的大小,常見的有整數(shù)和浮點(diǎn)數(shù)。數(shù)值碼用于表示數(shù)的大小,常見的有整數(shù)和浮點(diǎn)數(shù)。n字符碼用于表示英文字母、標(biāo)點(diǎn)符號(hào)、控制字符以及漢字字符碼用于表示英文字母、標(biāo)點(diǎn)符號(hào)、控制字符以及漢字和其它文字的編碼。和其它文字的編碼。n圖象碼是用于表示圖象中象素的顏色或灰度。雖然它們都圖象碼是用于表示圖象中象素的顏色或灰度。雖然它們都是以二進(jìn)制碼的表現(xiàn)形式存儲(chǔ)在內(nèi)存之中,但物理意義卻是以二進(jìn)制碼的表現(xiàn)形式存儲(chǔ)在內(nèi)存之中,但物理意義卻各不相同。各不相同。nC語(yǔ)言的基本處理對(duì)象是字符和數(shù)字。在語(yǔ)言的基本處理對(duì)象是

47、字符和數(shù)字。在16位計(jì)算機(jī)中,位計(jì)算機(jī)中,整型數(shù)占整型數(shù)占2個(gè)字節(jié),在個(gè)字節(jié),在32位計(jì)算機(jī)中,整型數(shù)占位計(jì)算機(jī)中,整型數(shù)占4個(gè)字節(jié)。個(gè)字節(jié)。 12/13/2021編輯課件461.4.4 1.4.4 字符的編碼表示字符的編碼表示n1字符的編碼的概念字符的編碼的概念n計(jì)算機(jī)在屏幕上能夠輸出英文、漢字,乃至各種各計(jì)算機(jī)在屏幕上能夠輸出英文、漢字,乃至各種各樣的民族文字,其基礎(chǔ)在于對(duì)字符進(jìn)行編碼以及構(gòu)樣的民族文字,其基礎(chǔ)在于對(duì)字符進(jìn)行編碼以及構(gòu)造相應(yīng)的點(diǎn)陣字模。造相應(yīng)的點(diǎn)陣字模。n用戶的字符輸入通過編碼在內(nèi)存中以二進(jìn)制數(shù)碼存用戶的字符輸入通過編碼在內(nèi)存中以二進(jìn)制數(shù)碼存儲(chǔ),機(jī)器內(nèi)部對(duì)字符的處理實(shí)際上是

48、對(duì)字符編碼的儲(chǔ),機(jī)器內(nèi)部對(duì)字符的處理實(shí)際上是對(duì)字符編碼的處理。處理。n輸出的時(shí)候則是通過字符的編碼去索引對(duì)應(yīng)的點(diǎn)陣輸出的時(shí)候則是通過字符的編碼去索引對(duì)應(yīng)的點(diǎn)陣字模到內(nèi)存中,然后進(jìn)一步通過內(nèi)存中的點(diǎn)陣字模字模到內(nèi)存中,然后進(jìn)一步通過內(nèi)存中的點(diǎn)陣字模去控制顯象管,在屏幕的指定位置將字符顯示出來(lái)。去控制顯象管,在屏幕的指定位置將字符顯示出來(lái)。12/13/2021編輯課件471.4.4 1.4.4 字符的編碼表示字符的編碼表示n解釋教材解釋教材:圖圖1.3 英文字符英文字符O和漢字字符中的點(diǎn)和漢字字符中的點(diǎn)陣字模示意圖陣字模示意圖n更正更正:大寫字母大寫字母O的二進(jìn)制編碼依次是:的二進(jìn)制編碼依次是:0

49、 x18,0 x24,0 x42, 0 x42, 0 x42, 0 x42, 0 x24, 0 x18。n中國(guó)的中國(guó)的“中中”字的二進(jìn)制編碼按照從上到下,從字的二進(jìn)制編碼按照從上到下,從左到右順序依次進(jìn)行二進(jìn)制編碼,共需要左到右順序依次進(jìn)行二進(jìn)制編碼,共需要32個(gè)字個(gè)字節(jié)。節(jié)。n更正更正:“中中”字前字前8個(gè)字節(jié)的二進(jìn)制編碼是:個(gè)字節(jié)的二進(jìn)制編碼是:0 x01,0 x80,0 x01,0 x80, 0 xff,0 xff,0 xc1,0 x83 12/13/2021編輯課件482 2ASCIIASCII碼碼n對(duì)于西文字符,其編碼國(guó)際上采用的是對(duì)于西文字符,其編碼國(guó)際上采用的是ASCII碼碼(A

50、merican Standard Code For Information Interchange),是美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)字符碼的英文縮是美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)字符碼的英文縮寫。寫。nASCII碼采用單字節(jié)編碼,并且規(guī)定字節(jié)的最高位留做校驗(yàn)碼采用單字節(jié)編碼,并且規(guī)定字節(jié)的最高位留做校驗(yàn)位,只有低位,只有低7位參與編碼。位參與編碼。nASCII碼字符集中共有碼字符集中共有128個(gè)字符的編碼。其中個(gè)字符的編碼。其中0 x00到到ox1f前前32個(gè)碼和個(gè)碼和0 x7f最后一個(gè)碼作為控制碼,如控制回車、最后一個(gè)碼作為控制碼,如控制回車、換行、振鈴、空等等;從換行、振鈴、空等等;從0 x20到到0 x7

51、e共共95個(gè)編碼,它們用個(gè)編碼,它們用來(lái)對(duì)數(shù)字字符來(lái)對(duì)數(shù)字字符0 9,大小寫英文字母,大小寫英文字母a z和和A Z,以及標(biāo)點(diǎn),以及標(biāo)點(diǎn)符號(hào)。符號(hào)。n計(jì)算機(jī)的終端(鍵盤、顯示器)只能輸入和顯示這計(jì)算機(jī)的終端(鍵盤、顯示器)只能輸入和顯示這95個(gè)編碼個(gè)編碼對(duì)應(yīng)的字符。同時(shí),打印機(jī)也只能打印輸出這對(duì)應(yīng)的字符。同時(shí),打印機(jī)也只能打印輸出這95個(gè)編碼對(duì)應(yīng)個(gè)編碼對(duì)應(yīng)的字符。完整的的字符。完整的ASCII碼字符集請(qǐng)參閱附錄碼字符集請(qǐng)參閱附錄1。 12/13/2021編輯課件493 3漢字編碼漢字編碼 n根據(jù)標(biāo)準(zhǔn)規(guī)定和計(jì)算機(jī)的輸入、存儲(chǔ)和顯示過程,根據(jù)標(biāo)準(zhǔn)規(guī)定和計(jì)算機(jī)的輸入、存儲(chǔ)和顯示過程,漢字編碼有許多方

52、式。常用的有國(guó)標(biāo)碼、區(qū)位碼、漢字編碼有許多方式。常用的有國(guó)標(biāo)碼、區(qū)位碼、拼音碼、五筆字型碼和漢字的機(jī)內(nèi)碼。拼音碼、五筆字型碼和漢字的機(jī)內(nèi)碼。n拼音碼和五筆字型碼用于漢字的輸入。國(guó)標(biāo)碼是拼音碼和五筆字型碼用于漢字的輸入。國(guó)標(biāo)碼是我國(guó)于我國(guó)于1981年頒布的年頒布的通用漢字字符集通用漢字字符集(基本集基本集)及其交換碼標(biāo)準(zhǔn)及其交換碼標(biāo)準(zhǔn)規(guī)定的漢字字符編碼方案,標(biāo)規(guī)定的漢字字符編碼方案,標(biāo)準(zhǔn)編號(hào)是準(zhǔn)編號(hào)是GB2312 80總共收集了總共收集了7445個(gè)漢字、個(gè)漢字、字母、數(shù)字和符號(hào)。由于漢字屬大字符集,單個(gè)字母、數(shù)字和符號(hào)。由于漢字屬大字符集,單個(gè)字節(jié)不足以描述全部字符,因此漢字采用兩字節(jié)字節(jié)不足以

53、描述全部字符,因此漢字采用兩字節(jié)編碼方案。編碼方案。 12/13/2021編輯課件50漢字區(qū)位碼和機(jī)內(nèi)碼漢字區(qū)位碼和機(jī)內(nèi)碼n區(qū)位碼是將區(qū)位碼是將GB2312 80中的字符按其位置劃分為中的字符按其位置劃分為94個(gè)區(qū),個(gè)區(qū),每區(qū)每區(qū)94個(gè)字符的漢字編碼方案。區(qū)位碼是國(guó)標(biāo)碼的一種變個(gè)字符的漢字編碼方案。區(qū)位碼是國(guó)標(biāo)碼的一種變形碼,兩者之間的轉(zhuǎn)換可由下面的式子描述:形碼,兩者之間的轉(zhuǎn)換可由下面的式子描述:國(guó)標(biāo)碼(十六進(jìn)制)國(guó)標(biāo)碼(十六進(jìn)制)=區(qū)位碼(十六進(jìn)制)區(qū)位碼(十六進(jìn)制)+0 x2020n機(jī)內(nèi)碼是計(jì)算機(jī)存儲(chǔ)和處理漢字時(shí)采用的漢字編碼。為了機(jī)內(nèi)碼是計(jì)算機(jī)存儲(chǔ)和處理漢字時(shí)采用的漢字編碼。為了與基本

54、與基本ASCII相互區(qū)分,機(jī)內(nèi)碼一般采用將國(guó)標(biāo)碼兩個(gè)字相互區(qū)分,機(jī)內(nèi)碼一般采用將國(guó)標(biāo)碼兩個(gè)字節(jié)的每個(gè)字節(jié)的最高位置節(jié)的每個(gè)字節(jié)的最高位置“1”的方式形成。機(jī)內(nèi)碼與國(guó)標(biāo)的方式形成。機(jī)內(nèi)碼與國(guó)標(biāo)碼之間的轉(zhuǎn)換關(guān)系是:碼之間的轉(zhuǎn)換關(guān)系是:機(jī)內(nèi)碼(十六進(jìn)制)機(jī)內(nèi)碼(十六進(jìn)制)=國(guó)標(biāo)碼(十六進(jìn)制)國(guó)標(biāo)碼(十六進(jìn)制)+0 x8080n例如例如,中國(guó)的中國(guó)的“中中”字的機(jī)內(nèi)碼是字的機(jī)內(nèi)碼是0 xd0d6。因此它的國(guó)標(biāo)。因此它的國(guó)標(biāo)碼是碼是0 x5056,而它的區(qū)位碼是,而它的區(qū)位碼是0 x3036。 12/13/2021編輯課件511.5 1.5 算法及其表示算法及其表示n1.5.1 算法的定義算法的定義算法

55、是指為解決某個(gè)問題所采取的方法和步驟,并算法是指為解決某個(gè)問題所采取的方法和步驟,并且要具備下列性質(zhì)。且要具備下列性質(zhì)。(1) 有零個(gè)或多個(gè)執(zhí)行算法所需要的數(shù)據(jù)作為輸入。有零個(gè)或多個(gè)執(zhí)行算法所需要的數(shù)據(jù)作為輸入。(2) 有一個(gè)或多個(gè)經(jīng)算法處理的數(shù)據(jù)作為輸出。這種有一個(gè)或多個(gè)經(jīng)算法處理的數(shù)據(jù)作為輸出。這種數(shù)據(jù)也稱為算法的執(zhí)行結(jié)果。數(shù)據(jù)也稱為算法的執(zhí)行結(jié)果。(3) 應(yīng)只包含有限個(gè)步驟,且執(zhí)行算法所需的時(shí)間也應(yīng)只包含有限個(gè)步驟,且執(zhí)行算法所需的時(shí)間也是有限時(shí)間。算法的這種性質(zhì)稱為算法的有限性或是有限時(shí)間。算法的這種性質(zhì)稱為算法的有限性或有窮性。有窮性。(4) 算法每一步所規(guī)定的動(dòng)作應(yīng)該是唯一確定的,

56、沒算法每一步所規(guī)定的動(dòng)作應(yīng)該是唯一確定的,沒有二義的。算法的這種性質(zhì)稱為算法的確定性。有二義的。算法的這種性質(zhì)稱為算法的確定性。 12/13/2021編輯課件521.5.2 1.5.2 算法的表示算法的表示n選用一種合適的工具或方法來(lái)表達(dá)算法設(shè)計(jì)者的算法思想選用一種合適的工具或方法來(lái)表達(dá)算法設(shè)計(jì)者的算法思想稱為算法的表示或算法的描述。稱為算法的表示或算法的描述。n算法的表示方式多種多樣,如自然語(yǔ)言方式,流程圖方式、算法的表示方式多種多樣,如自然語(yǔ)言方式,流程圖方式、表格方式、偽碼方式表格方式、偽碼方式,等等。等等。n自然語(yǔ)言方式顯然非常容易理解,但是在將算法轉(zhuǎn)換為具自然語(yǔ)言方式顯然非常容易理解

57、,但是在將算法轉(zhuǎn)換為具體程序方面不夠直觀,它最適合表達(dá)算法的設(shè)計(jì)思想。體程序方面不夠直觀,它最適合表達(dá)算法的設(shè)計(jì)思想。n流程圖方式則非常具體,易于將它描述的算法編寫成具體流程圖方式則非常具體,易于將它描述的算法編寫成具體的程序,但是在程序規(guī)模變大的情況下,用流程圖來(lái)完整的程序,但是在程序規(guī)模變大的情況下,用流程圖來(lái)完整描述算法不僅多余,而且不太可能。因此,流程圖方式尤描述算法不僅多余,而且不太可能。因此,流程圖方式尤其適合初學(xué)者。本書重點(diǎn)介紹流程圖方法。其適合初學(xué)者。本書重點(diǎn)介紹流程圖方法。 12/13/2021編輯課件531. 1. 流程圖的圖符流程圖的圖符n流程圖又稱為框圖。它是用它的圖符

58、來(lái)表流程圖又稱為框圖。它是用它的圖符來(lái)表示算法的每一步驟以及這些步驟之間的相示算法的每一步驟以及這些步驟之間的相互聯(lián)系。學(xué)習(xí)用流程圖來(lái)表達(dá)自己的算法互聯(lián)系。學(xué)習(xí)用流程圖來(lái)表達(dá)自己的算法思想首先要從認(rèn)識(shí)組成流程圖的圖符的功思想首先要從認(rèn)識(shí)組成流程圖的圖符的功能入手。流程圖圖符及其功能由表能入手。流程圖圖符及其功能由表1.4描述。描述。 12/13/2021編輯課件5412/13/2021編輯課件552. 2. 用流程圖描述算法用流程圖描述算法n問題問題 輸入輸入10個(gè)整數(shù),統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)整數(shù),統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù),計(jì)算正數(shù)和負(fù)數(shù)的累加和與平均值。個(gè)數(shù),計(jì)算正數(shù)和負(fù)數(shù)的累加和與平均值。n算法設(shè)

59、計(jì)算法設(shè)計(jì) 用變量用變量x存儲(chǔ)輸入的整數(shù),存儲(chǔ)輸入的整數(shù),k表示表示輸入的次數(shù),輸入的次數(shù),positive表示正數(shù)的個(gè)數(shù),表示正數(shù)的個(gè)數(shù),negtive表示負(fù)數(shù)的個(gè)數(shù),表示負(fù)數(shù)的個(gè)數(shù),sum_pos和和sum_neg分別表示正數(shù)和負(fù)數(shù)的累加和,分別表示正數(shù)和負(fù)數(shù)的累加和,even_pos和和even_neg分別表示正數(shù)和負(fù)分別表示正數(shù)和負(fù)數(shù)的平均值。數(shù)的平均值。12/13/2021編輯課件56該問題算法的自然語(yǔ)言描述該問題算法的自然語(yǔ)言描述(1) (1) (1) (1) 定義變量定義變量x x,k k,positivepositive,negtivenegtive,sum_possum_po

60、s,sum_negsum_neg,even_poseven_pos和和even_negeven_neg。(2) positive(2) positive,negtive negtive ,sum_possum_pos和和sum_negsum_neg清零,清零,k k賦初值賦初值1 1。(3) (3) 判斷判斷k11k11嗎?(或嗎?(或k k 1010嗎?)如果是,順序往(嗎?)如果是,順序往(4 4)步執(zhí))步執(zhí)行;否則轉(zhuǎn)步驟(行;否則轉(zhuǎn)步驟(1010)。)。(4) (4) 從鍵盤輸入一個(gè)整數(shù)并且賦給變量從鍵盤輸入一個(gè)整數(shù)并且賦給變量x x。(5) (5) 判斷判斷x x是否等于零?如果是,轉(zhuǎn)步驟(是否等于零?如果

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論