Presentation is loading. Please wait.

Presentation is loading. Please wait.

程式設計(二) 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2

Similar presentations


Presentation on theme: "程式設計(二) 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2"— Presentation transcript:

1 程式設計(二) 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2
程式設計(二) 參考書目: 1.洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. Walter Savitch, Absolute C++ (4th Edition), Pearson Education, Inc., Paul J. Deitel and Harvey M. Deitel, C++ How to Program, 7rd Edition, Prentice Hall, 2009.(中文版 C++ 程式設計藝術 第五版 全華書局) C++ 導論 Chih-Hung Wang

2 緣起 C/C++ C語言是於1972年所發展出來的語言 C++ 於1980年開始發展
將物件導向(object oriented)加入C語言中 稱為「C with classes」程式語言

3 C++ 的特色 (1/3) C++具有下列的幾項特色: 向下相容C語言

4 C++ 的特色 (2/3) 具物件導向技術的語言 物件導向程式設計(OOP)具有的相關技術 「封裝」 「繼承」 「多型」 靈活的程式流程控制

5 C++ 的特色 (3/3) 高效率且可攜性佳的語言 程式碼的再利用 C++在執行前必須先經過編譯,執行效率遠高於直譯式語言
可在修改少許程式碼的情況下,便能在不同的作業系統執行 程式碼的再利用 可依據原有類別所提供的功能,再加上新的需求,進而設計 出新的類別,便是程式碼的「再利用」 程式碼的再利用可減少程式碼的開發時間與費用

6 規劃與實作 (1/2) 1. 規劃程式 常用的流程圖符號 繪製流程圖的範例

7 規劃與實作 (2/2) 2. 撰寫程式碼及註解 3. 編譯程式 4. 連結程式 5. 偵錯與測試 6. 程式碼的修飾與儲存
語意錯誤(semantic error) 語法錯誤(syntax error) 6. 程式碼的修飾與儲存

8 程式碼的編輯到執行 (1/2) 第一個C++程式

9 程式碼的編輯到執行 (2/2) 下面的視窗為鍵入程式碼之後的情形 : 程式碼經過編譯與執行後的執行結果

10 簡單的C++程式 (1/2)

11 簡單的C++程式 (2/2) main() 函數的傳回值型態及引數型態的設定

12 關於ANSI/ISO C++的標準 C++標頭檔可能有下面四種型態
C語言的標頭檔:以「.h」結尾 C++語言的標頭檔:以「.h」結尾 ANSI/ISO C++新標準的標頭檔:沒有副檔名 從C移植過來的標頭檔,沒有副檔名,字首加小寫的c 新版的ANSI/ISO C++必須利用using namespace來設定 名稱空間為std

13 #include指令及標頭檔 (1/2) 標頭檔(header file)永遠被含括在程式碼的起頭處 右圖為含括動作前後的比較

14 #include指令及標頭檔 (2/2) 標頭檔的內容

15 編譯與執行過程的解說 原始程式編譯及連結的過程

16 主函數、大括號、區塊與主體(1/2) 主函數main() 大括號、區塊及主體 main() 是程式執行的開端
每個C++程式必須有一個main(),而且只能有一個 大括號、區塊及主體 區塊從左大括號({)開始,到右大括號(})結束 指令敘述結束時,以分號「;」做結尾

17 主函數、大括號、區塊與主體(2/2) 下面的範例說明什麼是程式區塊

18 變數 (1/2) 變數的宣告 變數的資料型態 資料型態有char, int, bool, long, short, float與double等 數值型態變數可分為有號(sign)或是無號(unsigned)

19 變數 (2/2) 變數名稱與限制 通常會以變數所代表的意義來取名。 自訂變數的名稱不能使用到關鍵字。
變數名稱的字元可以是英文字母、數字或底線。 名稱中不能有空白字元,且第一個字元不能是數字

20 變數的設值 方法1 在宣告的時候設值 方法2 宣告後再設值 方法3 在程式中的任何位置宣告並設值

21 為什麼要宣告變數 直譯式語言不需要宣告變數 編譯程式可找到錯誤的變數名稱,避免變數名稱誤用 將變數集中宣告時,在系統維護上也就容易得多

22 名稱空間 04 using namespace std;
是用來設定名稱空間為 std。在 ANSI/ISO C++ 最新規範中, C++ 標準函數庫裡所包含的函數、類別及物件均是定義在 std 這個名稱空間內,所以必須指名其使用之名稱空間為 std,以便使用 C++ 所提供之標準程式庫。(以後會詳述) 如 endl, cin 及 cout 之使用 09 std::cout<<“I have” <<num << “ apples.”<<std::endl;

23 cout與串接運算子<< C++是採cout與「串接運算子<<」來輸出 以cout顯示字串:

24 換行輸出的範例 下面是把字串換行輸出的範例

25 識別字 (1/2) 識別字是使用者用來命名變數或者是函數的文字 變數與函數的名稱均是識別字(identifier)
為識別字命名時,只要能代表變數的意義即可

26 識別字 (2/2) 識別字的習慣命名原則

27 關鍵字 關鍵字(keyword)是編譯程式本身所使用的識別字 C++使用的關鍵字:

28 錯誤的分類 錯誤分為 語法錯誤(syntax error) 語意錯誤(semantic error)。 語法錯誤就是語法不符合C++的規定
語法正確,但執行結果不符合要求

29 語法錯誤 下面是有語法錯誤的程式

30 語意錯誤 執行結果不符合要求,可能犯了語意錯誤

31 程式碼請用固定字距 (1/2) 下面的程式碼是用固定字距

32 程式碼請用固定字距 (2/2) 下面的程式碼是用比例字距

33 將程式碼縮排 (1/2) 有縮排的程式碼可提高可讀性

34 將程式碼縮排 (2/2) 下面的例子因為撰寫風格的關係,閱讀起來較為困難

35 註解 註解有助於程式的閱讀與偵錯。 以「/*」開始,「*/」結尾,將欲註解的文字括起來

36 使用註解的目的 在程式碼起始處加入一段說明文字 將變數、函數、類別或是程式碼的作用寫出 在除錯的過程中,避免重複輸入,浪費時間

37 另一個 C++ 例子

38 Arithmetic Operators (更多範例) Display 1.4 Named Constant (1 of 2)
Standard Arithmetic Operators Precedence rules – standard rules

39 Arithmetic Operators: Display 1.4 Named Constant (2 of 2)

40 補充教材 Code::Blocks 使用介紹
Code::Blocks 為 open source 的 IDE。 跨平台 Windows、Mac OS X、Linux 等 之IDE。 支援多種編譯器 GCC / MinGW、 Microsoft Visual C++ Intel ICC 下載網站


Download ppt "程式設計(二) 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2"

Similar presentations


Ads by Google