35
明明 C++ 明明明明 明明明明 明明 明

明解 C++ 教學手冊 柴田望洋 博士 著

  • Upload
    bozica

  • View
    417

  • Download
    17

Embed Size (px)

DESCRIPTION

明解 C++ 教學手冊 柴田望洋 博士 著. 第一章 畫面輸出與鍵盤輸入. 藉由從鍵盤輸入數值和字元,然後顯示在畫面上的程式來習慣 C++ 吧 !. 1-1 C++ 的歷史. C++ 是在 1980 年由 Bjarne Stroustrup 博士,以 Simula67 之物件導向概念與 C 語言為基礎,所改良而成的程式語言。. 1-2 顯示在畫面. 輸出到 console 畫面 像 List 1-1 這樣的程式就稱為 原始碼程式 (source program) ,而儲存該程式的檔案則稱為 原始碼檔案 (source file) 。. - PowerPoint PPT Presentation

Citation preview

Page 1: 明解 C++ 教學手冊 柴田望洋 博士 著

明解 C++ 教學手冊

柴田望洋 博士 著

Page 2: 明解 C++ 教學手冊 柴田望洋 博士 著

藉由從鍵盤輸入數值和字元,然後顯示在畫面上的程式來習慣C++ 吧 !

Page 3: 明解 C++ 教學手冊 柴田望洋 博士 著

C++ 是在 1980 年由 Bjarne Stroustrup 博士,以 Simula67 之物件導向概念與 C 語言為基礎,所改良而成的程式語言。

Page 4: 明解 C++ 教學手冊 柴田望洋 博士 著

輸出到 console 畫面 像 List 1-1 這樣的程式就稱為原始碼程式 (source

program) ,而儲存該程式的檔案則稱為原始碼檔案(source file) 。

Page 5: 明解 C++ 教學手冊 柴田望洋 博士 著

在執行程式之前,必須先經過編譯及連結等作業才行。

Page 6: 明解 C++ 教學手冊 柴田望洋 博士 著

注釋 以「 // 」為開頭的那一行是程式的注釋 (comment) 。 「 /* 」和「 */ 」之間的內容也是注釋,這種注釋可以跨

行。

標頭檔與引入 C++ 所提供的各種函式庫,例如 <iostream> 、 <string>

等等,都叫做標頭檔 (header) 。

Page 7: 明解 C++ 教學手冊 柴田望洋 博士 著

而利用 #include 指令來取得標頭檔的內容就叫做引入 (include) 。

◦ std 名稱空間 #include 的下一行是 using 指令,此指令是使用名為

std 的名稱空間 (name space) 之宣告。

Page 8: 明解 C++ 教學手冊 柴田望洋 博士 著

輸出到 console 畫面及串流 對外部的輸出入都是透過串流 (stream) 來進行。 Cout 是通往 console 畫面的標準輸出串流 (standard

output stream) 。 指示插入到串流的是向左的兩個不等號「 << 」,這個符

號就稱為插入運算子 (inserter) 。

Page 9: 明解 C++ 教學手冊 柴田望洋 博士 著

字串常值 以雙引號「”」框住的併排字元就稱為字串常值

(string literal) 。 字串常值中的「 \n 」是換行字元,它是逸出序列

的一種。 main 函數 main 函數 (main function) 是程式的主體部分,程

式執行時會依序執行其中的敘述 (statement) ,而敘述的結尾必須是分號。

Page 10: 明解 C++ 教學手冊 柴田望洋 博士 著

連續輸出到串流 對輸出串流 cout 連續使用複數個插入運算子時,

會從最前頭開始依序進行輸出。 警告 字串常值中的「 \a 」是警告的意思,對 cout 輸出

警告時,程式就會以視覺或聽覺的方式吸引使用者的注意。

Page 11: 明解 C++ 教學手冊 柴田望洋 博士 著

符號字元的讀法

Page 12: 明解 C++ 教學手冊 柴田望洋 博士 著

自由格式記敘 C++ 可以用自由格式 (free formated) 來記敘程式。 限制:

不可在單字間輸入全形空白 不可在字串常值間換行 不可在引入指令中換行

Page 13: 明解 C++ 教學手冊 柴田望洋 博士 著

縮排的建議 將程式碼縮排會讓程式更易閱讀。

Page 14: 明解 C++ 教學手冊 柴田望洋 博士 著

輸出運算結果 像 18 和 63 這樣表示整數的常數,就稱為整數常值

(integer literal) 。 字串中的字串常值會直接顯示在畫面上,而非字串

常值的 18+63 則會顯示出計算後的結果 (81) 。

Page 15: 明解 C++ 教學手冊 柴田望洋 博士 著

變數 變數就像是存放數值的箱子。 這些箱子必須要有名稱才行,所以必須在製作箱子

時宣告 (declaration) 它的名稱。

Page 16: 明解 C++ 教學手冊 柴田望洋 博士 著

宣告敘述

一次宣告兩個以上的變數

Page 17: 明解 C++ 教學手冊 柴田望洋 博士 著

「 = 」會將右邊的值指定給左邊的指示符號,又稱為指定運算子 (assignment operator) 。

因為插入 cout 的 x 不是字串常值,所以畫面上不是顯示 x 的「變數名」,而是顯示其代表的「值」。

Page 18: 明解 C++ 教學手冊 柴田望洋 博士 著

