三、運算符

Home Home
引用 | 編輯 adelinsdad
2009-04-23 09:12
樓主
推文 x1
無論是加減乘除還是大於小於,都需要用到運算符,在C語言中的運算符和我們平時用的基本上都差不多。
運算符包括賦值運算符、算術運算符、邏輯運算符、位邏輯運算符、位移運算符、關系運算符、自增自減運算符。大多數運算符都是二目運算符,即運算符位於兩個表達式之間。單目運算符的意思是運算符作用於單個表達式。(具體什麽是表達式下壹節再說)

壹、賦值運算符
賦值語句的作用是把某個常量或變量或表達式的值賦值給另壹個變量。符號為‘=’。這裏並不是等於的意思,只是賦值,等於用‘==’表示。
註意:賦值語句左邊的變量在程序的其他地方必須要聲明。
得已賦值的變量我們稱為左值,因為它們出現在賦值語句的左邊;產生值的表達式我們稱為右值,因為她它們出現在賦值語句的右邊。常數只能作為右值。
例如:
count=5;
total1=total2=0;
第壹個賦值語句大家都能理解。
第二個賦值語句的意思是把0同時賦值給兩個變量。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算。這樣它先total2=0;然後total1=total2;那麽我們這樣行不行呢?
(total1=total2)=0;
這樣是不可以的,因為先要算括號裏面的,這時total1=total2是壹個表達式,而賦值語句的左邊是不允許表達式存在的。

二、算術運算符
在C語言中有兩個單目和五個雙目運算符。
符號 功能
+ 單目正
- 單目負
* 乘法
/ 除法
% 取模
+ 加法
- 減法
下面是壹些賦值語句的例子, 在賦值運算符右側的表達式中就使用了上面的算術運算符:
Area=Height*Width;
num=num1+num2/num3-num4;
運算符也有個運算順序問題,先算乘除再算加減。單目正和單目負最先運算。
取模運算符(%)用於計算兩個整數相除所得的余數。例如:
a=7%4;
最終a的結果是3,因為7%4的余數是3。
那麽有人要問了,我要想求它們的商怎麽辦呢?
b=7/4;
這樣b就是它們的商了,應該是1。
也許有人就不明白了,7/4應該是1.75,怎麽會是1呢?這裏需要說明的是,當兩個整數相除時,所得到的結果仍然是整數,沒有小數部分。要想也得到小數部分,可以這樣寫7.0/4或者7/4.0,也即把其中壹個數變為非整數。
那麽怎樣由壹個實數得到它的整數部分呢?這就需要用強制類型轉換了。例如:
a=(int) (7.0/4);
因為7.0/4的值為1.75,如果在前面加上(int)就表示把結果強制轉換成整型,這就得到了1。那麽思考壹下a=(float) (7/4);最終a的結果是多少?
單目減運算符相當於取相反值,若是正值就變為負值,若是負數就變為正值。
單目加運算符沒有意義,純粹是和單目減構成壹對用的。

三、邏輯運算符
邏輯運算符是根據表達式的值來返回真值或是假值。其實在C語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。
符號 功能
&& 邏輯與
|| 邏輯或
! 邏輯非
例如:
5!3;
0||-2&&5;
!4;

當表達式進行&&運算時,只要 ..

訪客只能看到部份內容,免費 加入會員



獻花 x1
引用 | 編輯 adelinsdad
2009-04-23 09:14
1樓
  
同志們慢慢看 大大們
我分享給你們不能一次性全髮給你們,沒辦法我也要慢慢髮
因為我怕版主封我的號。我本是好心,別讓我違反論壇規則 謝謝大家的觀賞

獻花 x0
引用 | 編輯 784063999
2011-05-11 15:01
2樓
  
你說的雖然有很多我懂的,但也有我不懂的^^
表情

獻花 x0
引用 | 編輯 csr
2011-05-21 21:05
3樓
  
大大地用心真是讓人佩服
真的感謝教學
謝謝

獻花 x0
引用 | 編輯 ebolaman
2011-06-03 06:48
4樓
  
謝謝分享

最近一直再想 程式是怎麼處理運算子問題

很想知道編譯器是怎麼分解式子的

獻花 x0
引用 | 編輯 yunir
2011-12-13 01:15
5樓
  
表情 太捧了

獻花 x0