程序設(shè)計(jì)基礎(chǔ)第一章.ppt

上傳人:za****8 文檔編號(hào):16990656 上傳時(shí)間:2020-11-06 格式:PPT 頁數(shù):114 大?。?86KB
收藏 版權(quán)申訴 舉報(bào) 下載
程序設(shè)計(jì)基礎(chǔ)第一章.ppt_第1頁
第1頁 / 共114頁
程序設(shè)計(jì)基礎(chǔ)第一章.ppt_第2頁
第2頁 / 共114頁
程序設(shè)計(jì)基礎(chǔ)第一章.ppt_第3頁
第3頁 / 共114頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《程序設(shè)計(jì)基礎(chǔ)第一章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《程序設(shè)計(jì)基礎(chǔ)第一章.ppt(114頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、程序設(shè)計(jì)基礎(chǔ) 陳文宇 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 聯(lián)系方式 13808181782 主樓 B1-513 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose P

2、ty Ltd. 學(xué)時(shí): 24+24 成績(jī)構(gòu)成: 平時(shí) 10, 期中 10分 實(shí)驗(yàn) 20分,期末 60 分 考試:閉卷、筆試 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 教材 : C語言程序設(shè)計(jì) 黃迪明 等 電子科技大學(xué)出版社 2008.7 Evaluation only. Created with Aspose.Slides for .NET 3.5 Cl

3、ient Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 參考書 Brian W. Kernighan, Demis Ritchie The C Programming Language 2nd Ed (英文影印版)清華大學(xué)出版社 2000 譚浩強(qiáng) C程序設(shè)計(jì) (第 3版) 清華大學(xué)出版社 2005 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty

4、 Ltd. 程序設(shè)計(jì) Programming 給出解決特定問題 程序 的方法和過程, 是 軟件 構(gòu)造活動(dòng)的重要組成部分 專業(yè)的程序設(shè)計(jì)人員稱為 程序員 程序設(shè)計(jì)過程應(yīng)當(dāng)包括 需求分析 設(shè) 計(jì) 編碼 測(cè)試 維護(hù) 五個(gè)階段,并生 成各種 文檔資料 。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序設(shè)計(jì) 程序設(shè)計(jì)需要以某種 程序設(shè)計(jì)語言 為 工具:編寫出該語言的 程序 。 Evaluation

5、only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 問題 什么是程序設(shè)計(jì)語言 ? 什么是程序? 什么是軟件? 程序設(shè)計(jì)語言與程序的關(guān)系是什么? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 語言:一組規(guī)則的組合 自然語言中的英語: 1)字母

6、表的定義; 2) 詞法規(guī)則 :?jiǎn)卧~符號(hào)的形成規(guī)則 一個(gè)單詞對(duì)應(yīng)一條形成規(guī)則,規(guī)定了 該單詞由哪些字母按照什么順序進(jìn)行 排列 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3)語法規(guī)則: 語法單位 的形成規(guī)則 短語、從句、句子、段落、文章 4)語義規(guī)則: 單詞符號(hào)和語法單位的含義規(guī)則 Evaluation only. Created with Aspose.Slides for .NET

7、 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 5)語用規(guī)則: 語義規(guī)則的發(fā)展和延伸 強(qiáng)調(diào)在一定的語境中使用單詞和 語法單位時(shí)體現(xiàn)出來的具體意義 需要根據(jù)上下文進(jìn)行明確 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 思考 英語和英語文章的關(guān)系? Evaluation only. Created with A

8、spose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序設(shè)計(jì)語言: 用于程序設(shè)計(jì)的人工語言 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序設(shè)計(jì)語言 機(jī)器語言 :第一代程序設(shè)計(jì)語言 字母表: 0, 1 單詞符號(hào):操作碼、地址 語法單位: 指令 10

9、111000 1001 1110 程序 指令的組合 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 機(jī)器語言 編寫程序十分 繁瑣 和 痛苦 ; 程序不便于記憶、閱讀和書寫,容易 出錯(cuò)(查錯(cuò)和改錯(cuò),十分困難); 每類計(jì)算機(jī)的指令系統(tǒng)各不相同,可 移植性很差,造成了重復(fù)工作。 Evaluation only. Created with Aspose.Slides for .NET 3.5

