奧林匹亞資訊班

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! (除錯)

關於變數的二三事

變數的性質

  1. 類別: int , char, ...
  2. 名字
  3. 值:變數都會存有一個值

              不管你有沒有輸入

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)  !

邏輯運算符

邏輯運算符處理『多個真偽值』的關係

 

  1. 且 (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!

一起努力快樂寫程式吧!

Made with Slides.com