C語言從0到1(05) 運算子(02)

2021-09-26 10:48:25 字數 4456 閱讀 2848

也叫條件運算子,一般與條件結構一起使用,進行條件判斷;

連線兩個運算元,對其進行比較,得到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\n"

, a==10)

;printf

("%d\n"

, a!=10)

;

輸出結果:

001

101

二、賦值運算子:=
把右邊運算元的值賦給左邊運算元。注意,賦值運算子,先運算右邊表示式,再將值賦給左邊。

int a =0;

//定義變數,並初始化賦值

int b =10;

printf

("a:%d\n"

, a)

;a = b+2;

printf

("a:%d\n"

, a)

;

輸出結果:

a:0a:

12

例:a = 10; b = 20; 將a,b兩個變數的值互換

int a =10;

int b =20;

//利用油水互換的原理

int tmp =0;

//定義乙個臨時變數

tmp = a;

a = b;

b = tmp;

printf

("a:%d, b:%d, tmp:%d\n"

,a,b,tmp)

;

輸出結果:

a:

20, b:

10, tmp:

10

與算術運算子、位運算子組合使用。

如: a += 10; 等價於 a = a + 10;

int a =15;

int c =2;

c += a;

// c = c + a;

printf

("+=:c 的值 = %d\n"

, c )

;c -

= a;

// c = c - a;

printf

("-=:c 的值 = %d\n"

, c )

;c *

= a;

// c = c * a;

printf

("*=:c 的值 = %d\n"

, c )

;c /

= a;

// c = c / a;

printf

("/=:c 的值 = %d\n"

, c )

;c %

= a;

// c = c % a;

printf

("%%=:c 的值 = %d\n"

, c )

;

輸出結果:

+

=:c 的值 =17-

=:c 的值 =2*

=:c 的值 =30/

=:c 的值 =2%

=:c 的值 =

2

注意:賦值運算子,先運算右邊表示式

int a =10;

a *= a+

5;

上述a的值為多少?

三、運算子:sizeof()

int a =0;

char c =

'@';

float f1 =

1.1;

double f2 =

2.0;

printf

("%d, %d, %d, %d\n"

,sizeof

(a),

sizeof

(c),

sizeof

(f1)

,sizeof

(f2));

//也可以直接sizeof(int)

printf

("%d, %d, %d, %d\n"

,sizeof

(int),

sizeof

(char),

sizeof

(float),

sizeof

(double))

;

輸出結果:

4,1

,4,8

4,1,

4,8

四、運算子優先順序
在乙個,多個運算子組合的表示式中,運算子的優先順序 會影響到乙個表示式如何計算。

某些運算子比其他運算子有更高的優先順序,例如,乘除運算子具有比加減運算子更高的優先順序。

運算子優先順序一覽表:類別

運算子結合性

字尾() -> . ++ - -

從左到右

一元+ - ! ~ ++ - - (type)* & sizeof

從右到左

乘除* / %

從左到右

加減+ -

從左到右

移位<< >>

從左到右

關係< <= > >=

從左到右

相等== !=

從左到右

位與 and

&從左到右

位異或 xor

^從左到右

位或 or

|從左到右

邏輯與 and

&&從左到右

邏輯或 or

|||從左到右

條件?:

從右到左

賦值= += -= *= /= %=>>= <<= &= ^= |=

從右到左逗號,

從左到右

如下示例:

int a =20;

int b =10;

int c =15;

int d =5;

int e;

e =(a + b)

* c / d;

// ( 30 * 15 ) / 5

printf

("(a + b) * c / d 的值是 %d\n"

, e )

;e =

((a + b)

* c)

/ d;

// (30 * 15 ) / 5

printf

("((a + b) * c) / d 的值是 %d\n"

, e )

;e =

(a + b)

*(c / d)

;// (30) * (15/5)

printf

("(a + b) * (c / d) 的值是 %d\n"

, e )

;e = a +

(b * c)

/ d;

// 20 + (150/5)

printf

("a + (b * c) / d 的值是 %d\n"

, e )

;

輸出結果:

(a + b)

* c / d 的值是 90

((a + b)

* c)

/ d 的值是 90

(a + b)

*(c / d) 的值是 90

a +(b * c)

/ d 的值是 50

練習:

練習:

1.小明身上有5.6塊錢, 小紅身上有9.4塊錢,用程式算出他們一共有多少塊錢。

2.根據天數(46)計算週數。

3.乙個整數,代表88個小時,計算88個小時等於多少天零多少個小時。

4.輸入乙個四位數的整數,然後將該數的各個位上的數字求和,輸出。如,1234,拆分為1 + 2 + 3+ 4 = 10 。

5、定義乙個變數記錄硬碟的大小,如10000000byte,那麼計算這個硬碟有多少kb

有多少mb。有多少gb。

byte kb mb gb

10000000 ? ? ?

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

一 為什麼要有運算子 在現實生活中有許多的運算,如 計算利息會用到加減乘除 跟人比較身高,年齡會用到大於 小於 等於。程式解決生活中的難題更是離不開運算。二 什麼是運算子運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c 語言內建了豐富的運算子,並提供了以下型別的運算子 三 算術運算子int ...

python從0到1 2 變數 運算子

1.變數的定義和使用 這部分都比較基礎,我就說幾個注意事項就可以 a.在python中,不需要先宣告變數名及其型別,直接賦值即可。b.變數命名遵循以下規則 變數名必須是乙個有效的識別符號 變數名不能使用python中的保留字 如 if and as 等等 慎用小寫字母l和大寫字母o 盡量使用有意義的...

c語言基礎02(運算子)

1.浮點數補充 指數的取值範圍 127 128 float 的取值精度 2 23 2 23 對於double 型浮點數在計算機記憶體中與float 類似,但其階碼有十一位,尾數五十二位。2.大端小端 ox123456789 若計算機中以 12 34 56 78 儲存 低位址放高資料,此為大端 手機,...