10、Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 機(jī)器語言 指令針對(duì)特定型號(hào)的計(jì)算機(jī)(與機(jī)器 有關(guān), 低級(jí)語言 ) 運(yùn)算效率很高 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 匯編語言 字母表:主要增加了英文字母 單詞符號(hào): 操作碼、內(nèi)存符號(hào)、寄存器、數(shù)據(jù) 語法單位: 指令 ADD A, R0

11、程序 指令的組合 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 匯編語言:第二代計(jì)算機(jī)語言 助記憶符 :用與代碼指令含義相近的 英文 縮寫詞、字母和數(shù)字等符號(hào) 取代指令代碼 較容易理解程序,糾錯(cuò)及維護(hù)變得較方便 匯編語言仍然是 面向機(jī)器 的語言(低級(jí)語 言),仍比較繁瑣,通用性也差。 Evaluation only. Created with Aspose.Slides for .NET

12、3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 匯編語言 需要將匯編語言指令 翻譯 成機(jī)器 語言的指令:匯編 匯編語言程序的 目標(biāo)程序 占用內(nèi) 存空間少,運(yùn)行速度快 有著高級(jí)語言不可替代的用途 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高級(jí)程序設(shè)計(jì)語言 1)字母表的定義; 2)詞法規(guī)則:一般有五類單詞符號(hào) 3)語

13、法規(guī)則: 語法單位包括:表達(dá)式、語句、模 塊、 程序 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高級(jí)程序設(shè)計(jì)語言 4)語義規(guī)則: 5)語用規(guī)則:無二義的 6)其他規(guī)則: 如數(shù)據(jù)類型的定義、運(yùn)算符優(yōu)先級(jí) 的定義、參數(shù)的傳遞方式、作用域的規(guī) 定等 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile

14、 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. FORTRAN語言的一條語句: if (num0) then abs:=num else abs:=-num; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高級(jí)程序設(shè)計(jì)語言 獨(dú)立于計(jì)算機(jī)的硬件 對(duì)具體的算法進(jìn)行描述(算法語言) 獨(dú)立性,通用性和可移植性好 Evaluation on

15、ly. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高級(jí)程序設(shè)計(jì)語言 一般包含有以下四種成分: 數(shù)據(jù)成分 :描述程序所涉及的數(shù)據(jù) 運(yùn)算成分 :描述運(yùn)算 控制成分 :表達(dá)程序的控制結(jié)構(gòu) 傳輸成分 :表達(dá)數(shù)據(jù)的傳輸(輸入輸 出、文件讀寫操作) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-

16、2011 Aspose Pty Ltd. 高級(jí)程序設(shè)計(jì)語言 高級(jí)語言的程序主要是描述計(jì)算機(jī)的解題 過程,即描述復(fù)雜的加工處理過程,所以 也稱高級(jí)語言為 面向過程語言 。 計(jì)算機(jī)不能直接執(zhí)行高級(jí)語言的程序(源 程序);通常有 解釋方式 和 編譯方式 兩種 方法在計(jì)算機(jī)上執(zhí)行程序(目標(biāo)程序)。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with A

17、spose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 思考 大量的程序設(shè)計(jì)語言被發(fā)明、被取代、 被修改或組合在一起; 盡管多次試圖創(chuàng)造一種通用的程序 設(shè)計(jì)語言,卻沒有一次嘗試是成功的 WHY? Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 高級(jí)語言的發(fā)展 從 早期

18、語言 到 結(jié)構(gòu)化程序設(shè)計(jì)語言 從 面向過程 到 非過程化程序語言 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1.FORTRAN=FORmula TRANslation 主要用于科學(xué)計(jì)算 2.ALGOL 60=ALGOrithmic Language 60 采用 BNF形式描述語法 一 . 早期的高級(jí)語言( 50年代) Evaluation only. Created

