C++ 範例教學手冊 課程簡報大綱
第一章 認識  Visual C++ <ul><li>電腦簡介 </li></ul><ul><li>Visual C++  簡介 </li></ul><ul><li>程式初瞥  </li></ul><ul><li>Visual C++ 的程式架...
1-1 電腦簡介 <ul><li>電腦 (Computer) 是由許多不同功能的電子零件及機械裝置所組成,因為它能執行算術運算,所以也稱為 電子計算機 (Electronic Computer) ,簡稱 計算機。 </li></ul><ul><...
1-1-1  電腦硬體 <ul><li>腦硬體包括 中央處理單元、記憶體、資料儲存媒體 及 輸出入設備。 </li></ul>
1-1-2  資料的儲存格式 <ul><li>料儲存在記憶體是以電壓的高低來表示,因此我們以 0 和 1 來對應電壓的高低,也就是說記憶體靠著電流來保存一連串的 0 和 1 資料。 </li></ul><ul><li>資料存在儲存媒體是則以磁性...
1-1-3  電腦軟體 <ul><li>電腦軟體是提供電腦指令的程式,分系統軟體與應用軟體兩大部分: </li></ul><ul><ul><li>系統軟體用來開發或執行其他的軟體,分作業系統與轉換系統。 </li></ul></ul><ul><...
1-1-4  電腦程式 <ul><li>電腦軟體是由許多電腦程式 (Computer Program) 所組成,電腦程式是供電腦執行的一系列指令 (Instructions) 。撰寫電腦程式的工具叫程式語言 (Program Language)...
1-1-5  電腦程式的開發 <ul><li>一個應用系統的開發一般是先做系統分析與系統設計,系統設計以後定出各程式的規範,就可進行程式的開發。程式的開發是先撰寫程式碼 (Coding) ,再進行程式轉換與測試,轉換有錯回頭修改程式碼,再重新轉...
1-1-6  電腦程式的偵錯 <ul><li>在程式開發過程,從撰寫程式碼開始到程式完全可用,會經歷許多錯誤,包括: </li></ul><ul><ul><li>轉換時錯誤 (Compile-time errors) ( 又稱語法錯誤 Synt...
1-2 Visual C++ 簡介 <ul><li>Visual C++ .NET 的老祖宗叫C語言,C語言是一種可以在 MS-DOS 下執行的程式語言,它的執行能力介於高階語言與低階語言之間,它的檔案小與速度快,僅次於組合語言。 </li><...
1-2-1 Visual C++.NET <ul><li>微軟 (Microsoft) 公司為支援其視窗系統,將其開發或併購的程式語言,加上開發視窗程式的功能外,也將程式碼的編輯、編譯、偵錯與測試等功能包裝成一個視覺化軟體開發套件 SDK ,取...
1-2-2 Visual C++ 的運作方式 <ul><li>Visual C++ 程式語言兼具編譯與直譯的功能,它的中介語言檔可以讓你的程式「寫一次,到處可執行」,也就是說 Visual C++ 程式有 跨平台 (Platform Indep...
1-2-2 Visual C# 的運作方式
1-2-3  Visual C++  的作業平台 <ul><li>Visual C++ 作業平台 .NET Framework 包含 類別庫 (FCL, Framework Class Library) ,以及 共同語言執行環境 (CLR, C...
1-3 程式初瞥 <ul><li>學習程式撰寫不是研究電腦理論,而是熟悉程式語法的使用,程式語法有許多,不論簡單或複雜的語法,都必須置於一定的架構下。開始時我們先用最簡單的程式敘述句介紹 Visual C++  程式的架構。 </li></ul>
1-3-1  SDK  的安裝 <ul><ul><li>執行 vcsetup 安裝程式,出現 Visual Studio 2008 Express Edition 安裝程式歡迎畫面,按下 下一步 按鈕。 </li></ul></ul><ul><...
1-3-2  IDE  介面說明 <ul><li>安裝完成後首次啟動 Visual Studio 2008 Express Edition 程式,出現 IDE 整合工作視窗: </li></ul><ul><li>第一次出現的整合工作視窗除了標準...
1-3-2  IDE  介面說明
1-3-3  HelloWorld 實例 <ul><li>製作原始檔 </li></ul><ul><li>在功能列上點選 檔案 > 新增 > 專案,出現 新增專案 視窗後,點選  Win32 專案類型以及  Win32 主控台應用程式 的安裝範...
1-3-3  HelloWorld 實例 <ul><li>將原始檔轉換成中介語言 MSIL 檔 </li></ul><ul><ul><li>在 Visual C++ IDE 視窗功能列選擇 建置 > 建置方案  ( 快速鍵  F7) 。 </l...
1-4 Visual C++  的程式架構 <ul><li>任何程式都有它一定的架構,撰寫  Visual C++ 程式就要在  Visual C++ 程式的架構下,佈置各種程式指令。 </li></ul>
1-4-1  程式模版  (Template) <ul><li>每種程式語言都有自己的架構,  Visual C++ 程式的架構模式如下: </li></ul>
1-4-2  程式註解 <ul><li>註解說明在任何程式語言都是必要的項目,因為程式並不是只給電腦 ( 轉換程式 ) 或設計人員看的,其他的相關人員也需要看得懂,所以為了方便閱讀,必須要在程式適當的地方加上說明文字。 </li></ul><u...
1-4-3  函式標頭檔  (Head File) <ul><li>如果程式用到系統函式或自訂的外部函式,就要指定所使用函式的標頭檔,語法是以 #include 關鍵字來定義。例如在程式中使用到資料輸出的函式 printf ,由於 printf...
1-4-4  程式標頭  (Header) <ul><li>每個 Visual C++ 程式可以包含許多函式,但其中只有一個叫做 main 的主函式,它是系統進入程式的 切入點 (Entry point) ,程式的執行是由此開始,可以稱為 程式...
1-4-5  函式使用 (Method Call) <ul><li>函式 的使用是程式指令的一種,「 Hello World 」程式用到 iostream 內的 printf 函式,它可以將指定的字串顯示在螢幕上。 iostream 是 Vis...
1-5 命名空間  (Namespaces) <ul><li>每個程式都難免用到視為「黑箱」的系統函式或自定函式,在程式編譯時必須知道「黑箱」的內容,命名空間 就是用來指示編譯器函式內容的所在位置。 </li></ul>
1-5-1  何謂命名空間 <ul><li>C++  在處理模組程式也是一樣: System 是一個大分類, Console 是 System 下的小分類, Write() 和 WriteLine() 是裡面的模組程式。我們在使用 Write(...
1-5-2  命名空間的使用 <ul><li>在命名空間裡有許多不同功能的物件供許多程式共同使用,如果要引用命名空間裡的物件,必須使用物件的全名 ( 即命名空間名稱加上物件名稱 ) 。例如:  </li></ul>
1-5-3  如何自訂命名空間 <ul><li>在類別的原始碼最前面加一行  namespace namespacename; , namespace  是保留字, namespacename  是命名空間名稱,是層狀目錄,各層目錄名稱之間以兩...
Upcoming SlideShare
Loading in …5
×

C++

1,233 views

Published on

++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,233
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

C++

  1. 1. C++ 範例教學手冊 課程簡報大綱
  2. 2. 第一章 認識 Visual C++ <ul><li>電腦簡介 </li></ul><ul><li>Visual C++ 簡介 </li></ul><ul><li>程式初瞥 </li></ul><ul><li>Visual C++ 的程式架構 </li></ul><ul><li>命名空間 (Namespaces) </li></ul>
  3. 3. 1-1 電腦簡介 <ul><li>電腦 (Computer) 是由許多不同功能的電子零件及機械裝置所組成,因為它能執行算術運算,所以也稱為 電子計算機 (Electronic Computer) ,簡稱 計算機。 </li></ul><ul><li>電腦基本上包括 硬體 (Hardware) 與 軟體 (Software) 兩大部分:硬體是一組可執行程式的實體,軟體是可提供電腦指令的程式。 </li></ul>
  4. 4. 1-1-1 電腦硬體 <ul><li>腦硬體包括 中央處理單元、記憶體、資料儲存媒體 及 輸出入設備。 </li></ul>
  5. 5. 1-1-2 資料的儲存格式 <ul><li>料儲存在記憶體是以電壓的高低來表示,因此我們以 0 和 1 來對應電壓的高低,也就是說記憶體靠著電流來保存一連串的 0 和 1 資料。 </li></ul><ul><li>資料存在儲存媒體是則以磁性的正負來表示,因此我們以 0 和 1 來對應磁性的正負,也就是說儲存媒體靠著磁性來保存一連串的 0 和 1 。 </li></ul><ul><li>由於電腦只能處理 0 和 1 資料,也就是二進位數系的資料,而我們習慣使用十進位數系的資料,因此資料進出記憶體必須經過轉換。 </li></ul>
  6. 6. 1-1-3 電腦軟體 <ul><li>電腦軟體是提供電腦指令的程式,分系統軟體與應用軟體兩大部分: </li></ul><ul><ul><li>系統軟體用來開發或執行其他的軟體,分作業系統與轉換系統。 </li></ul></ul><ul><ul><li>應用軟體是為了解決特殊問題或提供特別服務的程式,如上網的 IE 、繪圖的 AutoCAD 等。 </li></ul></ul>
  7. 7. 1-1-4 電腦程式 <ul><li>電腦軟體是由許多電腦程式 (Computer Program) 所組成,電腦程式是供電腦執行的一系列指令 (Instructions) 。撰寫電腦程式的工具叫程式語言 (Program Language) ,它使用一些特定的字彙、語法來規範撰寫規則。電腦工程上有許多種的程式語言,就好像世界上有許多國家語言一樣。 </li></ul><ul><li>一個程式是由許多的 敘述句 (Statements) 或稱 指令 (Instructions) 所組成。每一個句子必須遵循一定的程式語法 (Syntax) 並提供一定的語意 (Semantics) 。 </li></ul>
  8. 8. 1-1-5 電腦程式的開發 <ul><li>一個應用系統的開發一般是先做系統分析與系統設計,系統設計以後定出各程式的規範,就可進行程式的開發。程式的開發是先撰寫程式碼 (Coding) ,再進行程式轉換與測試,轉換有錯回頭修改程式碼,再重新轉換。測試有錯也要回頭修改程式碼,再重新轉換與測試。 </li></ul>
  9. 9. 1-1-6 電腦程式的偵錯 <ul><li>在程式開發過程,從撰寫程式碼開始到程式完全可用,會經歷許多錯誤,包括: </li></ul><ul><ul><li>轉換時錯誤 (Compile-time errors) ( 又稱語法錯誤 Syntax errors) :程式碼含有語法上的錯誤,無法產生執行檔或機器碼。 </li></ul></ul><ul><ul><li>執行時錯誤 (Run-time errors) :執行檔或機器碼執行時發生未控制的錯誤,錯誤訊息由作業系統送出。 </li></ul></ul><ul><ul><li>邏輯錯誤 (Logical errors) :執行檔或機器碼執行時產生非預期的結果。 </li></ul></ul>
  10. 10. 1-2 Visual C++ 簡介 <ul><li>Visual C++ .NET 的老祖宗叫C語言,C語言是一種可以在 MS-DOS 下執行的程式語言,它的執行能力介於高階語言與低階語言之間,它的檔案小與速度快,僅次於組合語言。 </li></ul><ul><li>後來的 C++ 是由 C 所發展出來,除了增加許多軟體公司提供的函式外,設計概念也增加了物件導向的寫法,但是基本語法幾乎仍是一樣。 </li></ul>
  11. 11. 1-2-1 Visual C++.NET <ul><li>微軟 (Microsoft) 公司為支援其視窗系統,將其開發或併購的程式語言,加上開發視窗程式的功能外,也將程式碼的編輯、編譯、偵錯與測試等功能包裝成一個視覺化軟體開發套件 SDK ,取名 Visual XXX( 在原程式名稱前冠上 Visual) ,其中 Visual C++ 是微軟根據 ANSI C/C++ 規格所研發的微軟版 C++ 。由於各 Visual 程式的環境都不盡相同,因此 1995 年推出 Visual Studio 4.0 ,整合了各 Visual 程式的開發介面,並使各語言可以互相使用彼此的資源。 </li></ul>
  12. 12. 1-2-2 Visual C++ 的運作方式 <ul><li>Visual C++ 程式語言兼具編譯與直譯的功能,它的中介語言檔可以讓你的程式「寫一次,到處可執行」,也就是說 Visual C++ 程式有 跨平台 (Platform Independence) 的功能,在任何裝有 Visual C++ 編譯程式的作業系統上編譯好的程式,可以在任何裝有 .NET Framework 的作業系統上執行。 </li></ul>
  13. 13. 1-2-2 Visual C# 的運作方式
  14. 14. 1-2-3 Visual C++ 的作業平台 <ul><li>Visual C++ 作業平台 .NET Framework 包含 類別庫 (FCL, Framework Class Library) ,以及 共同語言執行環境 (CLR, Common Language Runtime) 。 </li></ul>
  15. 15. 1-3 程式初瞥 <ul><li>學習程式撰寫不是研究電腦理論,而是熟悉程式語法的使用,程式語法有許多,不論簡單或複雜的語法,都必須置於一定的架構下。開始時我們先用最簡單的程式敘述句介紹 Visual C++ 程式的架構。 </li></ul>
  16. 16. 1-3-1 SDK 的安裝 <ul><ul><li>執行 vcsetup 安裝程式,出現 Visual Studio 2008 Express Edition 安裝程式歡迎畫面,按下 下一步 按鈕。 </li></ul></ul><ul><ul><li>出現授權確認畫面,勾選接受合約後,按下 下一步 按鈕。 </li></ul></ul><ul><ul><li>出現安裝選項畫面,勾選安裝選擇性產品 ( 可不勾選 ) 後,按下 下一步 按鈕。 </li></ul></ul><ul><ul><li>出現安裝資料夾畫面,鍵入安裝的資料夾後,按下 安裝 按鈕。 </li></ul></ul><ul><ul><li>出現下載及安裝進行畫面。 </li></ul></ul><ul><ul><li>安裝完成後出現安裝完成畫面,按下 結束 按鈕,完成 Visual Studio 2008 Express SDK 的安裝。 </li></ul></ul>
  17. 17. 1-3-2 IDE 介面說明 <ul><li>安裝完成後首次啟動 Visual Studio 2008 Express Edition 程式,出現 IDE 整合工作視窗: </li></ul><ul><li>第一次出現的整合工作視窗除了標準配置外,還包括三個小視窗:方案總管、起始頁 及 程式碼定義視窗。 </li></ul>
  18. 18. 1-3-2 IDE 介面說明
  19. 19. 1-3-3 HelloWorld 實例 <ul><li>製作原始檔 </li></ul><ul><li>在功能列上點選 檔案 > 新增 > 專案,出現 新增專案 視窗後,點選 Win32 專案類型以及 Win32 主控台應用程式 的安裝範本,並輸入專案名稱及路徑,然後按下 開啟 按鈕。 </li></ul><ul><li>將程式碼存檔 </li></ul><ul><li>點選 檔案 > 全部儲存 存回所有的變動,如果是使用 WordPad ,於檔名欄輸入「 &quot;HelloWorld.cpp&quot; 」 ( 檔名前後要有雙引號 ) ,檔案格式要選純文字檔 (Text Document) 。 </li></ul>
  20. 20. 1-3-3 HelloWorld 實例 <ul><li>將原始檔轉換成中介語言 MSIL 檔 </li></ul><ul><ul><li>在 Visual C++ IDE 視窗功能列選擇 建置 > 建置方案  ( 快速鍵 F7) 。 </li></ul></ul><ul><ul><li>如果是使用 WordPad 編輯,就必須進入 命令提示字元 視窗執行 cl 編譯程式 </li></ul></ul><ul><li>執行編譯好的 MSIL 檔 </li></ul><ul><ul><li>在 Visual C++ IDE 視窗功能列選擇 偵錯 > 啟動但不偵錯 後即自動執行。 </li></ul></ul><ul><ul><li>如果是使用 WordPad 編輯,就必須進入 命令提示字元 視窗輸入 「 HelloWorld 」。執行結果會在 命令提示字元 視窗顯示「 Hello World! 」。 </li></ul></ul>
  21. 21. 1-4 Visual C++ 的程式架構 <ul><li>任何程式都有它一定的架構,撰寫 Visual C++ 程式就要在 Visual C++ 程式的架構下,佈置各種程式指令。 </li></ul>
  22. 22. 1-4-1 程式模版 (Template) <ul><li>每種程式語言都有自己的架構, Visual C++ 程式的架構模式如下: </li></ul>
  23. 23. 1-4-2 程式註解 <ul><li>註解說明在任何程式語言都是必要的項目,因為程式並不是只給電腦 ( 轉換程式 ) 或設計人員看的,其他的相關人員也需要看得懂,所以為了方便閱讀,必須要在程式適當的地方加上說明文字。 </li></ul><ul><li>有二種方法用來標示備註說明: </li></ul><ul><ul><li>單行註解:在每一行說明前加上「 // 」符號。 </li></ul></ul><ul><ul><li>多行註解:在所有說明前加上「 /* 」符號,說明後加上「 */ 」符號。 </li></ul></ul>
  24. 24. 1-4-3 函式標頭檔 (Head File) <ul><li>如果程式用到系統函式或自訂的外部函式,就要指定所使用函式的標頭檔,語法是以 #include 關鍵字來定義。例如在程式中使用到資料輸出的函式 printf ,由於 printf 函式存在 iostream 的標頭檔中,所以在程式前面定義引用 iostream 標頭檔。 </li></ul><ul><li>標頭檔以「 .h 」為副檔名 (extension file name) 。 include 為引用的關鍵字,「 # 」號表示該行指令只供編譯器參考 (Compile directory) 。語法是: </li></ul>
  25. 25. 1-4-4 程式標頭 (Header) <ul><li>每個 Visual C++ 程式可以包含許多函式,但其中只有一個叫做 main 的主函式,它是系統進入程式的 切入點 (Entry point) ,程式的執行是由此開始,可以稱為 程式標頭,在標頭後面的一對大括弧內放有程式說明及程式指令 (statement) 的定義。 </li></ul>
  26. 26. 1-4-5 函式使用 (Method Call) <ul><li>函式 的使用是程式指令的一種,「 Hello World 」程式用到 iostream 內的 printf 函式,它可以將指定的字串顯示在螢幕上。 iostream 是 Visual C++ FCL 標頭檔之一,提供與資料輸出入有關的支援,例如將字串顯示在螢幕上。 </li></ul>
  27. 27. 1-5 命名空間 (Namespaces) <ul><li>每個程式都難免用到視為「黑箱」的系統函式或自定函式,在程式編譯時必須知道「黑箱」的內容,命名空間 就是用來指示編譯器函式內容的所在位置。 </li></ul>
  28. 28. 1-5-1 何謂命名空間 <ul><li>C++ 在處理模組程式也是一樣: System 是一個大分類, Console 是 System 下的小分類, Write() 和 WriteLine() 是裡面的模組程式。我們在使用 Write() 函式時要加上完整的搜尋路徑,讓編譯程式能夠找到 Write() 模組程式之所在,例如: </li></ul><ul><li>上述的搜尋路徑在 C++ 稱為 命名空間 (Namespaces) 。 </li></ul>
  29. 29. 1-5-2 命名空間的使用 <ul><li>在命名空間裡有許多不同功能的物件供許多程式共同使用,如果要引用命名空間裡的物件,必須使用物件的全名 ( 即命名空間名稱加上物件名稱 ) 。例如: </li></ul>
  30. 30. 1-5-3 如何自訂命名空間 <ul><li>在類別的原始碼最前面加一行 namespace namespacename; , namespace 是保留字, namespacename 是命名空間名稱,是層狀目錄,各層目錄名稱之間以兩個冒號 (::) 隔開。例如: </li></ul>

×