C語言也可以進行加減乘除運算,但是運算符號與數學中的略有不同,見下表。
|
加法 |
減法 |
乘法 |
除法 |
求余數 |
數學 |
+
-
×
÷
無
C語言 |
+
-
*
/
%
加號、減號與數學中的一樣,乘號、除號不同,另外C語言還多了一個求余數的運算符。
我們先來看一段代碼:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=12;
int b=100;
float c=8.5;
int m=a+b;
float n=b*c;
double p=a/c;
int q=b%a;
printf("m=%d, n=%f, p=%lf, q=%d\n", m, n, p, q);
system("pause");
return 0;
}
輸出結果:
m=112, n=850.000000, p=1.411765, q=4
你也可以讓數字直接參與運算:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=12;
int b=100;
float c=8.9;
int m=a-b; // 變量參與運算
int n=a+239; // 有變量也有數字
double p=12.7*34.3; // 數字直接參與運算
printf("m=%d, n=%d, p=%lf\n", m, n, p);
printf("m*2=%d, 6/3=%d, m*n=%ld\n", m*2, 6/3, m*n);
system("pause");
return 0;
}
輸出結果:
m=-88, n=251, p=435.610000
m*2=-176, 6/3=2, m*n=-22088
對於除法,需要注意的是除數不能為 0,所以諸如
int a=3/0;
這樣的語句是錯誤的。
加減乘除的簡寫
先來看一個例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=12;
int b=10;
printf("a=%d\n", a);
a=a+8;
printf("a=%d\n", a);
a=a*b;
printf("a=%d\n", a);
system("pause");
return 0;
}
輸出結果:
a=12
a=20
a=200
第一次輸出 a 原來的值;
a=a+8;
相當於用
a+8
的值替換原來 a 的值,所以第二次輸出 20;第三次用
a*b
的值替換第二次的值,所以是 200。
在C語言中,表達式
a=a#b
可以簡寫為
a#=b
,#表示 +、-、*、/、% 中的任何一種運算符。
上例中
a=a+8;
可以簡寫為
a+=8;
,
a=a*b;
可以簡寫為
a*=b;
。
下面的簡寫形式也是正確的:
int a = 10, b = 20;
a += 10; //相當於 a = a + 10;
a *= (b-10); //相當於 a = a * (b-10);
a -= (a+20); //相當於 a = a - (a+20);
注意:a#=b 僅是一種簡寫,不會影響效率。