tft每日頭條

 > 科技

 > c語言五個基本運算符

c語言五個基本運算符

科技 更新时间:2024-07-03 11:10:39

C運算符認識

C語言的運算符範圍很廣,可分為以下幾類:

1、算術運算符:用于各類數值運算。包括加( )、減(-)、乘(*)、除(/)、求餘(%)、自增( )、自減(--)共七種。

2、賦值運算符:用于賦值運算,分為簡單賦值(=)、複合算術賦值( =,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,

3、逗号運算符:用于把若幹表達式組合成一個表達式(,)。

4、關系運算符:用于比較運算。包括大于(>)、小于(=)、小于等于(

5、邏輯運算符:用于邏輯運算。包括與(&&)、或(||)、非(!)三種。

6、條件運算符:這是一個三目運算符,用于條件求值(?:)。

7、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(>)六種。

8、指針運算符:用于取内容(*)和取地址(&)二種運算。

9、求字節數運算符:用于計算數據類型所占的字節數(sizeof)。

10、特殊運算符:有括号(),下标[],成員(→,.)等幾種。

二、 算術表達式和運算符的優先級與結合性

算術表達式是用算術運算符和括号将運算量(也稱操作數)連接起來的、符合C語言語法規則的表達式。運算對象包括函數、常量和變量等。

在計算機語言中,算術表達式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。

(1)在算術表達式中,可使用多層圓括号,但括号必須配對。運算時從内層圓括号開始,由内向外依次計算各表達式的值。

(2)在算術表達式中,對于不同優先級的運算符,可按運算符的優先級由高到低進行運算,若表達式中運算符的優先級相同,則按運算符的結合方向進行運算。

(3)如果一個運算符兩側的操作數類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然後進行運算。

三、 自增自減運算符

作用:使變量的值增1或減1。

如: i,--i (在使用i之前,先使i的值加1、減1)。i ,i-- (在使用i之後,使i的值加1、減1)。

(1)隻有變量才能用自增運算符 ( )和自減運算符(--),而常量或表達式不能用,如10 或(x y) 都是不合法的。

(2) 和--的結合方向是“自右向左“,如 -i ,i的左邊是負号運算符,右邊是自增運算符,負号運算和自增運算都是 “自右向左“結合的,相當于 -(i )。

在循環語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i ”和“ i”及“i--”和“--i”的區别,特别弄清楚表達式的值和變量的值。

c語言五個基本運算符(C語言編程基礎知識彙總學習)1

賦值運算符與賦值表達式

一、賦值運算符與賦值表達式

賦值符号 “=“就是賦值運算符,作用是将一個數據賦給一個變量或将一個變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:

變量名 = 表達式

在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,内存中當前的數據就是最後一次所賦值的那個數據。

例:a=12; 此表達式讀作“将10的值賦值給變量a”。

說明:

a、如果賦值号兩邊的運算對象類型不一緻,系統會自動進行類型轉換,轉換的規則:将賦值号右邊表達式的值的類型轉換成賦值号左邊變量的類型,

例:int y=3.5; 在變量y中最終存儲的是整數3。

b、 可以将複制表達式的值再賦值給變量,形成連續賦值。

例如:x=y=25 是一個連續賦值表達式,x=y=25 等價于x=(y=25),所以表達式x=y=25 最終的值為25 。

c語言五個基本運算符(C語言編程基礎知識彙總學習)2

二、複合的賦值運算符

在賦值運算符之前加上其他運算符可以構成複合賦值運算符。其中與算術運算有關的複合運算符是: =,-=,*=,/=,%= 。

兩個符号之間不可以有空格,複合賦值運算符的優先級與賦值運算符的相同。表達式n =1等價于n=n 1,作用是取變量n中的值增1再賦給變量n,其他複合的賦值運算符的運算規則依次類推。

如求表達a =a-=a*a 的值,其中a的初值為12 。

步驟:

(1)先進行“a-=a*a“運算,相當于a=a-a*a=12-144=-132 。(2)再進行“a =-132“運算,相當于 a=a (-132)=-132-132=-264 。逗号運算符和逗号表達式

在c語言中,逗号除了作為分隔符,還可以用作一種運算符----逗号運算符,用逗号運算符将幾個表達式連接起來,例如a=b c,a=b*c等稱為逗号表達式。

一般形式為:

表達式1 ,表達式2 ,表達式3 , …,表達式n

例:x=2,y=3,z=4

逗号表達式具有從左至右的結合性,即先求解表達式1,然後依次求解表達式2,直到表達式n的值。表達式n的值就是整個逗号表達式的值。上述的逗号表達式的值就是表達式z=4的值4.需要注意的是,逗号運算符是所有運算符中級别最低的。

例:有如下程序段:

main(){int a=2,b=4,c=6,x,y;y=(x=a b),(b c);printf("y=%d,x=%d",y,x);}

程序顯示結果為:y=6,x=6

讨論:将y=(x=a b),(b c);改為y=((x=a b),b c) 的程序結果?

關系運算符和關系表達式

一、 C語言中的邏輯值

C語言中的邏輯值隻有兩個:真(true)和假(flase)。用非零代表真,用零代表假。因此,對于任意一個表達式,如果它的值為零,就代表一個假值,如果它的值為非零,就代表一個真值。隻要值不是零,不管是正數,負數,整數,實數,都代表一個真值。例如-5的邏輯值為真。

二、 邏輯表達式

“&&”和“||”的運算對象有兩個,故它們都是雙目運算符,而!的運算對象隻有一個,因此它是單目運算符。邏輯運算舉例如下:

(1)a&&b: 當&&兩邊都為“真”時,表達式a&&b的值才是真。

值得注意的是:在數學中,關系式0

(2)a||b: 當||兩邊有一個為“真”時,表達式a||b的值就是真。

(3)!a: 表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.

在C語言中,由&&或||組成的邏輯表達式,在某些特定情況下會産生“短路“現象。

(1)x && y && z ,隻有當x為真(非0)時,才需要判别y的值;隻有x和y都為真時,才需要去判别z的值;隻要x為假就不必判别y和z,整個表達式的值為0。口訣:“一假必假”。

例:(!5==1)&&( i==0) (!5==1)表達式的值為0,所以計算機運行中就跳過( i==0)此表達式,(!5==1)&&( i==0)表達式的值為0.

(2)x||y||z ,隻要x的值為真(非零),就不必判别y和z的值 ,整個表達式的值為1,隻有x的值為假,才需要判别y的值,隻有x和y的值同時為假才需要判别z的值,口訣:“一真必真”。

c語言五個基本運算符(C語言編程基礎知識彙總學習)3

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved