Like Share Discussion Bookmark Smile

J.J. Huang   2019-10-10   C   瀏覽次數:

C語言 - 第六章 | Operation - 算數運算

什麼是 運算子(Operation)?

運算子(operator)如同程式中的基本指令,不能再分割成更小的指令,可相互組合以達成更多複雜的功能。運算子會用符號 (symbol) 來表示,和函式呼叫相異。主流語言認為運算子和函式是相異的,但LISP系的語言則不對兩者進行嚴格的區分。

什麼是 算術運算?

一個運算式基礎會由運算元(Operands)、運算子(Operators)和間隔符號(Delimiters)等三者所組成。

1
A + B / ( A - B )
  • 運算元(OperandsAB
  • 運算子(Operators):+/-
  • 間隔符號(Delimiters):()

算數運算子

C語言的算術運算子比較常見的例如:加、減、乘、除、取餘數…等,皆需兩個運算元構成運算式,而這類型的運算子就稱為「二元運算子」,如下列所示:

運算子 意義 舉例
+ A+B
- A-B
* A*B
/ A/B
% 取餘數 A%B

遞增及遞減運算子

C語言裡面還有一種比較常使用到的用法是「單元運算子」,僅需要一個運算元就是運算式了。聽起來有些繞口,可以直接看以下表格:

運算子 意義 舉例
++ 運算前遞增 ++A
++ 運算後遞增 A++
-- 運算前遞減 --B
-- 運算後遞增 B--

練習

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>

int main()
{
int temp1 = 13;
int temp2 = 13;
int temp3 = 13;
int temp4 = 13;

printf("算數運算子\n");
printf("13 + 8 = %d\n", 13 + 8);
printf("13 - 8 = %d\n", 13 - 8);
printf("13 * 8 = %d\n", 13 * 8);
printf("13 / 8 = %d\n", 13 / 8);
printf("13 %% 8 = %d\n\n", 13 % 8);

printf("遞增及遞減運算子\n");
printf("++temp1 + 8 = %d\n", ++temp1 + 8);
printf("temp2++ + 8 = %d\n", temp2++ + 8);
printf("--temp3 + 8 = %d\n", --temp3 + 8);
printf("temp4-- + 8 = %d\n\n", temp4-- + 8);

printf("temp1:%d\n", temp1);
printf("temp2:%d\n", temp2);
printf("temp3:%d\n", temp3);
printf("temp4:%d\n", temp4);

return 0;
}


註:以上參考了
hackersir gitbooks
C 語言 程式設計教學:如何使用運算子 (Operators)