標籤:
基本運算分為:算術運算,賦值運算,自增自減運算,關係運算,邏輯運算,三目運算。
一、 算術運算
1、加法運算:用“+”號表示,還可以表示正數
2、減法運算:用“—”號表示,還可以表示負數
3、乘法運算: 用“*”而不是“x”表示
4、除法運算: 用“/”而不是“÷”表示(整數除以正數,結果仍然是整數)
5、取餘運算: 用“%”號表示,兩側都是整數,並且最後的加號或減號由%左側的整數決定。
6、類型轉換:
① 自動類型轉換
int a = 10.6;
int b = 10.5 + 1.7;
自動將大類型轉換為了小類型,會丟失精度
② 自動型別提升
int b = 10.5 + 10;
將右邊的10提升為了double類型
double b = 1.0 / 2;
解決除法的精度問題
③ 強制類型轉換
double a = (double)1 / 2;
double b = (double)(1 / 2);
算術運算代碼舉例如下:
1 #include <stdio.h> 2 3 int main() 4 { 5 //1.算數運算子的基本使用 6 int a = 10 + 1 + 2 - 3 + 5; 7 8 int b = -10; 9 10 int c = 10 * b;11 12 int d = 10 / 2;13 14 // 取餘運算(模運算)15 // %兩邊都是整數16 // %取餘結果的正負性只跟%左邊的數值有關17 int e = 10 % -3;18 printf("%d\n", a);19 printf("%d\n", b);20 printf("%d\n", c);21 printf("%d\n", d);22 printf("%d\n", e);23 24 // 自動類型轉換(double->int)25 int m = 10.8;26 27 // 強制類型轉換(double->int)28 int n = (int) 10.5;29 printf("%d\n",m );30 31 32 // 自動型別提升(int->double)33 double x = 10.6 + 6;34 35 double y = 1 / 3;36 37 double z = (double)3/2;38 39 printf("e的值是%f\n", z);40 41 42 return 0;43 }
啟動並執行結果為:
二、賦值運算
1、 簡單賦值
1 #include <stdio.h> 2 3 int main() 4 { 5 //簡單賦值 6 int a = 10; 7 8 int b; 9 b= 6;10 return 0;11 }
2、 複合賦值
1 // 複合賦值運算2 a += 5; // a = a + 5;3 4 a *= 5; // a = a * 5;5 6 a += 5 + 6 + 4; // a = a + (5 + 6 + 4);
三、 自增自減運算
自增運算子++,例如(a++,++a);自減運算子,; // a -= 1; a = a - 1; 13
四、 關係運算
1、 真假性。在C語言中,條件成立為“真”,條件不成立為“假”,並且規定“0”表示假,任何其他非零值都表示真。
2、 關係運算的運算結果:關係運算的結果只有兩種,即真假。條件成立,為真,預設值為1;不成立,為假,預設值為0
3、 特別注意:
① 關係運算子的優先順序低於算術運算子
② 關係運算子中==、!=的優先順序相等,<、<=、>、>=的優先順序相等,且前者的優先順序低於後者
③ 關係運算子的結合順序是從左至右。
關係運算代碼如下:
1 #include <stdio.h> 2 3 int main() 4 { 5 6 int a = 10; 7 8 int b = 11; 9 10 // 條件成立就返回1,真11 // 條件不成立就返回0,假12 int result = b >= a;13 14 printf("%d\n", result);15 16 17 }
五、邏輯運算
1、 邏輯與(表示符號&&)
“條件A&&條件BB”
當條件A和條件B都成立時,結果為真,即值為1,否則為假
例如
1 邏輯與 條件1 && 條件22 3 int a = 10>3 && 7<6;4 5 int a = 0 && 10;6 7 printf("a=%d\n", a);
2、 邏輯或(表示符號||)
“條件A||條件B”
當條件A和條件B只要一個成立時,結果為真,即值為1,否則為假
例如
1 // 邏輯或 條件1 || 條件2 2 3 4 int a = 10; 5 int b = 10; 6 7 int c = (a<5) || (b++ - 10); 8 9 // a = 1010 // b = 1111 // c = 012 printf("a=%d, b=%d, c=%d\n", a, b, c);
3、 邏輯非(表示符號 !)
“!條件A”
對條件A進行取反:若條件A成立,結果就為假,即值為0,否則為真。
1 // 邏輯非 !條件 2 // 如果條件成立,就返回0;如果條件不成立,就返回1 3 4 5 6 7 int a = !!10; 8 9 printf("a=%d\n", a);10 11
六、三目運算子
三目運算子,運算格式: 條件 ? 數值1 : 數值2
1 // 三目運算子 條件 ? 數值1 : 數值22 3 int a = !100 ? 9 : 89;4 5 printf("a=%d\n", a);
黑馬程式員——C語言——基本運算