C語言從0到1(04) 運算子(01)

2021-09-26 10:25:46 字數 3072 閱讀 4863

一、為什麼要有運算子

在現實生活中有許多的運算,如:

計算利息會用到加減乘除;跟人比較身高,年齡會用到大於、小於、等於。

程式解決生活中的難題更是離不開運算。

二、什麼是運算子

運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。

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就是...