變數&運算子

by Welly

說明

1.先花10分鐘左右講課

2.兩人一組,彼此合作,一起寫出題目

3.開雲端共用空間,在完成上課例題之後把程式碼丟上去,而且大家都可以看到彼此的程式碼(20~30分鐘)

4.讓大家花10分鐘左右互相觀摩

5.在最後的十分鐘再帶著大家寫一次

6.作業:同樣的組別,一起完成作業,要輪流或一起討論都可以(一人交至gc即可,但要標示組員!)

7.下次上課時,如果有疑問可提出,如果作業題目特別好可以多花時間講解

隨堂測驗繳交區:https://drive.google.com/drive/folders/1roXxixwmrOQ1RKHu5XFli6PilTofnOQ1?usp=sharing

 

variable

你說這份slide怎麼來的?

變數?

型態?

int

  • 最常出現
  • 以二進位方式儲存,占 4 個 Byte,32 個 bit
  • 因此範圍為 −(2的31次方) ~ (2的31次方)−1
  • 超過會產生不可預期的結果

long long

  • 占 8 個 Byte
  • 範圍為-(2的63次方)~(2的63次方)-1
  • 運算速度較 int 稍慢
  • 你絕對會因為忘記使用它而 WA

char

  • 儲存的是字元
  • 字元以 ‘  ’ 括住
  • char 與 int 的轉換請見 ASCII TABLE
  • 可以使用 int() 得到一個字元的ASCII值
#include <iostream>

using namespace std;

int main()
{
    char a='a';
    cout<<int(a)<<endl;
    cout<<char(72)<<char(101)<<char(108)<<char(108)<<char(111)<<endl;
    return 0;
}
//a
//Hello

ascii

long double

  • 更精準的double
  • 更慢的double

double

  • 儲存非整數時使用
  • 不是精準值,存在誤差。

*bool

  • 僅表示1(true) 或 0(false)
  • 一般用來表示一個東西的狀態(是否活著、是否用過…)
  • 通常不會拿來輸入輸出
  • 雖可用 int 替代,但會導致程式可讀性下降

string

  • 儲存字串使用
  • 字串以 “  ” 括住
  • 也有人會使用 char[] 儲存字串,但 string 方便又好用
  • char[] 與 string 在某些時候語法不同

" = " vs " == " 

  • 應該都知道吧~
  • "="是指派
  • "=="是比較運算子,相等的意思

型態互換

  • 欲變換為的型別(欲轉換型別之物(變數/數字/字元/巴拉巴拉~)
  • 看例子說明:D
  • 隱性轉型?
#include <iostream>

using namespace std;

int main()
{
    char a='a';
    cout<<int(a)<<endl;
    cout<<char(72)<<char(101)<<char(108)<<char(108)<<char(111)<<endl;
    return 0;
}
//a
//Hello

operator

數學運算子

  • 加法 + ex. i + 9
  • 減法 - ex. a - c
  • 乘法 * ex. a * b
  • 除法 /  ex. x / y
  • 餘數 % ex. r % s(mod-模運算)

比較運算子

  • 相等 == i == 9
  • 不等於 != a != c
  • 大於 > a > b
  • 小於 < x < y
  • 大於或等於 >= i>=0
  • 小於或等於 <= i<=9

邏輯運算子

  • AND && (x>0)&&(y>0)
  • OR || (a>0)||(b>0)
  • NOT ! !(a>=b)

指派運算子

  • 指派 = i = 50
  • 加法指派 += i += 9
  • 減法指派 -= i -= 9
  • 乘法指派 *= i *= 9
  • 除法指派 /= i /= 9
  • 餘數指派 %= i %= 9

如果拿int除int?

如果拿int除float?

如果拿float除int?

如果除以0?

隨堂練習(20~30min)

Made with Slides.com