免费观看已满十八岁电视剧两人_国产+高潮+白丝+中岀+白_国产大片b站免费观看推荐_大尺度床震捏胸呻吟视频_亚洲AV永久无码天堂网国产_日本天堂免费网站_小雪yin荡公交嗯啊校花_向日葵视频色_好硬好大好爽18禁免费看男男

【六六互聯(lián)】長(zhǎng)期出售【美國(guó)抗投訴服務(wù)器】【歐洲抗投訴服務(wù)器】【亞洲抗投訴服務(wù)器】

C語(yǔ)言的運(yùn)算符非常豐富,能夠組成不同的類(lèi)型的表達(dá)式

C語(yǔ)言的運(yùn)算符非常豐富,能夠組成不同的類(lèi)型的表達(dá)式。

比如:

1+2*3-10

其中,12、310稱(chēng)為操作數(shù),+、 *-稱(chēng)為運(yùn)算符。

上面的表達(dá)式進(jìn)行*運(yùn)算,再進(jìn)行+運(yùn)算和-運(yùn)算,這是因?yàn)檫\(yùn)算符的優(yōu)先級(jí)不同,*的優(yōu)先級(jí)高于+-,所以先進(jìn)行*運(yùn)算。

進(jìn)行-運(yùn)算時(shí),是710,而不是107,這是由運(yùn)算符的結(jié)合性決定的,-運(yùn)算符的結(jié)合性是從左到右。

運(yùn)算符不僅具有不同的優(yōu)先級(jí),還有不同的結(jié)合性。在表達(dá)式中,各運(yùn)算量參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)定,還要受運(yùn)算符結(jié)合性的制約,以便確定是自左向右進(jìn)行運(yùn)算還是自右向左進(jìn)行運(yùn)算。

C語(yǔ)言的運(yùn)算符可分為以下幾類(lèi),見(jiàn)表2-9所示:

              2-9 運(yùn)算符的類(lèi)型說(shuō)明

 

運(yùn)算符

 

說(shuō)

 

算術(shù)運(yùn)算符

 

用于各類(lèi)數(shù)值運(yùn)算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱(chēng)模運(yùn)算,%)、自增(++)、自減(--)共七種

 

關(guān)系運(yùn)算符

 

用于比較運(yùn)算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六種

 

邏輯運(yùn)算符

 

用于邏輯運(yùn)算。包括與(&&)、或(||)、非(!)三種 

 

位操作運(yùn)算符

 

參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種

 

賦值運(yùn)算符

 

用于賦值運(yùn)算,分為簡(jiǎn)單賦值(=)、復(fù)合算術(shù)賦值(+=, -=, *=, /=, %=)和復(fù)合位運(yùn)算賦值(&=, |=, ^=, >>=, <<=)三類(lèi)共十一種

 

條件運(yùn)算符

 

這是一個(gè)三目運(yùn)算符,用于條件求值(?:)

 

逗號(hào)運(yùn)算符

 

用于把若干表達(dá)式組合成一個(gè)表達(dá)式(,)

 

指針運(yùn)算符

 

用于取內(nèi)容(*)和取地址(&)二種運(yùn)算

 

求字節(jié)數(shù)運(yùn)算符

 

用于計(jì)算數(shù)據(jù)類(lèi)型所占的字節(jié)數(shù)(sizeof)

 

特殊運(yùn)算符

 

有括號(hào)(),下標(biāo)[],成員(->,.)等幾種

表達(dá)式是由常量、變量、函數(shù)和運(yùn)算符組合起來(lái)的式子。一個(gè)表達(dá)式有一個(gè)值及其類(lèi)型,它們分別是計(jì)算表達(dá)式所得結(jié)果的值和類(lèi)型。表達(dá)式求值按運(yùn)算符的優(yōu)先級(jí)和結(jié)合性規(guī)定的順序進(jìn)行,單個(gè)的常量、變量、函數(shù)可以看作是表達(dá)式的特例。C語(yǔ)言中各運(yùn)算符的優(yōu)先級(jí)和結(jié)合性見(jiàn)附錄C。

1.一般算術(shù)運(yùn)算符

C語(yǔ)言基本算數(shù)運(yùn)算符如表2-10所示:

2-10 基本運(yùn)算符                  

 

名稱(chēng)

 

符號(hào) 

 

說(shuō)明

 

加法運(yùn)算符

 

+

 

雙目運(yùn)算符,即應(yīng)有兩個(gè)量參與加法運(yùn)算,具有左結(jié)合性。

 

減法運(yùn)算符

 

-

 

雙目運(yùn)算符。作負(fù)值運(yùn)算符時(shí)為單目運(yùn)算符,具右結(jié)合性。

 

乘法運(yùn)算符

 

* 

 

雙目運(yùn)算符,具有左結(jié)合性。

 

除法運(yùn)算符

 

/

 

