C語言中的運算子

2021-07-03 19:47:41 字數 2138 閱讀 8515

c語言中的運算子

一、運算子

1、  算術運算子:+  -  *  /  %

2、  賦值運算子:賦值運算子用「=」來給變數賦值。注意,在c語言中「=」不表示相等,而只是乙個運算子。

3、  增量和減量運算子:

在程式開發中,我們經常需要對乙個變數的值執行加1或者減1的操作。例如:

x = x + 1;

x = x – 1;      

為簡化這種操作,c語言提供了增量運算子「++」和減量運算子「- -」。

根據運算子與運算元在表示式中的位置關係,分為字首形式和字尾形式兩種用法。

(1)字首形式(大於任何運算子)

當運算子出現在它作用的變數的前面,稱為字首形式,表示變數在使用前自動加1或減1。其語法形式為:

+ +變數

- -變數     

(2)字尾形式(小於任何運算子)

當運算子出現在它作用的變數的後面時,稱為字尾形式,表示變數在使用後自動加1或減1。其語法形式為:

變數+ +

變數- -     

使用自增自減運算子時應注意:

++,- -運算只能作用於變數,不能用於表示式或常量。

例題1:int  a = 6;

a=(++a)+(a++); 

求輸出的a的值。

分析:a、由於字首形式大於任何運算子,所以優先計算++a,得出++a為7,此時的a也為7

b、再者,由1知a為7,所以a++為7(a++意思是先將a賦值,最後再自加)

c、根據1、2知最後結果為7+7+1

計算如圖所示:

例題2:int  a = 6;

a=a+(++a)+(- -a)-(a++)

求輸出的a的值。

分析:a、由於字首形式大於任何運算子,所以優先計算++a,得出++a為7,此時的a也為7

b、由於計算機太「笨」,要從左到右以此計算,所以算出a+(++a)的值為7+7=14

c、此時,在計算- -a的值,由1得a的值為7,所以- -a的值為6,a也為6,所以計算出a+(++a)+(--a)的值為14+6=20

d、最後一步有乙個(a++)表示將第3步中a的值6,先賦值給a後,自身在加1,所以得出的結果是20-6+1=15

計算如圖所示:

例題3

:如圖所示:

4、  關係運算子

= =等於  !=不等於  > 大於  < 小於  >= 大於等於  <= 小於等於

5、  邏輯運算子

&&邏輯與(一錯全錯)

|| 邏輯或(兩個錯才全錯)

! 邏輯非

6、  條件運算子

一般形式為:  表示式1  ?  表示式2:表示式3

解釋:若滿足表示式1,則執行表示式2,否則執行表示式3

7、資料型別強制轉換運算子

(1)自動型別轉換

基本規則如下:

a、當出現在表示式裡時,有符號和無符號的char和short型別都將自動被轉換為int,在需要的情況下,將自動被轉換為unsigned  int。

b、在包含兩種資料型別的任何運算裡,兩個值都將被轉換成兩種型別裡較高的級別

c、型別級別從高到低的順序是:double、float、long、int

d、在賦值語句裡,計算的最後結果被轉換成將要被賦予值的那個變數的型別。

e、當作為函式的引數被傳遞時,char和short會被轉化為int,float會被轉換為double。

(2)強制轉換

強制型別轉換運算子的使用形式為:

(type)表示式

8、特殊運算子

(1)長度運算子sizeof

(2)取址運算子&

C語言中的運算子

c語音中的運算子,按其功能,可以分為 算數運算子,關係運算子,邏輯運算子,自增和自減運算子,按位運算子,賦值運算子,和條件運算子。1 算數運算子 運算元可以為任何基本型別,運算結果的型別和運算元型別相同。2 關係運算子 運算元可以為任何基本型別,一般為整型,運算結果,如果兩個運算元關係成立,則結果為...

c語言中的運算子

c語言運算子 是說明特定操作的符號 它是構造c語言表示式的工具 c語言 的運算異常豐富,除了控制語句和輸入輸出以外的幾乎所有的基本操作都為運算子處理。除了常見的三大類,算術 運算子 關係運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子,比如位運算子。一 算術運算子 1.加法運算子 除了可以進...

C語言中的 運算子

一 運算子用於在預處理期粘連兩個識別符號 的連線作用是在預處理期完成的,因此只在巨集定義中有效 編譯器不知道 的連線作用 用法 define connect a,b a b in connect a,1 int a1 a1 2 二 include define name n name n int m...