19、 with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 早期的高級(jí)語言 3. COBOL COmmon Business Oriented Language .廣泛應(yīng)用于各種事務(wù)處理領(lǐng)域 .引入了文件和數(shù)據(jù)描述 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 基于數(shù)學(xué)原則的

20、語言 1. LISP .其基礎(chǔ)是 函數(shù) 和函數(shù)作用 2. APL .支持函數(shù)式程序設(shè)計(jì)風(fēng)格 .應(yīng)用于大量矩陣運(yùn)算的科學(xué)計(jì)算 二 .早期的突破 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3. SNOBOL 4 .主要用于字符串處理 . 與機(jī)器無關(guān)的宏功能 ,增加了程序的 可移植性 Evaluation only. Created with Aspose.Slides for .NE

21、T 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. PL/1 .希望將所有語言概念 集成 大全 .分程序概念和遞歸過程 .數(shù)據(jù)描述機(jī)能 .動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) .異常處理 .多任務(wù)機(jī)能 .可用于科學(xué)數(shù)值計(jì)算 ,數(shù)據(jù)處理等 .難以得到廣泛的應(yīng)用 三 . 概念的集成( 64年) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose

22、Pty Ltd. 引入了許多有趣的概念 1. ALGOL 68 .以零型文法描述語法規(guī)則 .引入正交性和通用性原則 四 . 再一次突破 (60年代后期 ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2. SIMULA67 .應(yīng)用于模擬領(lǐng)域 .協(xié)同程序 .引入了類的概念 Evaluation only. Created with Aspose.Slides for .N

23、ET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3. PASCAL .具有明顯的簡(jiǎn)潔性 .體現(xiàn) 結(jié)構(gòu)程序設(shè)計(jì) 思想 .具有 用戶自定義類型 利用語法圖形式描述語法規(guī)則 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 4. BASIC Beginners All-purpose Symbolic

24、Instruction Code .簡(jiǎn)單易學(xué) .交互式 工作環(huán)境 .解釋執(zhí)行 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 70年代 ,支持系統(tǒng)軟件開發(fā) 1. 語言研究 涉及 抽象數(shù)據(jù)類型 ,異常處理 和 并行 處 理機(jī)制 2. MODULA-2 .支持模塊結(jié)構(gòu) ,模塊可以獨(dú)立編譯 .面向 實(shí)時(shí)系統(tǒng) 和并行系統(tǒng)綜合功能 五 . 大量的探索 Evaluation

25、 only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3. C CPLBCPLB C .具有高級(jí)語言和低級(jí)語言的優(yōu)點(diǎn) .應(yīng)用于 各種領(lǐng)域 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 70年代以后 ,注重可移植性 1. Ada

26、 .面向?qū)iT領(lǐng)域的特殊要求 .是在引入了一個(gè)不大的 ,容易理解的 概念集合的基礎(chǔ)上開發(fā)的 .體現(xiàn)許多現(xiàn)代軟件設(shè)計(jì)方法學(xué)的語言 .提高程序的可讀性 ,可靠性 ,可維護(hù)性 六 . Ada和第四代語言 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2. 第四代語言 超高級(jí)語言 面向問題 .表達(dá)力強(qiáng) ,更接近于問題的描述 .著重關(guān)心的是 :做什么 Evaluatio

27、n only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Java、 HTML Java是一種通用、并發(fā)、基于類的 面 向?qū)ο?的程序設(shè)計(jì)語言。 面向?qū)ο? 實(shí)現(xiàn):編譯與解釋相結(jié)合 分布性、安全性、并發(fā)性 七 . 網(wǎng)絡(luò)時(shí)代的語言 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011

28、 Aspose Pty Ltd. 拋棄 馮 .諾依曼 體系結(jié)構(gòu) 包括函數(shù)式 , 邏輯式語言 應(yīng)用于人工智能等領(lǐng)域 八 . 新一代程序設(shè)計(jì)語言 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1.基礎(chǔ) 存儲(chǔ)器 ,控制器 ,處理器 , ip 2.特點(diǎn) 數(shù)據(jù)或指令以 二進(jìn)制 形式存儲(chǔ) ; 存儲(chǔ) 程序的工作方式; 程序 順序執(zhí)行;可強(qiáng)制修改執(zhí)行順序 存儲(chǔ)器的內(nèi)容可以被 修改 。