雙目運(yùn)算符,具有左結(jié)合性。參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù)。如果運(yùn)算量中有一個(gè)是實(shí)型,則結(jié)果為雙精度實(shí)型

 

求余運(yùn)算符(模運(yùn)算符)

 

%

 

雙目運(yùn)算符,具有左結(jié)合性。要求參與運(yùn)算的量均為整型,不能應(yīng)用于floatdouble類(lèi)型。求余運(yùn)算的結(jié)果等于兩數(shù)相除后的余數(shù),整除時(shí)結(jié)果為0

雙目運(yùn)算符+-具有相同的優(yōu)先級(jí),它們的優(yōu)先級(jí)比運(yùn)算符*、/%的優(yōu)先級(jí)低,而運(yùn)算符*、/和%的優(yōu)先級(jí)又比單目運(yùn)算符-(負(fù)號(hào))的優(yōu)先級(jí)低。

2-13】除法運(yùn)算符

#include<stdio.h>

int main()

{

printf("\n\n%d,%d\n",20/7,-20/7);

printf("%f,%f\n",20.0/7,-20.0/7);

return 0;

}

程序運(yùn)行結(jié)果:

 

 

2,-2

2.857143,-2.857143

本例中,20/7,-20/7的結(jié)果均為整型,小數(shù)全部舍去。而20.0/7-20.0/7由于有實(shí)數(shù)參與運(yùn)算,因此結(jié)果也為實(shí)型。

2-14】取余運(yùn)算符

#include<stdio.h>

int main()

{

printf("%d\n",100%3);

return 0;

}

程序運(yùn)行結(jié)果:

1

本例輸出100除以3所得的余數(shù)1。

2.自增、自減運(yùn)算符

自增運(yùn)算符(++)和自減運(yùn)算符在C語(yǔ)言中使用比較頻繁,這兩個(gè)運(yùn)算符有一個(gè)共同的特點(diǎn),就是它們既可以出現(xiàn)變量的左邊,構(gòu)成前置++/--,又可以出現(xiàn)在變量的右邊,構(gòu)成后置++/--。

前置++/--的語(yǔ)法規(guī)則:現(xiàn)將變量的值加1/1,再使用該變量。

后置++/--的語(yǔ)法規(guī)則:先使用該變量,再將變量的值加1/1

2-15】使用自增、自減運(yùn)算符

#include<stdio.h>

int main()

{

int i=8;

printf("%d\n",++i);

printf("%d\n",--i);

printf("%d\n",i++);

printf("%d\n",i--);

printf("%d\n",-i++);

printf("%d\n",-i--);

return 0;

}

程序運(yùn)行結(jié)果:

9

8

8

9

-8

-9

i的初值為8,第4i1后輸出故為9;第5行減1后輸出故為8;第6行輸出i8之后再加1(9);第7行輸出i9之后再減1(8) ;第8行輸出-8之后再加1(9),第9行輸出-9之后再減1(8)。

3.逗號(hào)運(yùn)算符

C語(yǔ)言中逗號(hào)“,”也是一種運(yùn)算符,稱(chēng)為逗號(hào)運(yùn)算符,其功能是把兩個(gè)表達(dá)式連接起來(lái)組成一個(gè)表達(dá)式,稱(chēng)為逗號(hào)表達(dá)式。其一般形式為:

表達(dá)式1,表達(dá)式2;

其求值過(guò)程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式2的值作為整個(gè)逗號(hào)表達(dá)式的值。

2-16】逗號(hào)運(yùn)算符舉例

#include <stdio.h>

int main()

{

int a=2,b=4,c=6,x,y;

y=(x=a+b,b+c);

printf("y=%d,x=%d\n",y,x);

return 0;

}

程序運(yùn)行結(jié)果:

y=10,x=6

本例中,y等于整個(gè)逗號(hào)表達(dá)式的值,也就是表達(dá)式2的值,x是第一個(gè)表達(dá)式的值。

對(duì)于逗號(hào)表達(dá)式還要說(shuō)明三點(diǎn):

(1)逗號(hào)表達(dá)式一般形式中的表達(dá)式1和表達(dá)式2也可以又是逗號(hào)表達(dá)式。

例如:

表達(dá)式1, ( 表達(dá)式2, 表達(dá)式3 )

形成了嵌套情形,因此可以把逗號(hào)表達(dá)式擴(kuò)展為以下形式:

表達(dá)式1, 表達(dá)式2, …表達(dá)式n

整個(gè)逗號(hào)表達(dá)式的值等于表達(dá)式n的值。

(2)程序中使用逗號(hào)表達(dá)式,通常是要分別求逗號(hào)表達(dá)式內(nèi)各表達(dá)式的值,并不一定要求整個(gè)逗號(hào)表達(dá)式的值。

(3)并不是在所有出現(xiàn)逗號(hào)的地方都組成逗號(hào)表達(dá)式,如在變量說(shuō)明中,函數(shù)參數(shù)表中逗號(hào)只是用作各變量之間的間隔符。