- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章运算子、运算式与叙述.ppt
第四章 運算子、運算式與敘述
Mr LIN
Mr Chau
Mr Huan
運算式與運算子
運算式是由運算元(operand)與運算子(operator)所組成
運算元可以是常數、變數、或是函數;運算子就是數學上的運算符號:如 +, -, *, /
例如: 2+3; a-5; a*b-3*c; 3*a*b/5+6;
指定運算子:=
例如:num=20; //將20指定給整數型變數num
一元運算子
+52; //表示正52
~a; //表示取a的補數
a=-b; //表示負b的值設定給變數a存放
!a; //a的NOT運算,若a為0 ,則!a為1, 反之亦同
一元運算子
意義
+
正號
-
負號
!
NOT, 否
~
取1的補數
算術運算子(四則運算)
加法 “+”運算
a=12+5; b=6+6; c=a+b; a=a+3;
減法 “-”運算
a=12-5; b=6-2; c=a-b; a=a-4;
乘法 “*”運算
a=10*2; b=3*2; c=a*b; a=a*3;
除法 “/”運算
a=24/4; b=6/2; c=a/b; a=a/2;
取餘數”%”運算
a=26%4; b=16%3; c=a%b; a=a%5;
實作練習
關係運算子
兩者做比較時就需要用到關係運算子,此兩者可以是兩個變數;或是兩個式子;兩個狀態…等等。
主要不同於數學符號是:數學符號的相等(=)、不相等(≠)、大於等於(≧)、或小於等於(≦)分別改寫如下表所示:
實作練習
關係運算子
意義
大於
小於
=
大於等於
=
小於等於
==
相等
!=
不相等
遞增與遞減運算子
遞增運算子 ”++”
例如 i++; 的意義等於 i=i+1;
例如 ++i; 的意義也是等於 i=i+1;
但是兩者意義不同,前者先執行敘述句之後再增加 i 值,後者則先增加 i 值之後再執行敘述句,以下兩範例執行後,i 的值不同。
i=1; cout i; cout i++*2; cout i;
i=1; cout i; cout ++i*2; cout i;
遞減運算子 “- -”運算原理和”++”相同。
如果遞增量與遞減量不等於1時,則使用原來增減量數學式:
i=i+2; i=i-3; …
算術與指定運算子結合
“a+=b”:意義是將a的值增加b的值之後再存入a。此類的運算子有如下表所示:
所以,若執行前的a值是10,b值是2,執行後上表的a值依序是:12,8,20,5,0
運算子
用法
意義
說明
+=
a+=b
a=a+b
將a+b之值存放回a中
-=
a-=b
a=a-b
將a-b之值存放回a中
*=
a*=b
a=a*b
將a*b之值存放回a中
/=
a/=b
a=a/b
將a/b之值存放回a中
%=
a%=b
a=a%b
將a%b之值存放回a中
邏輯運算子
邏輯運算即是判斷兩種布林現象是否同時存在,有””和”||”兩種運算子:
“” 相當於邏輯中的”AND”或”及”的意思。
“||”相當於邏輯中的”OR”或”或”的意思。
範例如下:
a=true; b=true; cout a b;
a=false; b=true; cout a b;
a=false; b=true; cout a || b;
cout 52 31;
結果為 true
結果為 false
結果為 true
結果為 false
位元運算子
運算子
使用例
說明
i j
把i的二進位元向右移j個位元
i j
把i的二進位元向左移j個位元
~
~i
把i的每一個位元反向(1變0、0變1)
|
i | j
i與j對應的位元作OR邏輯運算
i j
i與j對應的位元作AND邏輯運算
^
i ^ j
i與j對應的位元作XOR邏輯運算
括號運算子
這種運算的優先權最高,只要被括號包住的運算式,一定是最優先被執行,與數學的算術運算原理相同。
若有多層括號包住,以最內層先執行。
範例如下:
9+2-6*3+4/2
(9+(2-6)*3+4)/2
?未有括號包住任何運算式,故先乘除,後加減
?先執行2-6,再執行外括號包住的運算式,最後除以2
a = ch ‘a’ ? 10:5
運算子的優先順序
優先順序
運算子
類別
結合性
範例
1
( )、[ ]
括號運算子、方括號運算子
由左至右
(x-y)/(x-a)
A[2][4]
2
! + (正號) - (負號)
一元運算子
由右至左
-x+~y 或 (xy)
2
~、++、 --(變數左邊)
位元運算子、遞增與遞減運算子
由右至左
~a、++a、--a
3
* / %
算術運算子
由左至右
i/j、a*b、x%y
文档评论(0)