29、馮 .諾依曼體系結(jié)構(gòu)(模型) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. ip 代碼存儲(chǔ)器( C) 數(shù)據(jù)存儲(chǔ)器( D) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 一些高級(jí)語言的關(guān)系 A L G O L 6 0 A

30、 L G O L 6 8 A L G O L W C O B O L F O R T R A N P L / 1 F O R T R A N 2 0 0 0 B A S I C P a s c a l M o d u l a - 2 C o n c u r r e n t P a s c a l A d a B C P L C C + + J a v a Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序設(shè)計(jì)

31、語言的發(fā)展小結(jié) 機(jī)器語言 匯編語言 高級(jí)語言 用 機(jī)器語言 編寫的程序由二進(jìn)制代碼 組成,計(jì)算機(jī)可以直接執(zhí)行。 將機(jī)器語言 符號(hào)化 ,于是產(chǎn)生了 匯編 語言 。 機(jī)器語言和匯編語言都是與機(jī)器有 關(guān)的語言,通常稱為低級(jí)語言。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. C語言的發(fā)展 1963年,在 ALGOL 60 的基礎(chǔ)上,英國(guó)劍 橋大學(xué)推出了 CPL( Combined Pro

32、gramming Langurage)語言。 1967年英國(guó)劍橋大學(xué)的 Matin Richards對(duì) CPL語言做了簡(jiǎn)化,推出了 BCPL ( Base CPL )語言。 1970年美國(guó)貝爾實(shí)驗(yàn)室的 Ken Thompson 對(duì) BCPL 進(jìn)一步簡(jiǎn)化,設(shè)計(jì)出了簡(jiǎn)單的而 且很接近硬件的 B 語言 ,并用 B語言寫出了 第一個(gè) UNIX 操作系統(tǒng)。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 19

33、72年至 1973年間,貝爾實(shí)驗(yàn)室的戴尼 斯 利奇( Demis Ritchie)和布朗 卡尼漢 ( Brian Kernighan)在 B 語言的基礎(chǔ)上 設(shè)計(jì)出了 C 語言( BCPL)。 C語言即保持 BCPL 語言和 B 語言的優(yōu)點(diǎn) (精練、接近硬件),又克服了他們的缺 點(diǎn)(過于簡(jiǎn)單,數(shù)據(jù)無類型等)。 1973年新的 UNIX版本完全用 C語言編寫 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.

34、 1977年出現(xiàn)了可移植 C語言的編譯程序 , 推動(dòng)了 UNIX在各種機(jī)器上實(shí)現(xiàn) , C語言 也迅速得到推廣,其發(fā)展相輔相成。 1978年以后, C語言先后移植到大、中、 小、微型計(jì)算機(jī)上,成為最廣泛使用的計(jì) 算機(jī)程序設(shè)計(jì)語言之一。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1978年在 Brian W.Kernighan和 Dennis M.Ritchie 合著的 The C Progra

35、mming Language 成為 C語言的標(biāo)準(zhǔn)。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1983年 ,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì) (ANSI)根據(jù) C 語言各種版本對(duì) C的發(fā)展和擴(kuò)充 ,制定了新 的標(biāo)準(zhǔn) ANSI C,比標(biāo)準(zhǔn) C有了很大的發(fā)展 1987年 ,ANSI公布了新標(biāo)準(zhǔn): 87 ANSI C。 1989年,公布了新的 C語言標(biāo)準(zhǔn) C89 1990年, ISO接受 C89作為國(guó)際標(biāo)

36、準(zhǔn),通常 稱為 C90 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1999年, ISO對(duì) C語言增加了一些面向 對(duì)象的特征,簡(jiǎn)稱為 C99。 目前流行的 C語言編譯系統(tǒng)大多是以 C89為基礎(chǔ)進(jìn)行開發(fā)的。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011

