一、為什麼要有運算子
在現實生活中有許多的運算,如:
計算利息會用到加減乘除;跟人比較身高,年齡會用到大於、小於、等於。
程式解決生活中的難題更是離不開運算。
二、什麼是運算子
運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c 語言內建了豐富的運算子,並提供了以下型別的運算子:
三、算術運算子
int a =10;
int b =20;
printf
("%d+%d = %d\n"
, a, b, a+b)
;//+
printf
("%d-%d = %d\n"
, a, b, a-b)
;//-
printf
("%d*%d = %d\n"
, a, b, a*b)
;//*
輸出結果:(結果同預期,證明小學已畢業)
10+20
=3010-
20=-10
10*20=
200
int a =3;
int b =10;
int c =5;
printf
("%d/%d = %d\n"
, b, c, b/c)
;printf
("%d/%d = %d\n"
, a, b, a/b)
;printf
("%d/%d = %d\n"
, b, a, b/a)
;
大家可以先想想輸出結果,是否同你預期呢?
10/5
=23/
10=010
/3=3
當有些事情與你原本根深蒂固的認知不同時,不要立判對錯,有些事情沒有對錯,只是因素不同。
注意:兩個整型運算,得到結果也為整型(會省略小數部分),因為浮點型資料與整型資料儲存方式不同。
int a =3;
float b =10;
int c =5;
printf
("%f/%d = %f\n"
, b, c, b/c)
;printf
("%d/%f = %f\n"
, a, b, a/b)
;printf
("%f/%d = %f\n"
, b, a, b/a)
;
輸出結果:
10.000000/5
=2.0000003/
10.000000
=0.300000
10.000000/3
=3.333333
整型與浮點型運算,結果得到浮點型。兩個運算元進行運算,結果會自動轉換成「較大」型別。
int a =10;
int b =3;
int c =2;
printf
("%d %% %d = %d\n"
, a, b, a%b)
;//注意 % 號的列印方式
printf
("%d %% %d = %d\n"
, a, c, a%c)
;
輸出結果:
10%3
=110%
2=0
注意:% 兩個運算元均不能是浮點型。
int a =10;
int b =10;
a++;
b--;
printf
("%d, %d\n"
, a, b)
;
輸出結果:
11,9
再來看個字尾自增自減的特殊之處:
int a =10;
int b =10;
printf
("%d, %d\n"
, a++
, b--);
printf
("%d, %d\n"
, a, b)
;
輸出結果:
10,10
11,9
wtf?
注意:字尾自增和自減運算是在語句結束後才會執行。也就是在第一句列印時,a和b均未執行自增和自減;等第一句列印執行完後,才會執行自增自減;所以第二句列印的值是自增和自減之後的值。
int a =10;
int b =10;
++a;
--b;
printf
("%d, %d\n"
, a, b)
;
輸出結果:
11,9
上述結果與字尾一至,再來看下述**:
int a =10;
int b =10;
printf
("%d, %d\n"
,++a,
--b)
;printf
("%d, %d\n"
, a, b)
;
輸出結果:
11,9
11,9
字首++、–,會使變數裡面自增或自減1,而不是等到語句結束後再執行。總結:算術運算子,在實際程式設計中使用頻率很高,但是一般的應用開發中不會涉及很複雜的組合,相對來說都很簡單。只要特別注意除、取模、字尾自增自減的特殊之處。
各位童鞋也可以自己多試試各運算子的組合使用,下一節將講解「其他運算子」。
C語言從0到1(05) 運算子(02)
也叫條件運算子,一般與條件結構一起使用,進行條件判斷 連線兩個運算元,對其進行比較,得到true 1 或false 0 int a 8 int b 10 printf d n a 10 printf d n a 10 printf d n a 10 printf d n a 10 printf d ...
python從0到1 2 變數 運算子
1.變數的定義和使用 這部分都比較基礎,我就說幾個注意事項就可以 a.在python中,不需要先宣告變數名及其型別,直接賦值即可。b.變數命名遵循以下規則 變數名必須是乙個有效的識別符號 變數名不能使用python中的保留字 如 if and as 等等 慎用小寫字母l和大寫字母o 盡量使用有意義的...
C語言 運算子與 運算子
我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...