




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一篇程式設計基礎 授課教師 李靖海日期 96 10 01 課程大綱程式語言與C C 語言的基礎程式語言基礎程式設計技術之演進C C 語言之基礎如何設計C C 應用程式C C 應用程式開發環境第一個C程式與C程式架構C C 語言寫作風格 2020 2 26 C C 程式設計 2 第一篇程式設計基礎 程式語言的基礎程式設計主要是要電腦幫你做事情 先考慮要輸出的成果 才決定要輸入什麼 然後設計程式讓電腦幫你做事 程式設計還牽涉到要用什麼機器 用什麼程式語言 我們用軟體就是許多程式的組合 程式 Programs 是使用指定程式語言所撰寫沒有混淆文字 數字和鍵盤符號所組成的特殊符號 這些符號組合成指令和敘述 再進一步編寫成程式碼 程式碼可以告訴電腦解決指定問題的步驟 2020 2 26 C C 程式設計 第一篇程式設計基礎 3 程式語言的基礎什麼是程式 program 程式如同一個轉換器 當從電腦鍵盤或滑鼠取得輸入資料後 執行程式就可以將資料轉換成有用的資訊 如下圖所示 為了讓電腦能夠看懂程式 程式需要依據程式語言的規則 結構和語法 以指定的文字或符號來撰寫程式 例如 C程式語言撰寫的程式稱為C程式碼 Ccode 或稱為 原始碼 sourcecode 2020 2 26 C C 程式設計 第一篇程式設計基礎 4 程式語言的基礎程式語言 ProgramLanguage 為什麼需要程式語言 VonNeumann的 儲存程式概念 什麼是程式語言 和人類的語言相同嗎 程式語言包含一組指令和一套語法規則人與電腦間溝通之語言 目前電腦藉由人利用程式語言下指令方式告知其工作的程序 資料與資訊有什麼不同 2020 2 26 C C 程式設計 第一篇程式設計基礎 5 程式語言的基礎vonNeumannarchitecture 2020 2 26 C C 程式設計 第一篇程式設計基礎 6 程式語言的基礎程式語言 ProgramLanguage 如何選擇程式語言 低階語言機械語言組合語言 2020 2 26 C C 程式設計 第一篇程式設計基礎 7 程式語言 ProgramLanguage 高階語言FORTRAN 應用在科學運算 數學 理工等方面COBOL 應用在資料管理及商業用途PASCAL 應用在科學計算及教學用途LISP 人工智慧語言Modula 2 Modula 3 應用在科學計算及一般用途C C 應用在工程及科學用途BASIC 應用在一般用途及教學用JAVA 應用於網路及通訊用途 2020 2 26 C C 程式設計 第一篇程式設計基礎 8 程式語言 ProgramLanguage 高階語言編譯器 Compilers 編譯器就是把程式語言轉譯成電腦可以理解的機械碼 Machinecode 1972年 C語言由DennisRitchie和KenThompson一起設計UNIX作業系統而發展出來可高階應用 亦可低階控制版本 TurboC BorlandC ANSIC MicrosoftC等1980年 由AT TBellLab 的BjarneStroustrup博士設計將物件導向概念加入C語言中 為 Cwithclasses 1985年 加入運算子超載 虛擬函數等物件導向特性 即為C 版本 USLC AT T HPC BorlandC MicrosoftC VisualC 等 2020 2 26 C C 程式設計 第一篇程式設計基礎 9 程式語言 ProgramLanguage 高階語言編譯式語言翻譯過程 2020 2 26 C C 程式設計 第一篇程式設計基礎 10 程式語言 ProgramLanguage 高階語言直譯器 Interpreters 是依程式每一個指令程序順序 直接一個指令一個動作 一列一列的執行程式碼 早期BASIC語言 及目前網頁技術的腳本 Scripts 語言 2020 2 26 C C 程式設計 第一篇程式設計基礎 11 程式語言 ProgramLanguage 高階語言直譯式語言翻譯過程 2020 2 26 C C 程式設計 第一篇程式設計基礎 12 程式語言的基礎軟體 software 與應用程式 ApplicationProgram 是一種電腦執行的應用程式 通常軟體是一個或多個程式的泛稱 或是一整套應用程式的總稱 應用程式是一種處理指定工作的電腦程式 例如 數學分析 文書處理 試算表和程式語言開發工具等 2020 2 26 C C 程式設計 第一篇程式設計基礎 13 程式語言的基礎應用開發工具及語言 RubyonRails RoR 是利用Ruby腳本程式語言寫成的開發框架 由DavidHeinemeierHansson在所屬公司的專案中提煉產生 XML 是一種在W3C工業標準規範下的標示語言 MarkupLanguage 主要在描述結構化的資料 提供標準的資料交換格式 讓資訊能跨越異質的環境與不同的設備 ASP ActiveServerPage 網頁技術物件導向程式語言 UMLUNIX系統及Linux系統所使用之程式語言 母語皆是C語言 工程科學應用之Matlab及Mathlab 2020 2 26 C C 程式設計 第一篇程式設計基礎 14 程式如何執行無論是高階 中階或是低階程式語言 在電腦中執行方式上所需要之架構有所不同 因此在程式設計時 對電腦在執行程式的方式與架構有基本認識 將有很大之助益 2020 2 26 C C 程式設計 第一篇程式設計基礎 15 程式設計技術之演進軟體工程程式設計風格與技術建立程式設計風格或技術非結構化程式設計 UnstructuredProgramming 程序式程式設計 ProceduralProgramming 與結構化程式設計 StructuredProgramming 模組化程式設計 ModularProgramming 物件導向程式設計 Object OrientedProgramming 2020 2 26 C C 程式設計 第一篇程式設計基礎 16 建立程式設計風格或技術非結構化程式設計 UnstructuredProgramming 早期程式設計是從上至下以線性方式依序依指令執行 無論是小程式或大城市都包在單一的main 主程式內 缺點 重複程式碼GOTO指令 2020 2 26 C C 程式設計 第一篇程式設計基礎 17 2020 2 26 18 C C 程式設計 第一篇程式設計基礎 程序式程式設計 ProceduralProgramming 與結構化程式設計 StructuredProgramming 程序是程式設計是將程式中重複的程式片段抽出成為程序 procedures 或稱subroutine 或函數 functions 以執行特定功能之程式碼 程序呼叫 由主程式依序呼叫特定不同程序 主程式是使用流程控制來連接程序 程序是程式中之子集合 2020 2 26 19 C C 程式設計 第一篇程式設計基礎 函數的概念 VB中的函數可分為內建函數與自定函數 內建函數 是指C程式語言中原本就已經存在的功能函數 我們只要依照一定格式傳入引數即可使用它 自定函數 即為使用者自己建立的函數 函數 Function 功能和子程序十分類似 它與子程序的唯一差別在於函數處理後會有一個傳回值 所以在使用函數時需指定一個變數來儲存這個傳回值 2020 2 26 C C 程式設計 第一篇程式設計基礎 程序式程式設計 ProceduralProgramming 與結構化程式設計 StructuredProgramming 由上而下 將複雜的程式分成一個個負責獨立工作的小程式 再依程式的邏輯和程序來組合這些小程式 稱為結構化程式設計 成績計算系統 20 2020 2 26 21 C C 程式設計 第一篇程式設計基礎 程序式程式設計 ProceduralProgramming 與結構化程式設計 StructuredProgramming TOP DOWN流程控制循序 選擇 重複結構 循序結構 選擇結構 2020 2 26 22 C C 程式設計 第一篇程式設計基礎 程序式程式設計 ProceduralProgramming 與結構化程式設計 StructuredProgramming 重複結構 while 重複結構 do while 2020 2 26 23 C C 程式設計 第一篇程式設計基礎 模組化程式設計 ModularProgramming 為能重複使用程序式程式設計分割建立之程序 將相同之程序或函數結合在一起成為獨立之模組 Modules 執行程式獨立特定功能之子程式每一個模組包含處理資料及程序函數 可視為函式庫 Libraries 其中之函數檔為 h C語言是由許多函式庫組合而成 程式設計方便 且減輕設計者負擔 可讀性較高 對於日後維護也容易許多 資料 2020 2 26 C C 程式設計 第一篇程式設計基礎 物件導向程式設計 Object OrientedProgramming 模組化程式設計是物件導向設計之前身將原來關注於問題的分解 轉換成了解問題本身之資料 也就是物件 Object 物件較模組容易擴充與重複使用C語言僅是傳統結構化程式語言 C 則是物件導向語言 24 2020 2 26 25 C C 程式設計 第一篇程式設計基礎 物件導向程式設計 Object OrientedProgramming 程式設計風格演進 主要目的是能夠重複使用已經設計過之程式碼 以便可以累積經驗快速開發所需之應用程式 2020 2 26 26 C C 程式設計 第一篇程式設計基礎 C語言基礎C語言之歷史C語言之特點結構化語言普及性 相容性建立之執行檔很小 執行速度快 功能強之函式庫利用前置處理器 Preprocessor 處理相當多的工作 本課程所使用之C語言是以ANSI C版本為主 2020 2 26 27 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式程式設計之基礎軟體工程不只是討論寫程式 coding 的功夫而已 而是學習如何組織眾多程式設計師共同參與設計一套大型且符合使用者需求的複雜系統 這中間還包括考量到軟體系統生命週期 softwaresystemlifecycle 程式設計撰寫 產品測試 除錯與維護等 程式設計五大步驟 2020 2 26 28 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式程式設計之基礎 需求 Requirements 了解問題本身 以確切獲得程式需要的資料和其預期產生之結果 設計 Design 尋找解決問題的方法與步驟分析 Analysis 將所有可能之解決方法記錄下來 比較分析其中哪一個方法較好 選擇最佳方法 撰寫程式碼 Coding 利用C C 語言 邊寫邊比較評估所使用之方法 以結構化 模組化方式編寫 驗證 Verification 證明程式執行的結果符合需求的輸出資料 2020 2 26 29 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式程式設計之基礎驗證 Verification 證明 Qualify 測試 Testing 除錯 Troubleshooting 2020 2 26 30 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式演算法 Algorithms 在程式設計階段寫出的解決問題步驟 策略或方法 起床穿衣刷牙吃飯上班脫衣洗澡 起床刷牙脫衣洗澡穿衣吃飯上班 起床到上班之過程 動作順序 2020 2 26 31 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式演算法演算法的表示 一般語言文字虛擬碼流程圖 Letcounter 1Lettotal 0whilecounter 10total total counteradd1tocounteroutputthetotal 虛擬碼 程式 2020 2 26 32 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式演算法 流程圖 敘述 程式處理過程或執行操作 結束 開始選擇判斷for while do while流程 連結各操作的執行順序 連結 連結多個流程 函式 將資料存入檔案或裝置 I O 2020 2 26 33 C C 程式設計 第一篇程式設計基礎 如何設計C應用程式 Letcounter 1Lettotal 0whilecounter 10total total counteradd1tocounteroutputthetotal 2020 2 26 34 C C 程式設計 第一篇程式設計基礎 C應用程式的開發環境C應用程式的開發步驟使用C語言設計程式時 在開發過程中皆會有對應之工具程式 具備這些工具就建立了C語言開發環境 期開發過程如下 編輯程式碼 Editing C語言是標準的ANSI文字檔 C語言程式碼檔案的副檔名為filename c 2020 2 26 C C 程式設計 35 第一篇程式設計基礎 C應用程式的開發環境C應用程式的開發步驟編譯程式碼 Compiling 將原始程式碼轉換成指定CPU機器語言的目標檔 ObjectFiles 其副檔名為filename obj連結函式庫 Linking 由於C語言的功能很多是由函式庫提供 而連結函式庫是將這些含式庫和模組的目標檔連結到應用程式 以便建立可執行之執行檔 在Window作業系統之執行檔副檔名為filename exe執行應用程式 Excuting 在Window作業系統視窗具備執行功能選單 2020 2 26 C C 程式設計 36 第一篇程式設計基礎 C應用程式的開發環境C語言的開發環境在視窗作業系統 建立C語言的開發環境的工具 editor compiler linker 皆以整合在完整之開發環境 稱為整合開發環境 IntegratedDevelopmentEnvironment IDE 2020 2 26 C C 程式設計 37 第一篇程式設計基礎 第一個C程式與C程式架構 sourceprogram 正確 compile yes no errormessage 修改 OBJfile link 庫存函式 正確 errormessage 修改 no yes 載入執行 執行正確 runtimeerror EXEfile 編輯 c 編譯 obj 連結 exe 執行 2020 2 26 C C 程式設計 38 第一篇程式設計基礎 第一個C程式與C程式架構利用MSVisualC Express2005版之IDE 建立第一個C程式 基本操作步驟 Step1 啟動IDE新增原始檔案 某些IDE需要先建立專案 Project 或工作空間 Workspace 才能新增程式碼檔案 Step2 在編輯視窗輸入C程式碼 儲存C原始程式碼檔案 副檔名為filename c 執行視窗功能選單的功能表指令 即可一次做完編譯 連結與執行C應用程式 2020 2 26 C C 程式設計 39 第一篇程式設計基礎 第一個C程式與C程式架構先安裝MSVisualC Express2005版IDE系統 參考隨書附光碟 電子書 C 附錄B 範例 2020 2 26 C C 程式設計 40 第一篇程式設計基礎 第一個C程式與C程式架構範例 程式說明C程式的基本架構是由含括標頭檔 函數原型宣告和全域變數宣告 請參考課本p 1 26 include及 include二者是標頭檔 其中是輸入 輸出 print 函式庫 是C語言的工具函式庫 這都是程式中print system指令需要系統的支援 而這種遊戲統直接支援之處理方式則是前處理 Preprocess 之過程 2020 2 26 C C 程式設計 41 第一篇程式設計基礎 範例 程式說明主程式 Main 函數是C語言之主程式 且式程式執行之進入點 參數void表示沒有參數 傳回值的資料型態是int 指令結束以分號表示 指令的執行由前往後一步一步依順序執行 要輸出一個句子就使用下面的指令printf 如果加了 n 就會換行 System函數可以在C程式執行MS DOS指令Return指令可以傳回main 主程式的傳回值 傳回至作業系統 intmain void 指令 指令 2020 2 26 C C 程式設計 42 第一篇程式設計基礎 C C 語言寫作風格C語言的寫作風格舊式撰寫C語言程式的規則程式敘述程式區塊程式註解程式寫作技巧太長之程式碼程式碼縮排 2020 2 26 C C 程式設計 Q 小弟現在第一份工作是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论