37、 Aspose Pty Ltd. 第一章 C語言程序設(shè)計(jì)基礎(chǔ)知識(shí) C語言是一種通用的高級(jí)程序設(shè)計(jì)語言 當(dāng)今世界上最流行的程序設(shè)計(jì)語言之一 開發(fā) 系統(tǒng)軟件 和 應(yīng)用軟件 中得到廣泛應(yīng)用 本章簡(jiǎn)介 C語言程序設(shè)計(jì)相關(guān)的基礎(chǔ)知識(shí) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1.1 引言 1.1.1 計(jì)算機(jī)與信息社會(huì) 計(jì)算機(jī)定義: 一種在事先存入程序的控制下,能 夠 接收數(shù)據(jù) 、 存儲(chǔ)

38、數(shù)據(jù) 、 處理數(shù)據(jù) 并提 供處理 結(jié)果 的數(shù)字化電子設(shè)備。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 計(jì)算機(jī)工作流程圖 輸入 運(yùn)算與控制 存儲(chǔ) 輸出 數(shù)據(jù) 計(jì)算機(jī) 結(jié)果 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose

39、Pty Ltd. 1.1.2 計(jì)算機(jī)中信息的表示 1.計(jì)算機(jī)內(nèi)所有信息采用 二進(jìn)制 表示 2.采用二進(jìn)制的原因: 1)二進(jìn)制只包含 0和 1,因此可用大量具 有兩種不同穩(wěn)定狀態(tài)的元件來表示。 2)二進(jìn)制數(shù)的運(yùn)算規(guī)則簡(jiǎn)單,使得計(jì)算 機(jī)中的運(yùn)算部件的結(jié)構(gòu)變得比較簡(jiǎn)單。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3 .計(jì)算機(jī)中信息的表示 數(shù)值 直接轉(zhuǎn)換為二進(jìn)制 字符 采用 ASCII

40、編碼( 7位、美國(guó)標(biāo)準(zhǔn) 信息交換碼) 其它信息 (漢字、圖形、圖象、聲音、 表格)也有相應(yīng)的編碼標(biāo)準(zhǔn)和規(guī)則。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 計(jì)算機(jī)系統(tǒng) 軟件系統(tǒng) 硬件系統(tǒng) 系統(tǒng)軟件(操作系統(tǒng)、編譯程序、診斷程序 系統(tǒng)服務(wù)軟件等) 應(yīng)用軟件 (信息管理軟件、游戲等) CPU 控制器 運(yùn)算器 輸入設(shè)備(鼠標(biāo)、鍵盤、手寫筆、 MIC等) 輸出設(shè)備(顯示器、繪圖儀、打印機(jī)等)

41、 存儲(chǔ)器 內(nèi)存儲(chǔ)器( RAM) 外存儲(chǔ)器(軟盤、硬盤、光盤) 1.1.3 計(jì)算機(jī)系統(tǒng)的組成 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序的 靈魂 算法 一個(gè)程序應(yīng)包括: 對(duì) 數(shù)據(jù)的描述 :在程序中要指定數(shù)據(jù) 的類型和數(shù)據(jù)的組織形式 即數(shù)據(jù)結(jié)構(gòu)( data structure) 對(duì) 數(shù)據(jù)進(jìn)行操作的描述 :即操作步驟, 也就是算法( algorithm) Evaluation

42、only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Nikiklaus Wirth 提出的公式: 程序 =數(shù)據(jù)結(jié)構(gòu) +算法 目前 程序 =算法 +數(shù)據(jù)結(jié)構(gòu) +程序設(shè)計(jì)方法 +語言工具和環(huán)境 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspos

