奧林匹亞資訊班
10/2
講師:吳崇維(wayne)
作業檢討
pA. 輸出兩行
一般的cout輸出並不會換行
相反的, 程式認得一個叫做
'\n' 的換行字元
因此可以
cout << "Wayne\n08/10"
中間就有換行了!
註:\(反斜線)通常用於特殊字元或情況
題解:
宣告三個變數並輸入值
輸出他們的和:
int x;
int y;
int z;
cin >> x ;
cin >> y;
cin >> z;
cout << x+y+z;
pB. 整數相加
pB也可以這樣寫!
#include <iostream>;
using namespace std;
int main() {
int x
x = 5;
cin >> x;
cout >> x;
}
Debug! (除錯)
關於變數的二三事
變數的性質
- 類別: int , char, ...
- 名字
- 值:變數都會存有一個值
不管你有沒有輸入
4. 只能宣告同一個變數一次
想想看,
旁邊的程式會跑出什麼?
=
在程式中,= 叫做指定運算符
它和我們熟悉的『相等』不一樣,程式裡的相等為 == 很容易搞混,特別注意
上面程式的
int y = 10;
宣告一個整數 y , 他的值為10
更多例子!
還可以這樣~
更複雜一點...
這樣會出事!
小練習
寫一個程式,輸入兩個整數a,b
交換他們的值!
技巧:交換值
算數運算
加減乘除!
程式中的加減乘除: 同樣遵守先乘除後加減
加:+
減:-
乘:*
除:/
換你們跑跑看!
結合指定(=)運算以及算數(+-*/)
餘數
10 = 3 * 3 + 1
10 除以 3 等於 3 餘 1
我們可以用 / 找商數
我們可以用 %找餘數 !
動動腦~
休息一下~
『比較』運算
關於比大小
條列出程式中比較的方法
使用 i == j 比較出來的結果?
真 (True)
地球是圓的, 1+1 = 2
電腦科學中, 以true來表示
『真』這個值, 而這個值是一個『非0』的整數!
關於真偽的用法,下節的if
會有詳細說明~
偽 (False)
相對於真, 也有一個false的值
以數字『0』表示
眼見為憑
更進階!邏輯運算
- 且(and) &&
- 或(or) ||
- 反(not) !
邏輯運算符
邏輯運算符處理『多個真偽值』的關係
- 且 (and) 符號: &&
處理兩個敘述間的關係,都是真的才為真
例子 :1+1=2 且 2+2=4 => 真
1+1=2 且 2+2=5 => 偽
邏輯運算符
邏輯運算符處理『多個真偽值』的關係
2. 或 (or) 符號: || (shift+\)
處理兩個敘述間的關係,其中一個為真就為真
例子 :1+1=2 或 2+2=4 => 真
1+1=2 或 2+2=5 => 真
1+1=3 或 2+2=5 => 偽
邏輯運算符
3. 反 (not) 符號: !
處理一個敘述
(!真)=偽 (! 偽) = 真
例子 :1+1=2 => 真
!(1+1=2) => 偽
如何活用邏輯運算?
今日重點:if
程式的判斷
if (如果)
『如果當時我...』
程式中也有如果!
語法:
其中條件就是前面提到的真偽!
如果條件為真=>進入處理
如果條件為偽=>跳過這部份
馬上試試看!
跳過的部分
if 裡面可以塞多個句子
小練習!
輸入兩個整數x, y
如果x > y, 輸出 "x > y\n"
如果x < y, 輸出 "x < y\n"
如果x = y, 輸出 "x = y\n"
永遠記得:
=(指定)
==(等於)
下回預告:更多的if
寫作業時盡量以精簡的if 呈現
抓住判斷的神隨
本週作業!
- pA:奇數偶數?
- pB:位數和
- pC:找出最小值
Homework #2 pA:
題目:輸入一個 -100 ~ 100 的整數,如果是
偶數,輸出1,否則輸出0
Homework #2 pB:
題目:輸入一個四位數,輸出他們的位數和
例子:輸入:1234 輸出:10
(1+2+3+4 = 10)
Homework #2 pC:
題目:輸入3個整數, 輸出他們的最小值
例子:輸入:5 100 123 輸出:5
學語法是條石子路 :/
如果寫完作業意猶未盡~
可以更多練習!
Bouns題目:
寫一個找零錢的程式!
輸入一個介於0~2000的整數
換成 1000, 500, 100, 50 ,10, 5, 1的零錢
並輸出各種零錢個數!
Note: 活用 if 的判斷 , 並且時常更新變數值
FeedBack!
一起努力快樂寫程式吧!
class 10/19 變數以及運算
By Wayne Wu
class 10/19 變數以及運算
- 65