C與C++ C++語言具有物件導向的功能,易於開發、撰寫與偵錯,成為重要系統的開發工具之一。 Windows 作業系統的主要程式,包括 Windows 本身、Office 軟體、各大應用軟體、遊戲軟體等,也是以 C/C++ 語言設計。
C/C++語言的發展(1/4) C++是由 C 語言為基礎所延伸的程式語言。 1972年,貝爾實驗室的 Dennis Ritchie 以 B 語言為基礎,設計出 C 語言。 C 語言擁有底下的特點:程式可攜性高,具有跨平台能力、程式輕薄短小,執行效率高、具低階處理能力,例如允許程式設計者對於記憶體內容直接進行處理。 1973年 Ken Thompson 和 Dennis Ritchie用 C 語言改寫 Unix作業系統的核心,這是 C 語言第一次應用在作業系統的核心編寫上,取代早期作業系統的核心大多由組合語言編寫。
C/C++語言的發展(2/4) C 語言的歷史,可說和 UNIX 的發展密不可分,故現今 UNIX 系列的作業系統(包括 Linux、FreeBSD)的大部分程式皆是由 C 語言設計出來。 1983年,貝爾實驗室的 Bjarne Sroustrup 於 C 語言中加入了 class (類別)的概念,以及物件導向的概念,產生出 C++ 語言。
C/C++語言的發展(3/4) C++也導入物件導向程式設計(Object-Oriented Programming)的概念,而這種概念的引進,讓程式設計的工作更加容易修改,而且在程式碼的重複使用及擴充性有更強的功能,自然更足以因應日益複雜的系統開發。 許多新興的程式語言也都以 C/C++ 的語法為基礎,如 Java、網頁前端程式 JavaScript、動態網頁技術的 PHP 和 Flash 動畫的控制語法 Action Script,在語法上和 C/C++ 都很相似,因此只要學會了 C 語言,學會其他語言應很快就可以上手。
C/C++語言的發展(4/4) C/C++ 語言,廣泛使用於系統與應用軟體的開發,C 語言在開發 FirmWare 及 Embedded System 更具重要角色。
組合語言 & C++ if (a>10) a=a+5 else a=a-3 cmp ax,10 jl large sub ax,3 jump next large: add ax,5 next : 高階語言 易學習、相容性高及移植性高 執行速度較慢 組合語言 執行速度較快
程式師可將類別設計完成後,分送給其它程式設計師使用。程式設計師依據原有類別功能,再依需求,增加新功能成為新的類別。 人事單位 類別 A: 人事基本資料類,並提供員工薪資查詢 製造單位 類別B繼承類別A 類別 B : 提供生產獎金計算功能 查詢類別A的員工薪資,再依員工生產計算獎金 具備物件導向技術的語言 減少程式 debug 時間
物件觀念說明 類別/封裝 繼承 多型 車子類別 休旅車 貨車 屬性(property) 1.車子顏色 2.引擎cc數 3.引擎號碼 方法(method) 計算行駛里程數 休旅車 貨車 在物件導向的觀念中,將世界萬物皆視為物件,物件是一個具體事物的描述,例如一隻鳥、一條魚、一個人、一輛車、一棟房子等,這些具體事物以物件導向的點來說,都是一個「物件」。 方法(method) 方法(method) 計算行駛里程數 計算行駛里程數 取得引擎號碼 屬性(property) 1.最高載重量
什麼目的/誰使用/什麼功能
語意錯誤及語法錯誤 語意錯誤 語法錯誤 int grade; grade = 50; if (grade >= 60 ) Cnout << “Test” << end; Cout << “test” << endl; int grade; grade = 50; if (grade >= 60 ) cout << "A" << endl; else cout << “A” << endl; //應為 B
編譯 1.檢查程式語法 2.檢查自訂變數 3.讀取標頭檔,檢查程式 使用函數是否合乎規則 編譯完成不代表結果執行正確, 因為它無法檢查語意錯誤
打字練習 鍵盤手指按法 鍵盤手指按法(動畫) 免費打字軟體 免費打字軟體下載