43、e Pty Ltd. 算法及其表示 算法:解決問題所采取的一系列步驟 例,要求用一個(gè)給定的半徑計(jì)算圓的 面積,計(jì)算機(jī)算法為: 設(shè)置半徑值 r; 使用公式 s= r2; 顯示 S的值。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法的特點(diǎn) (1)有輸入 算法可以有 零個(gè)或多個(gè) 輸入。輸入是用來 在一個(gè)算法的執(zhí)行過程中,向它提供處理對(duì) 象 (數(shù)據(jù) )或控制算法執(zhí)行過程的信息。 (2

44、)有輸出 算法 必須 具有一個(gè)或多個(gè)執(zhí)行結(jié)果的輸出。 沒有輸出的算法是一個(gè)無效的算法。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法的特點(diǎn) (3)有窮性 任何算法都應(yīng)該在執(zhí)行有窮步驟之后結(jié)束 。 (4)確定性 算法不能具有二義性 。 算法中每一步的語 義都應(yīng)該清晰明了 , 明確指出應(yīng)該執(zhí)行什么操 作 , 如何執(zhí)行操作 。 Evaluation only. Created with

45、Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法的特點(diǎn) (5)高效性 根據(jù)算法編寫出來的程序應(yīng)具有較高的 時(shí) 空效率 。 執(zhí)行時(shí)間短 不占用過多內(nèi)存 。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法的表示(描述) 自然語言 表示 易理解和交流,但易

46、產(chǎn)生二義性。 偽代碼 表示 偽代碼使用介于自然語言和計(jì)算機(jī) 語言之間的 文字和符號(hào) 來描述算法 (用形式化語言描述算法的邏輯過程 ) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法的表示(描述) 程序流程圖 用 圖形符號(hào)和文字說明 來表示數(shù)據(jù) 處理的過程和步驟。 N-S流程圖 也稱方框圖 ;適于結(jié)構(gòu)化程序設(shè)計(jì)的 算法描述工具。 Evaluation only. Created wit

47、h Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序流程圖 是描述算法的良好工具。 由 邏輯框和流向線 組成。 邏輯框是表示程序操作功能的圖形符號(hào)。 流向線用來指示程序的邏輯處理順序。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 流程圖的 邏輯框 起止框

48、 表示程序的開始和結(jié)束。 處理框 表示一種處理功能或程序段,框內(nèi)用文 字簡(jiǎn)述其功能。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 邏輯框 判斷框 表示在此進(jìn)行判斷以決定程序的流向, 框內(nèi)注明判斷條件。 連接框 框內(nèi)注有字母,當(dāng)流程圖跨頁時(shí),或者 可能出現(xiàn)流向線交叉時(shí),用它來表示彼此 之間的關(guān)系,相同符號(hào)的連接框表示它們 是相互連接的。 Evaluation onl

49、y. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 流向線 流向線 表示程序處理的邏輯順序。以單向箭 頭表示。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 邏輯框和流向線 N Y Evaluation only. Created with A

50、spose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. N-S流程圖 1973年美國(guó)學(xué)者 Nassi和 Schneiderman提 出 N-S流程圖(也稱為方框圖),它是一種 適于結(jié)構(gòu)化程序設(shè)計(jì)的算法描述工具。 由于流程圖各步驟之間,一般總是按照從 上到下順序執(zhí)行, N-S流程圖中取消了流向 線 。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Cop

51、yright 2004-2011 Aspose Pty Ltd. 二選一結(jié)構(gòu)的表示 A B Y N 滿足 不滿足 A B Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法例子 1 輸入一個(gè)整數(shù),輸出其絕對(duì)值: 自然語言描述: 1 輸入 一個(gè)整數(shù) ; 2 若 該數(shù)為正數(shù),則其絕對(duì)值 取 該數(shù)的值 否則,其絕對(duì)值 取 該數(shù)的相反數(shù)值; 3 輸出 其絕對(duì)值。 Evaluation

52、 only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 偽碼表示 BEGIN READ numb IF numb0 abs=numb ELSE abs=-numb PRINT abs END Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspo

53、se Pty Ltd. 程序流程圖 BEGIN READ numb numb0 abs=numb abs=-numb PRINT abs END Y N Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 算法例子 2 從鍵盤讀入 10個(gè)整數(shù)輸出其中正整數(shù)的和。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.

54、2.0.0. Copyright 2004-2011 Aspose Pty Ltd. BEGIN SET 0 sum SET 0 count WHILE count 0 then sum + x sum END count + 1count END_WHILE PRINT sum END 算法例子 2 偽代碼 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序

