11/30
講師:吳崇維(wayne)
今日目標~
當我們宣告 int arr[10];
這時候 arr 是一個指標,
指向arr[0]。
而arr[0], arr[1], ... arr[9]
都是一個整數
arr
對於一個變數 (也可以是指標變數) 取出他的位址
其中指標變數可以記住位址
int *p = &x;
p的值就是x的位址
int **q = &p;
q的值就是p的位址
(指標也可以有位址)
對於一個"位址" , 找出其位址的地方的主人。
常常用在指標變數前面
int x = 1;
int *p = &x;
*p = 3;
這時x就會等於3 (隔空改值)
可愛的潘潘有著一堆石頭,每顆石頭上面都有一個正整數編號。接著,她又利用複製機器把每顆石頭都複製了兩個,而編號當然跟原來那個一樣。
可是有一天,她不小心掉了一顆石頭,現在她想要找出她掉的那一顆石頭的編號。
題目:
輸入:先給你一個數字n 代表有幾顆石頭
接著給你n個數字,代表每一個石頭的編號
輸出:輸出他掉的那一顆石頭編號!
Ex:
8 2 2 1 2 2 2 2 1
Ex:
1
思路:先把最大的放到後面
接著再放第二大的...排序完所有數字!
如何把實際想法換成程式呢?
本次作業:看影片,資料!
相較於整數(int) , 這種類別的數可以記下如: 123.123
有小數點的數字。
一般浮點數有兩種類別:
1) float : 佔4個位元組
2) double:佔8個位元組,較 為精準
當一個整數 int x 跟一個 double y 一起運算,x 會先被升級成double (等級較高)
這樣的處理方式可以避免整數自動去掉小數的機制
舉例:如右圖所示,會輸出多少呢?
舉例:如右圖所示,會輸出多少呢?
他會輸出1 !
因為 5 / 3 都是整數,因此並沒有升級過,因此啟動整數機制
砍成1之後,再指定給 d
對於一個很多整數的運算
在最前面加入 * 1.0
這樣後面的運算就被升級成
double了 !
在任何變數前面加上(類別)
就可以強制轉型囉!
在任何變數前面加上(類別)
就可以強制轉型囉!
當然這個對變數x, y也行得通
在任何變數前面加上(類別)
就可以強制轉型囉!
試試看double -> int
浮點數不能完全精確的表示數字!總會有一點誤差
1/2, 1/4, 1/8, 1/16 ....
輸出20項!
一起努力快樂寫程式吧!