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

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

計算機程式語言實習課.
第 2 章 初探 C++.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
File Access 井民全製作.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
C++ Primer中文版 Chap1 Chap2
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Java簡介.
Visual C++ introduction
物件導向程式設計 CH1, CH2.
簡易C++除錯技巧 長庚大學機械系
第1章 認識Arduino.
Chen Yi Fen The C Language Chen Yi Fen
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Java程式概觀.
1. 檔案File  開新New  檔案Empty File (再另存新檔D:\hello.c)
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C語言簡介 日期 : 2018/12/2.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
第三單元 Control Structure II
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
Introduction to the C Programming Language
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
Java 程式設計 講師:FrankLin.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
VS.NET 2003 IDE.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
第 19 章 XML記憶體執行模式.
Name1..hour //加班時數 name2..hour //請假時數
|07 函數.
輸入&輸出 函數 P20~P21.
挑戰C++程式語言 ──第8章 進一步談字元與字串
物件導向程式設計 CH2.
VS.NET 2003 IDE.
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
如何使用Gene Ontology 網址:
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
C++程式設計入門 變數與運算子 作者:黃建庭.
利用 EditorConfig 自訂文字編輯器設定
第二章 类型、对象、运算符和表达式.
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
第 4 章 認識 SQL 語言與資料型別.
物件導向程式設計 參考書目: 1. 洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。 2. 陳錦揮,Java 初學指引,博碩文化 3
簡單Java介紹.
變數與資料型態  綠園.
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
安裝JDK 配置windows win7 環境變數
適用於多選一 可減少if 與 else配對混淆的錯誤.
作業系統實習課(二) -Scheduler-Related System Calls-
Programming & Language Telling the computer what to do
開發Java程式語言的工具 JDK.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
變數與資料型態  綠園.
C++ 程式語言.
Unix指令4-文字編輯與程式撰寫.
JUDGE GIRL 使用介紹 & 常見問題 TAs :
方法(Method) 函數.
InputStreamReader Console Scanner
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

另一個 C++ 例子

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

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

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