55、流程圖描述算法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. N-S流程圖算法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 編寫程序 算法用 C語言進(jìn)行實(shí)現(xiàn),該過程也稱 對(duì)算法進(jìn)行編碼。 按照算法的流

56、程順序編寫程序 編寫程序還必須進(jìn)行語句 執(zhí)行過程 的 控制 。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 語言提供的控制結(jié)構(gòu) 1 順序 :定義了語句按順序執(zhí)行的次序。 2 選擇 :提供了根據(jù)某個(gè)條件的結(jié)果在不 同的語句中選擇執(zhí)行某一條語句的能力。 3 循環(huán) (重復(fù)):提供根據(jù)某個(gè)條件的結(jié) 果重復(fù)地執(zhí)行某些語句的能力。 4 調(diào)用 :即在需要時(shí)運(yùn)行指定的代碼段。 Evaluation only.

57、 Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. C語言程序的基本結(jié)構(gòu) #include void main( ) 數(shù)據(jù)定義 ;(變量說明語句); 數(shù)據(jù)處理 ;(執(zhí)行語句); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序說明 每個(gè) C程

58、序必須有一個(gè)主函數(shù) main 是函數(shù)開始和結(jié)束的標(biāo)志 若需要輸入和輸出功能 , 程序開頭 應(yīng)該為 #include Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. #include void main( ) printf (“This is a C program.n”); 程序例 1 程序的作用是輸出一行信息 : This is a C program. Evaluation

59、only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序例 2 求絕對(duì)值 #include void main( ) int numb; /*代表某個(gè)整數(shù) */ int abs; /*代表該整的絕對(duì)值 */ scanf(“%d”, /*輸入該整數(shù)的值 */ /*求絕對(duì)值 */ if ( numb0) abs=numb; else abs= -numb; printf (“the abs of

60、numb is %dn”,abs); /*輸出 */ Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 注釋 /**/ 表示注釋。 注釋是對(duì)源程序進(jìn)行的注解 ,增加程 序的可讀性; 對(duì)編譯和運(yùn)行不起作用。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011

61、 Aspose Pty Ltd. 程序例 3 求兩個(gè)實(shí)數(shù)之和 #include void main( ) float a,b,sum; /*實(shí)型數(shù)據(jù)定義 */ scanf(“%f %f”, sum=a+b; printf(sum is %f n,sum); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序例 4 利用海倫公式 計(jì)算 邊長(zhǎng)分別為 3、 4、 5的三角形的面積 E

62、valuation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. #include #include void main( ) float a=3.0,b=4.0,c=5.0; float s,area; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%fn”,area); Evaluation only. Created with Aspose.

63、Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 庫函數(shù) C語言(編譯器)提供了許多基本的、 常用的功能; 分別保存在不同的文件中; 以函數(shù)形式提供給程序員使用; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 庫函數(shù)分類 (1)I/O 功能,需要的包含文件: stdio.h 如 : p

64、rintf, scanf等。 (2)字符(串)處理功能, string.h 如: islower, strcat, strcmp, strlen等。 (3)數(shù)學(xué)功能, math.h 如: sin, cos, exp, log, sqrt等。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 庫函數(shù)分類 (4)時(shí)間、日期功能, time.h 如: time() (5) 圖形功能,包括各種

65、繪制點(diǎn)、線、圓、 方和填色等的函數(shù), graphics.h 6)動(dòng)態(tài)存儲(chǔ)分配, alloc.h Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序例 5 求 2個(gè)整數(shù)中較大者 (通過函數(shù)實(shí)現(xiàn) ) int max(int x, int y) /* x,y :形參 */ int z; if (xy) z=x; else z=y; return (z); Evaluation

66、only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. main部分 #include void main( ) int a, b, max_num; scanf( d, d, /*調(diào)用 max函數(shù) ,將得到的值賦給 max_num*/ max_num=max(a,b); printf(max= dn, max_num); Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 程序例 6 輸出華氏 攝氏溫度對(duì)照表。 在華氏 0100。 之間(間隔 20 。 ); 給出對(duì)應(yīng)的攝氏溫度 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profi

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!