441 likes | 983 Views
明解 C++ 教學手冊 柴田望洋 博士 著. 第一章 畫面輸出與鍵盤輸入. 藉由從鍵盤輸入數值和字元,然後顯示在畫面上的程式來習慣 C++ 吧 !. 1-1 C++ 的歷史. C++ 是在 1980 年由 Bjarne Stroustrup 博士,以 Simula67 之物件導向概念與 C 語言為基礎,所改良而成的程式語言。. 1-2 顯示在畫面. 輸出到 console 畫面 像 List 1-1 這樣的程式就稱為 原始碼程式 (source program) ,而儲存該程式的檔案則稱為 原始碼檔案 (source file) 。.
E N D
第一章 畫面輸出與鍵盤輸入 藉由從鍵盤輸入數值和字元,然後顯示在畫面上的程式來習慣C++吧!
1-1 C++的歷史 C++是在1980年由Bjarne Stroustrup博士,以Simula67之物件導向概念與C語言為基礎,所改良而成的程式語言。
1-2 顯示在畫面 輸出到console畫面 像List 1-1這樣的程式就稱為原始碼程式(source program),而儲存該程式的檔案則稱為原始碼檔案(source file)。
在執行程式之前,必須先經過編譯及連結等作業才行。在執行程式之前,必須先經過編譯及連結等作業才行。
注釋 以「//」為開頭的那一行是程式的注釋(comment)。 「/*」和「*/」之間的內容也是注釋,這種注釋可以跨行。 標頭檔與引入 C++所提供的各種函式庫,例如<iostream>、<string>等等,都叫做標頭檔(header)。
而利用#include指令來取得標頭檔的內容就叫做引入(include)。 • std名稱空間 #include的下一行是using指令,此指令是使用名為std的名稱空間(name space)之宣告。
輸出到console畫面及串流 對外部的輸出入都是透過串流(stream)來進行。 Cout是通往console畫面的標準輸出串流(standard output stream)。 指示插入到串流的是向左的兩個不等號「<<」,這個符號就稱為插入運算子(inserter)。
字串常值 以雙引號「”」框住的併排字元就稱為字串常值(string literal)。 字串常值中的「\n」是換行字元,它是逸出序列的一種。 main函數 main函數(main function)是程式的主體部分,程式執行時會依序執行其中的敘述(statement),而敘述的結尾必須是分號。
連續輸出到串流 對輸出串流cout連續使用複數個插入運算子時,會從最前頭開始依序進行輸出。 警告 字串常值中的「\a」是警告的意思,對cout輸出警告時,程式就會以視覺或聽覺的方式吸引使用者的注意。
自由格式記敘 C++可以用自由格式(free formated)來記敘程式。 限制: 不可在單字間輸入全形空白 不可在字串常值間換行 不可在引入指令中換行
縮排的建議 將程式碼縮排會讓程式更易閱讀。
1-3 變數 輸出運算結果 像18和63這樣表示整數的常數,就稱為整數常值(integer literal)。 字串中的字串常值會直接顯示在畫面上,而非字串常值的18+63則會顯示出計算後的結果(81)。
變數 變數就像是存放數值的箱子。 這些箱子必須要有名稱才行,所以必須在製作箱子時宣告(declaration)它的名稱。
宣告敘述 一次宣告兩個以上的變數
「=」會將右邊的值指定給左邊的指示符號,又稱為指定運算子(assignment operator)。 因為插入cout的x不是字串常值,所以畫面上不是 顯示x的「變數名」,而是顯示其代表的「值」。
框住運算式x+y的( )是用來優先進行運算的符號。 若沒有使用( )來計算,就會依照先乘除後加減的原則來進行計算。 在整數除以整數的計算中,小數點以下的部份會被捨去。
變數和初始化 若刪除前面程式中將值指定給變數的部份,則變數x和y的值會變得很奇怪。
在產生變數時將值指定給變數,就叫做變數的初始化(initialize)。在產生變數時將值指定給變數,就叫做變數的初始化(initialize)。 給予初始值的部份就叫做初始化子(initializer)。
「初始化」和「指定」的差別,在於將值放入變數的時機。「初始化」和「指定」的差別,在於將值放入變數的時機。 初始化:在產生變數時指定值 指定:將值指定給已經產生的變數
1-4 從鍵盤輸入 從鍵盤輸入 cin表示來自鍵盤的標準輸入串流(standard input stream),而對cin使用的「>>」,則是用來從輸入串流取出字元的抽取運算子(extractor)。
運算子和運算元 用來進行運算的「+」、「-」之類的符號,就叫做運算子(operator),而其運算對象則稱為運算元(operand)。 運算子可以其運算元的數量分為二元運算子、一元運算子和三元運算子。 「+」、「-」、「*」、「/」、「%」等運算子,可以統稱為算術運算子。
連續輸入 使用抽取運算子來輸入時,將會直接跳過空白字元、定位字元、換行字元等空白。
一元算術運算子 最好是在需要用到時才宣告變數。
輸入實數值 表示整數的int型態,無法處理有小數點以下部份的實數,實數可以利用double型態來處理。
產生亂數 電腦可以隨機產生亂數。 寫上rand()的部份,會變成大於0的隨機整數型態之亂數。
讀入字元 必須使用char型態來處理字元。
讀入字串 用來處理字串的是string型態,在使用此型態之前,必須先引入標頭檔<string>。
總結 C++是以C語言及Simula67為基礎所製作而成,且支援物件導向程式設計的程式語言。 C++的程式一定要經過編譯和連結,變換成可執行的形式才行。 C++的程式為自由格式,但仍應該加以縮排使程式易於解讀,並適當地記入應該告知「讀者」(包含作者自己)的注釋。 想要利用標準函式庫時,必須引入適當的標頭檔,且需要指令using namespace std;。 C++程式的主體是main函數,其中的敘述將會依序執行,原則上敘述是以分號作結束。 想要進行畫面和鍵盤等串流的輸出入時,必須引入<iostream>標頭檔。
代表console畫面的標準輸出串流是cout,可以透過插入運算子「<<」來進行輸出。代表console畫面的標準輸出串流是cout,可以透過插入運算子「<<」來進行輸出。 代表鍵盤的標準輸入串流是cin,可以透過抽取運算子「>>」來進行輸入。空白字元會被跳過。 整數常數表示為整數常值,字元的排列則表示為字串常值「"…"」。夾著空白(white space)的相鄰字串常值會被連結。 換行字元以「\n」表示,而警告字元(一般是嗶聲)則以「\a」表示。 變數是從型態製做出來的實體,使用變數時必須要有賦予變數名的宣告。 在產生變數時將值放進去就是初始化。將值放入已經產生的變數則是指定。原則上,沒有明確地初始化的變數將會是不定值。
表示整數的是int型態、表示實數的是double型態、表示字元的則是char型態。表示整數的是int型態、表示實數的是double型態、表示字元的則是char型態。 表示字串的是string型態。使用string型態時必須引入<string>標頭檔。 用來進行運算的「+」和「*」等符號就是運算子,有一元運算子、二元運算子和三元運算子。作為運算對象的運算式則是運算元。 以( )框住的運算將會優先執行。 藉由整數除以整數所得到的商,會是捨去小數點以下部份的值。 求取商的「/」運算子和求餘數的「%」運算子,如果其中一個運算元是負數時,其運算結果將視處理器而定,「%」運算子的運算元一定要是整數才行。 亂數是利用rand函數所產生的。