Download presentation
Presentation is loading. Please wait.
Published byJasper Maurer Modified 6年之前
1
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
2
C++ 的基本語法和使用環境 2.1 基本程式開發步驟 2.2 第一個完整的C++ 程式
2.1 基本程式開發步驟 2.2 第一個完整的C++ 程式 2.3 Borland C++ 編譯器的取得和安裝使用 2.4 Visual C++.NET程式開發步驟 2.5 第二個C++ 程式 2.6 C++ 代號的命名規則
3
基本程式開發步驟 1. 編輯 (edit) 2. 前處理 (preprocess) 3. 編譯 (compile) 4. 聯結 (link)
5. 裝載 (load) 6. 執行 (execute)
4
基本程式開發步驟示意圖
5
2.2 第一個完整的C++ 程式 // Test.cpp // 程式的目的是在顯示器上顯示一行文字
#include <iostream> using std::cout; using std::endl; // -- 程式主體部份 int main() { cout << "Hello, 您好!" // 主要的敘述 << endl; return 0; } 這個程式包括了註解(comments)、前處理指令(preprocessor directives)以及程式主體三個部份。
6
註解的目的 1. 在每個檔案的開頭置入一段文字, 以便於日後追查。 2. 補充說明變數和函數等自行定義的 元件之意義,以及使用上的注意事項。
1. 在每個檔案的開頭置入一段文字, 以便於日後追查。 2. 補充說明變數和函數等自行定義的 元件之意義,以及使用上的注意事項。 3. 使程式更容易閱讀。 4. 將程式的某些部份暫時轉成註解,可以不 用真的把該部份程式刪除,隨時可以恢 復,避免重複輸入。
7
註解的兩種做法 1.從雙斜線「//」的右邊開始,一直到整行結束,都視為註解。
2. 以「/*」開頭,一直到「*/」,中間所包括的文數字或符號都視為註解。
8
註解的兩種形式 /* Test.cpp 程式的目的是在顯示器上顯示一行文字 */ #include <iostream>
using std::cout; using std::endl; // 程式主體部份 int main() { cout << "Hello, 您好!" /* 主要的敘述 */ << endl; return 0; }
9
前處理指令 (preprocessor directives)
以符號 # 開頭的指令行在程式編譯前就會由前處理器先行處理,每個前處理指令都必需佔據獨立的一行指令。 #include <iostream> 指令行 using std::cout; using std::endl; 稱為using宣告 (using declaration)。
10
程式主體 C++ 程式可能含有一個或一個以上的函數,但只能有一個叫做main。
不管main() 是不是程式中第一個出現的函數,程式都是從main() 開始執行。 在main() 左邊的關鍵字int表示main() 的執行結果將會傳回一個整數。與程式本體內的最後一個敘述 return 0; 是對應的。
11
cout 和 endl cout << "Hello, 您好!" << endl;
「cout」唸作C-Out,代表由標頭檔 <iostream> 定義的一個輸出資料流物件 (output stream object)。運算符號「<<」稱為資料流插入運算子 (stream insertion operator)。 「endl」是一種格式操縱子 (manipulators),用來設定輸出格式。
12
程式 Test.cpp 的更簡略形式 #include <iostream> using namespace std;
int main() { cout << "Hello, 您好!" << endl; return 0; }
13
using 指令 (using directive)
using namespace std; 在using指令之後,所有名稱空間 std內的標準元件都開放出來,不再受限,所以不需要在使用「using std:cout;」 和「using std::endl;」兩個using宣告。
14
C++ 程式的編排方式 下列的寫法都可以產生正確的輸出結果: (1) #include <iostream>
using namespace std; int main() { cout << "Hello, 您好!" << endl; } (2) int main() { cout << "Hello, 您好!" << endl;} (3) int main() {
15
延遲 DOS 視窗畫面自動關閉的方法 // TestW.cpp // 延遲DOS畫面自動關閉
#include <iostream> using namespace std; // 程式主體部份 int main() { cout << "Hello, 您好!" << endl; system(”PAUSE”); return 0; }
16
從 Windows XP 檔案總管直接以滑鼠執行 TestW.exe
17
Edit-Compile-Run 的程式開發流程循環。
18
使用 Borland 編譯器在 DOS 下編譯和執行範例程式 Test.cpp
19
Visual C++.NET 程式開發步驟 啟動Visual C++.NET
20
Visual Studio.NET 的「起始頁」
21
建立新專案
22
「Win32 應用程式精靈」視窗
23
Visual Studio.NET 的設計視窗
24
PTest.cpp #include "stdafx.h" using namespace std; int main() {
cout << "Hello, 您好!" << endl; cin.get () ; return 0; }
25
完成後的程式碼視窗如下圖所示:
26
接著在工具列中按下「全部儲存」鈕:
27
再按下工具列中的「啟動」鈕:
28
要求重新編譯和執行的「Microsoft Development Environment 視窗」
29
執行結果
30
開啟舊專案
31
插入檔案 「新增檔案」視窗
32
加入標頭檔
33
「另存新檔」視窗,完成加入檔案的動作
34
變數的宣告和使用 所有C++ 程式內的變數都要經由宣告才能使用。 或 int x, y, Sum; int x; // 第一個輸入整數
int y; // 第二個輸入整數 int Sum; // 兩個整數的和
35
宣告敘述與記憶體空間的對應關係
36
變數宣告的兩重含意 1. 指定在記憶體內的空間大小 2. 規定這個變數所能接受的運算
37
rval (right value) 和 lval (left value)
指派運算子「=」右邊的運算元稱為rval (右值),它必須在這個敘述處理前就有確定的值。指派運算子「=」左邊的運算元稱為lval (左值),準備用來存入rval的值;它必須具有足夠的記憶空間,而且是屬於相容的資料型態。
38
輸入資料流物件 (input stream object) 「cin」
用來配合資料流擷取運算子 (stream extraction operator),「>>」,把來自鍵盤的輸入讀進執行中的程式。例如:cin >> x; cin和cout都是定義於標頭檔<iostream>,也使用std做為namespace。
39
從顯示器輸出訊息 cout << “請輸入第一個整數\n”;
cout << “請輸入第一個整數” << endl;
40
第二個 C++ 程式 Sum.cpp // Sum.cpp // 要求使用者輸入兩個整數,並把計算結果輸出
#include <iostream> using namespace std; int main() { int x; // 第一個輸入整數 int y; // 第二個輸入整數 int Sum; // 兩個整數的和 cout << "請輸入第一個整數\n"; cin >> x; cout << "請輸入第二個整數\n"; cin >> y; Sum = x + y; cout << "這兩個整數的和是: " << Sum << endl; return 0; }
41
程式 Sum.cpp 的操作過程
42
C++ 代號(identifiers)的命名規則
1. 代號由英文字母、數字和底線符號 「_」構成,長度不限。 2. 英文字母的大小寫不同。 3. 開頭不可以用數字。 4. 不可以使用C++ 內設的關鍵字 (keywords)。
43
C++ 的74個關鍵字。 and and_eq asm auto bitand bitor bool break case catch
char class compl const const_cast continue default delete do double dynamic cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new not not_eq operator or or_eq private protected public register reinterpret_c return ast short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq
44
C++ 的代號 (identifiers) 1. 可以接受的代號: Tax Tax_Paid TaxPaid a1
velocity A_1 _GoodDay 2. 錯誤的命名方式: 1b %a -x 合計 asm you&me
Similar presentations