上一章:輸出
下一章:四則運算
回目錄:國立科學園區實驗中學C++程式語言自學講義
在上一章我們學會了在小黑窗印出文字
但如果一支程式只能印出固定的東西
無法和使用者互動 那就太無聊了!
在這一章我們將學會讓程式讀取使用者輸入的資訊
(玩你寫出來的程式的人,就是你的程式的使用者,例如Green Judge的測試端)
如果要讀取資料,那就需要有地方可以把資料存起來
變數就像數學的代數x, y, z一樣,可以被代入任何的數值
用程式把輸入的資料代進去,就能保存輸入的資料了
變數相當於一個盒子,可以拿來裝資料
不同種類的盒子分別有不同的用途,例如裝飲料的牛奶盒、裝食物的便當盒、裝文具的鉛筆盒…等等
不同種類的變數也分別有不同的用途,例如整數、小數、字串、字元、布林數…等等
雖然在算數學的時候
每次想要用一個新的代數,就直接使用就好
但在寫程式時,每次想要用一個新的變數,
都要先將那個變數新增出來
這個新增的動作,我們稱做宣告
宣告變數的範例程式如下:
int x ;
這行程式的意義,就是宣告一個用來存整數的變數,名叫x
如果是要存小數的話,可以宣告成
float y ;
這樣一來就新增一個名叫y的小數了
以下表格列出常用的變數型態
整數 | 小數 | 字元 | 字串 | 布林數 |
---|---|---|---|---|
int | float | char | string | bool |
另外還有用來存超大整數的long long
以及用來存超精準小數的double
(布林數這個資料型態存的是是或否的資訊,其值就只有這兩種可能)
宣告變數的時候,一律先寫下它的型態(它是用來存哪種資料),然後是它的名稱。
以下提供各種範例
int number ;
float body_height ;
char blood_type ;
string name ;
bool is_girl ;
變數的名稱可以照自己的喜好取
只要遵守以下原則
_
來連接,例如blood_type
宣告變數的時候,同類型的變數可以合併到同一行
例如
int a ;
int b ;
可以改寫成
int a, b ;
合併到同一行的時候,必須用逗號隔開
變數被宣告出來後,就相當於一個空的盒子
下面這行程式,示範如何將使用者輸入的資料存進n這個變數裡
int n;
cin >> n;
和上一章學到的cout
很像,但cin
後面接的是兩個大於>>
可以想像成把餡料灌進泡芙裡的動作 (把資料灌進變數裡)
所以尖端朝右 >>
(圖片來自icook愛料理)
電腦執行到cin >> n
這行程式時,
就會停下來等使用者輸入
如果使用者一直沒輸入的話
程式就會一直停在這一行
使用者輸入數字以後,就會把資料存進變數裡了
例如
int n ;
cin >> n ;
cout << n;
執行完cin >> n;
這行以後,
n
這個變數就會變成使用者輸入的數字
可以用cout
印出來看看是否真的跟輸入時的數字相同
如果想要寫一支讀取使用者的生日月分跟日期的程式
就會需要讀入兩個數字,分別存到兩個變數裡
以下是範例程式
int month ;
int date;
cin >> month ;
cin >> date ;
使用者在玩這支程式時,只要依序輸入月和日,就會分別被存進month
和date
這兩個變數裡
Q:程式怎麼知道讀到哪裡為止是第一個數字,哪裡為止是第二個數字?
程式在讀資料的時候,會以空白以及換行來當成資料結束的依據
所以當使用者在小黑窗輸入12 31
時,程式就會將12
存進month
這個變數裡
並將31
存進date
這個變數裡
但若使用者輸入的是1231
,那麼程式就會將1231
存進month
這個變數裡
然後停下來等使用者再輸入一個數字,來存進date
如果想要只用一個cin
來讀多個數字
可以用>>
來把多個變數串起來
例如剛才的
cin >> month ;
cin >> date ;
可以改寫成
cin >> month >> date ;
簡而言之,一切看你自己喜歡和方便!
但是記得,不可以寫成這樣哦!!
cin >> month, date ;
上一章:輸出
下一章:四則運算
回目錄:國立科學園區實驗中學C++程式語言自學講義