C基礎 基本運算

2021-06-26 13:24:51 字數 3707 閱讀 1974

一、算術運算子

1、運算順序

優先順序不同時:先運算優先順序高的,再運算級低的;

優先順序相同時:從左到右運算。

2、取餘運算%

兩側必須都為整數,並且結果值的正負與被除數一致,即與 % 左邊的數一致。

3、整除運算/

,若兩邊同時為int型,則運算結果為int型:例如:3/2=1;若/兩邊又一邊為double型,則運算結果為double型。

4、如果想強制進行某些運算,可以使用小括號()

,小括號()的優先級別最高。

二、賦值運算子

1、簡單賦值運算子 =

等號 =

表示把 = 右邊的數賦值給 = 左邊的變數,如下:

int a = 10; // 

表示把10

賦值給a,這樣a的值就是10了。

還可以連續賦值

int a, b;

a = b = 10;

注意:等號=

左邊只能是變數,不能是常量

2、復合賦值運算子

+= 加賦值運算子。如a += 3+2

,等價於 a = a +(3+2)

-= 減賦值運算子。如a -= 3+2

,等價於 a = a -(3+2)

*= 乘賦值運算子。如a *= 3+2

,等價於 a = a *(3+2)

/= 除賦值運算子。如a /= 3+2

,等價於 a = a /(3+2)

%= 取餘賦值運算子。如a %= 3+2

,等價於 a = a %(3+2)

三、自增運算子和自減運算子

++ 自增運算子。如a++

,++a,都等價於a = a+1

-- 自減運算子。如a--

,--a,都等價於a = a-1

1、++a

和a++的區別

例如:int a = 10;

int b = ++a;

++a的意思是先對a

執行+1操作,再將a的值賦值給b。因此最後a、b的值都是11

int a = 10;

int b = a++;

a++的意思是先將a

的值拷貝出來乙份,然後對a執行+1操作,於是a變成了11,但是拷貝出來的值還是10,a++運算完畢後,再將拷貝出來的值10賦值給了b,所以最後變數b的值是10,變數a的值是11

--a和a--

的區別也是一樣的。

四、sizeof

1>

用來計算乙個變數或者乙個常量、一種資料型別所佔的記憶體位元組數。

2>

基本形式:

sizeof(

變數\常量 )

sizeof 

變數\常量

sizeof(

資料型別 )

注意,不可以寫成sizeof float。

五、逗號運算子

逗號運算子主要用於連線,它的一般形式為:表示式1,

表示式2, ……, 表示式n。

逗號表示式的運算過程是:從左到右的順序,先計算表示式1

,接著計算表示式2,...,最後計算表示式n。

逗號運算子也是一種運算子,因此它也有運算結果。整個逗號表示式的值是最後乙個表示式的值。

六、關係運算子(比較運算)

關係運算子:<、

<=、

> 、

>=、

== 、 

!=  

1> 關係運算子的運算結果只有2

種:如果條件成立,結果就為1,也就是「真」;如果條件不成立,結果就為0,也就是「假」。

2> 在關係運算子中,==、!=優先順序相等,

< 、

<=、

>、

>=這4個優先順序相同,且前面兩個的優先順序低於後面4個的優先順序。

eg:2==3>1,先計算3>1返回1,2==1不成立返回0

3>

關係運算子的優先順序小於算數運算子優先順序。

eg:3+4>8-2  => 7>6  =>1

七、邏輯運算子

c語言提供了3

個邏輯運算子:&&(邏輯與)、||(邏輯或)、!(邏輯非)。注意:這些都是英文本元,不要寫成中文字元。跟關係運算子一樣,邏輯運算的結果只有2個:「真」為1,「假」為0。

1、&&邏輯與

使用格式:「條件a &&

條件b」

運算結果:只有當條件a

和條件b都成立時,結果才為1,也就是「真」;其餘情況的結果都為0,也就是「假」。因此,條件a或條件b只要有乙個不成立,結果都為0,也就是「假」

運算過程:

總是先判斷條件a是否成立

如果條件a成立,接著再判斷條件b是否成立:如果條件b成立,「條件a && 條件b」的結果就為1,即「真」,如果條件b不成立,結果就為0,即「假」;

如果條件a不成立,就不會再去判斷條件b是否成立:因為條件a已經不成立了,不管條件b如何,「條件a&& 條件b」的結果肯定是0,也就是「假;

2、||邏輯或

使用格式:「條件a ||

條件b」

運算結果:當條件a

或條件b只要有乙個成立時(也包括條件a和條件b都成立),結果就為1,也就是「真」;只有當條件a和條件b都不成立時,結果才為0,也就是「假」。

運算過程

總是先判斷條件a

是否成立

如果條件a成立,就不會再去判斷條件b是否成立:因為條件a已經成立了,不管條件b如何,「條件a|| 條件b」的結果肯定是1,也就是「真」

如果條件a不成立,接著再判斷條件b是否成立:如果條件b成立,「條件a || 條件b」的結果就為1,即「真」,如果條件b不成立,結果就為0,即「假」

3、!邏輯非

使用格式:「!

條件a」

運算結果:其實就是對條件a

進行取反:若條件a成立,結果就為0,即「假」;若條件a不成立,結果就為1,即「真」。也就是說:

真的變假,假的變真

注意:

可以多次連續使用邏輯非運算子:!(4>2)

結果為0,是「假」,!!(4>2)結果為1,是「真」,!!!(4>2)結果為0,是「假」

c語言規定:任何非0

值都為「真」,只有0才為「假」。因此,對非0值進行邏輯非!運算的結果都是0,對0值進行邏輯非!運算的結果為1。!5、!6.7、!-9的結果都為0,!0的結果為1。

八、三目運算子

使用格式:表示式a ?

表示式b : 表示式c

運算結果:如果表示式a

成立,也就是為「真」,條件運算子的結果就是表示式b的值,否則,就為表示式c的值。

eg:計算兩個整數之間的最大值:  int c = a > b ? a : b;

C語言基礎 基本運算

基本運算 c語言一共有34種運算子,包括了常見的加減乘除運算 一.算術運算 除開能做加法運算,還能表示正號 5 90 除開能做減法運算,還能表示符號 10 29 注意符號,不是x,而是 注意符號,不是 也不是 而是 整數除於整數,還是整數。1 2的值是0,這個並不是二分之一 什麼是取餘 兩個整數相除...

C語言基礎 基本運算

本文主要介紹c語言中的基本運算。c語言一共有34種運算子,包括了常見的加減乘除運算 除法運算 注意符號,不是 也不是 而是 整數除於整數,還是整數。1 2的值是0,這個並不是二分之一 取餘運算 兩側只能是整數 正負性取決於 左側的數值 注意點 自動型別轉換 int a 10.6 int b 10.5...

基礎演算法 位運算 基本運算

1.移動 左移n位 乘以2的n次方 右移n位 除以2的n次方 0 左移n位 在1後面加上n個0 注 0不等於1。等於11 11 x 0 正數左移右邊補0 正數右移左邊補0 負數左移右邊補1 負數右移左邊補1 移動的作用總結 乘2,除2。右n位清零 2.異或 x 0 x x x 0 x 1 x x x...