3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
第三篇要講的是運算,有了變數以後,總該拿幾個變數來運算看看吧? C 語言除了有基本的五則運算以外,還有一些像是邏輯運算、遞增遞減運算、指定運算……等等。 五則運算 咦?不是四則運算嗎?怎麼變五則運算? 除了加(+)、減(-)、乘(*)、除(/)以外,還有一個用來取餘數用的運算子 %,用法是 a%b 會得到 a 除以 b 的餘數。例如: 13 % 6 = 1 25 % 5 = 0 93 % 7 = 2 那麼,變數和變數之間的運算,在五則運算裡面比較簡單。例如: #include int main(){ int x=15, y=6; int a = x+y; int b = x-y; int c = x*y; int d = x/y; int e = x%y; printf("%d\n", a); printf("%d\n", b); printf("%d\n", c); printf("%d\n", d); printf("%d\n", e); return 0; } 輸出結果會是: 21 9 90 2 3 註:這裡使用了輸出用的 printf 函式,等到輸出入的時候會再詳細說明。 以上看起來好像沒有什麼問題,但是,咦? 15/6 怎麼會是 2? 因為在 C 語言裡面,整數(int)運算過程會無條件捨去小數點以下的部分,所以 2.5 會被捨去,變成 2。 如果要正確的顯示小數點,應該用浮點數來運算。這個部分到下一篇也會再說一次。 遞增、遞減運算子 遞增運算子(++)和遞減運算子(–)可是 C/C++ 獨有的運算子,它們的功能就是:用來+1或用來-1,用法就是:a++、++a 或 a–、–a。由於遞增和遞減運算子的用法相同,以下皆以遞增運算子來做示範。 a++ 的結果和 a = a + 1 是一樣的,例如: #include int main(){ int a=7, b=7; a++; b++; printf("%d\n", a); printf("%d\n", b); } 輸出結果無庸置疑的會是 8 和 8。 不過下面這段程式碼: #include int main(){ int a=7, b=7; printf("%d", ++a); printf("%d", b++); } 輸出結果卻是 8 和 7。因為第 5 行會先把 a 做遞增後再輸出,第 6 行是先輸出 b 再做遞增,這是使用遞增/遞減運算子比較需要注意的部分。 如果要細講的話: int a=3, int num; num = a++; num = ++a; 第 2 行可以拆成 num = a; a = a + 1;;第 3 行可以拆成 a = a + 1; num = a;。 另外,遞增遞減運算子只有加減法,並沒有 a** 或 a// 之類的東西可以用唷,當然更沒有 a%% xD。 指定運算子 指定運算子則是大部分的運算子都有,有 +=、-=、=、/=、%=*。可以讓撰寫程式的時候變得比較方便,不用再多寫一次變數名稱,例如: a += 3 等同a = a+3` a -= 3 等同 a = a-3 a *= 3 等同 a = a*3 a /= 3 等同 a = a/3 a %= 3 等同 a = a%3 當然還有別的,例如**&=、|=、<<=**、……等等。但是這些運算並不常見,在這裡省略不談。 那直接看例子吧: #include int main(){ int a=7, b=7, c=7, d=7, g=7; a += 3; b -= 3; c *= 3; d /= 3; e %= 3; printf("%d\n", a); printf("%d\n", b); printf("%d\n", c); printf("%d\n", d); printf("%d\n", e); return 0; } 輸出結果: 10 4 21 2 1 那變數運算的部分大概到這邊,這些運算子看起來很簡單,不過還是要試著練習一次才有效果。如果在設計程式的時候常常忘記某件事情的話,沒關係,總是要錯個幾次才記得起來 XD 註: 關係運算子和邏輯運算子會等到選擇結構的時候再一起講解 位移運算暫時沒有打算講解。 括號運算子就是 ( ) 起來的東西要先算 XD 我要學會 C 語言 目錄 我要學會 C 語言(一):Hello, World! 我要學會 C 語言(二):有小數點的數不是整數之資料型態 我要學會 C 語言(三):加加減減乘除的變數運算 我要學會 C 語言(四):輸入與輸出好好玩 我要學會 C 語言(五):如果這樣會怎樣之選擇結構 我要學會 C 語言(六):繞啊繞轉啊轉的迴圈結構 我要學會 C 語言(七):寫一遍就能用好幾遍好方便的函式

本文由noobtw提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