框住運算式 x+y 的 ( ) 是用來優先進行運算的符號。 若沒有使用 ( ) 來計算,就會依照先乘除後加減的

原則來進行計算。

在整數除以整數的計算中,小數點以下的部份會被捨去。

Page 19: 明解 C++ 教學手冊 柴田望洋 博士 著

變數和初始化 若刪除前面程式中將值指定給變數的部份,則變數

x 和 y 的值會變得很奇怪。

Page 20: 明解 C++ 教學手冊 柴田望洋 博士 著

在產生變數時將值指定給變數,就叫做變數的初始化 (initialize) 。

給予初始值的部份就叫做初始化子 (initializer) 。

Page 21: 明解 C++ 教學手冊 柴田望洋 博士 著

「初始化」和「指定」的差別,在於將值放入變數的時機。 初始化:在產生變數時指定值 指定:將值指定給已經產生的變數

Page 22: 明解 C++ 教學手冊 柴田望洋 博士 著

從鍵盤輸入 cin 表示來自鍵盤的標準輸入串流 (standard input

stream) ,而對 cin 使用的「 >> 」,則是用來從輸入串流取出字元的抽取運算子 (extractor) 。

Page 23: 明解 C++ 教學手冊 柴田望洋 博士 著
Page 24: 明解 C++ 教學手冊 柴田望洋 博士 著

運算子和運算元 用來進行運算的「 + 」、「 - 」之類的符號,就叫

做運算子 (operator) ,而其運算對象則稱為運算元(operand) 。

運算子可以其運算元的數量分為二元運算子、一元運算子和三元運算子。

「 + 」、「 - 」、「 * 」、「 / 」、「 % 」等運算子,可以統稱為算術運算子。

Page 25: 明解 C++ 教學手冊 柴田望洋 博士 著

連續輸入 使用抽取運算子來輸入時,將會直接跳過空白字元、

定位字元、換行字元等空白。

Page 26: 明解 C++ 教學手冊 柴田望洋 博士 著

一元算術運算子 最好是在需要用到時才宣告變數。

Page 27: 明解 C++ 教學手冊 柴田望洋 博士 著

輸入實數值 表示整數的 int型態,無法處理有小數點以下部份

的實數,實數可以利用 double型態來處理。

Page 28: 明解 C++ 教學手冊 柴田望洋 博士 著

產生亂數 電腦可以隨機產生亂數。 寫上 rand() 的部份,會變成大於 0 的隨機整數型態

之亂數。

Page 29: 明解 C++ 教學手冊 柴田望洋 博士 著

讀入字元 必須使用 char型態來處理字元。

Page 30: 明解 C++ 教學手冊 柴田望洋 博士 著

讀入字串 用來處理字串的是 string型態,在使用此型態之前,

必須先引入標頭檔 <string> 。

Page 31: 明解 C++ 教學手冊 柴田望洋 博士 著

包含空白的字串必須透過 getline 來讀取。

Page 32: 明解 C++ 教學手冊 柴田望洋 博士 著

string型態的變數也可以初始化和指定。

Page 33: 明解 C++ 教學手冊 柴田望洋 博士 著

C++ 是以 C 語言及 Simula67 為基礎所製作而成,且支援物件導向程式設計的程式語言。

C++ 的程式一定要經過編譯和連結,變換成可執行的形式才行。

C++ 的程式為自由格式,但仍應該加以縮排使程式易於解讀,並適當地記入應該告知「讀者」 (包含作者自己 ) 的注釋。

想要利用標準函式庫時,必須引入適當的標頭檔,且需要指令 using namespace std; 。

C++ 程式的主體是 main 函數,其中的敘述將會依序執行,原則上敘述是以分號作結束。

想要進行畫面和鍵盤等串流的輸出入時,必須引入<iostream> 標頭檔。

Page 34: 明解 C++ 教學手冊 柴田望洋 博士 著

代表 console 畫面的標準輸出串流是 cout ,可以透過插入運算子「 << 」來進行輸出。

代表鍵盤的標準輸入串流是 cin ,可以透過抽取運算子「 >> 」來進行輸入。空白字元會被跳過。

整數常數表示為整數常值,字元的排列則表示為字串常值「 "…" 」。夾著空白 (white space) 的相鄰字串常值會被連結。

換行字元以「 \n 」表示,而警告字元 ( 一般是嗶聲 )則以「 \a 」表示。

變數是從型態製做出來的實體,使用變數時必須要有賦予變數名的宣告。

在產生變數時將值放進去就是初始化。將值放入已經產生的變數則是指定。原則上,沒有明確地初始化的變數將會是不定值。

Page 35: 明解 C++ 教學手冊 柴田望洋 博士 著

表示整數的是 int型態、表示實數的是 double型態、表示字元的則是 char型態。

表示字串的是 string型態。使用 string型態時必須引入<string> 標頭檔。

用來進行運算的「 + 」和「 * 」等符號就是運算子,有一元運算子、二元運算子和三元運算子。作為運算對象的運算式則是運算元。

以 ( ) 框住的運算將會優先執行。 藉由整數除以整數所得到的商,會是捨去小數點以下部

份的值。 求取商的「 / 」運算子和求餘數的「 % 」運算子,如果

其中一個運算元是負數時,其運算結果將視處理器而定,「 % 」運算子的運算元一定要是整數才行。

亂數是利用 rand 函數所產生的。