版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
運算符和表達式表達式表達式是由運算符及運算對象組成的、具有特定含義的式子。C語言是一種表達式語言,表達式后面加上分號就構成了表達式語句。這里我們主要介紹在C51編程中經(jīng)常用到的算術運算、賦值運算、關系運算、邏輯運算、位運算、逗號運算及其表達式。算數(shù)運算符與算術表達式運算符名運
算
符算術運算符+
*/%++
關系運算符><==>=<=!=邏輯運算符!&&||位運算符<<>>~&|^賦值運算符=條件運算符?:逗號運算符,指針運算符*&求字節(jié)數(shù)運算符sizeof強制類型轉換運算符(類型)下標運算符[]函數(shù)調(diào)用運算符()用算術運算符連接起來的式子,就叫算術表達式。圓的面積公式:S=πr2S=Pi*r*r;算數(shù)運算符與算術表達式運算符名稱功
能+加法求兩個數(shù)的和,例如8+9=17
減法求兩個數(shù)的差,例如20
9=11*乘法求兩個數(shù)的積,例如20*5=100/除法求兩個數(shù)的商,例如20/5=4%取余求兩個數(shù)的余數(shù),例如20%9=2++自增1變量自動加1
自減1變量自動減1inti=100,j;j=++i; //j=101,i=101j=i++; //j=101,i=102要注意除法運算符在進行浮點數(shù)相除時,其結果為浮點數(shù),如20.0/5所得值為4.0;而進行兩個整數(shù)相除時,所得值是整數(shù),如7/3,值為2。取余運算符(模運算符)“%”要求參與運算的量均為整型,其結果等于兩數(shù)相除后的余數(shù)。C51提供的自增運算符“++”和自減運算符“--”,作用是使變量值自動加1或減1。自增運算和自減運算只能用于變量而不能用于常量表達式。運算符放在變量前和變量后是不同的。
后置運算:i++(或i--)是先使用i的值,再執(zhí)行i+1(或i-1)。
前置運算:++i(或--i)是先執(zhí)行i+1(或i-1),再使用i的值。編程時常將這兩個運算符用于循環(huán)語句中,使循環(huán)變量自動加1;也常用于指針變量,使指針自動加1指向下一個地址。算數(shù)運算符與算術表達式取余運算取余運算有什么用處呢?我們來看一個應用,如果我們需要把一個整數(shù)在數(shù)碼管或者液晶上顯示出來的話,那就需要把一個整數(shù)的每位拆分開來,一位一位進行顯示,例如,要顯示25這個數(shù),我們就需要把25這個數(shù)的十位和個位拆分開來,分別是2和5,那用什么運算能實現(xiàn)這個結果呢?2525/10=225%10=537813781/1000=33781/100%10=73781%100/10=83781%10=1算數(shù)運算符與算術表達式賦值運算符賦值運算符“=”的作用就是給變量賦值,如“x=10;”。用賦值運算符將一個變量與一個表達式連接起來的式子稱為賦值表達式,在表達式后面加“;”便構成了賦值語句。賦值語句的格式如下由此可見,賦值表達式的功能是計算表達式的值再賦予左邊的變量。賦值運算符具有右結合性,因此有下面的語句:k=0xff; //將十六進制數(shù)0xff賦予變量kb=c=33; //將33同時賦予變量b和cd=e; //將變量e的值賦予變量df=a+b; //將表達式a+b的值賦予變量f變量=表達式;a=b=c=5;a=(b=(c=5));按照C語言的規(guī)定,任何表達式在其末尾加上分號就構成語句。因此“X=8;”和“a=b=c=5;”都是賦值語句。二.賦值運算符與賦值表達式筆段液晶顯示器由長條狀顯示像素組成一位顯示。主要用于數(shù)字、西文字母或某些字符顯示,顯示效果與數(shù)碼管類似。字符液晶顯示器為專門用來顯示字母、數(shù)字、符號等的點陣型液晶顯示模塊,在項目任務中使用的就是這種液晶模塊。圖形液晶顯示器在一平板上排列多行和多列,形成矩陣形式的晶格點,點的大小可根據(jù)顯示的清晰度來設計,可廣泛用于圖形顯示,如游戲機、筆記本電腦和彩色電視等設備中。液晶顯示器可分為下面的筆段型、字符型和點陣圖形型三類二.賦值運算符與賦值表達式1602LCD字符液晶顯示器構成復合賦值表達式的一般形式為:例如:變量復合賦值運算符表達式a+=5 //相當于a=a+5x*=y+7 //相當于x=x*(y+7)r%=p: //相當于r=r%p在程序中使用復合賦值運算符,可以簡化程序,有利于編譯處理,提高編譯效率并產(chǎn)生質量較高的目標代碼。二.賦值運算符與賦值表達式運算符名稱+=加法賦值=減法賦值*=乘法賦值/=除法賦值%=取余賦值<<=左移位賦值>>=右移位賦值&=邏輯與賦值|=邏輯或賦值^=邏輯異或賦值~=邏輯非賦值它等效于:變量=變量運算符表達式在前面介紹過的選擇程序結構中,經(jīng)常需要比較兩個變量的大小關系,以決定程序下一步的操作。比較兩個數(shù)據(jù)量的運算符稱為關系運算符。三
.關系運算符與關系表達式在關系運算符中,<、<=、>、>=的優(yōu)先級相同,==和!=優(yōu)先級相同;前者優(yōu)先級高于后者a+b>c+d;(a+b)>(c+d);運算符名稱>大于>=大于等于<小于<=小于等于==等于!=不等于例如:a==b>ca==(b>c)關系運算符優(yōu)先級低于算術運算符,高于賦值運算符例如:三.關系運算符與關系表達式關系表達式關系表達式是用關系運算符連接的兩個表達式。它的一般形式為:
表達式關系運算符表達式假定a=5;b=3;a>b的結果是什么呢?a==ba!=b三.關系運算符與關系表達式假0真1真1C語言中提供了三種邏輯運算符邏輯與(and):&&邏輯或(or
):||邏輯非(not):!“&&”和“II”是雙目運算符,要求有兩個運算對象,結合方向是從左至右?!?!”是單目運算符,只要求一個運算對象,結合方向是從右至左。四.邏輯運算符與邏輯表達式真真真邏輯與:&&表達式1&&表達式2&&=真&&=假假真&&=假假&&=假假假邏輯或:||表達式1||表達式2真真真||=真||=假真=假=假假假||||真真邏輯非:!!表達式真!=假!=假真四.邏輯運算符與邏輯表達式邏輯運算符“!”的優(yōu)先級最高,其次為“&&”,最低為“II 和其他運算符比較,優(yōu)先級從高到低的排列順序為:!算術運算符—關系運算符一&&II算術運算符一賦值運算符例如:
"a>b&&x>y"
可以理解為"(a>b)&&(x>y)", "a==bllx==y"
可以理解為"(a==b)I|(x==y)",
"!aIIa>b"
可以理解為"(!a)II(a>b)"。四.邏輯運算符與邏輯表達式在51單片機應用系統(tǒng)設計中,對I/O端口的操作是非常頻繁的,因此往往要求程序在位(bit)一級進行運算或處理,因此,編程語言要具有強大靈活的位處理能力。C51語言直接面對51單片機硬件,提供了強大靈活的位運算功能,使得C語言也能像匯編語言一樣對硬件直接進行操作。五.位運算符與位運算表達式運算符名稱&按位與|按位或^按位異或~按位取反>>右移<<左移位變量1位變量2位運算ab~a~ba&ba|ba^b0011000011001110010111100110五.位運算符與位運算表達式按位與運算:&運算法則:有0出0,全1出1aba&b000010100111x&0=0//x代表0或者1x&1=x//x代表0或者1五.位運算符與位運算表達式按位或運算:|運算法則:有1出1,全0出0aba|b111000011101x|0=x//x代表0或者1x|1=1//x代表0或者1五.位運算符與位運算表達式按位異或運算:^運算法則:相同為0,不同為1aba&b000011101110x^0=x//x代表0或者1x^1=取反
//x代表0或者1五.位運算符與位運算表達式按位取反運算:~運算法則:把1變0,把0變1a~a0110~x=取反
//x代表0或者1五.位運算符與位運算表達式左移運算符“<<”左移運算符“<<”的功能,是把“<<”左邊的操作數(shù)的各二進制位全部左移若干位,移動的位數(shù)由“<<”右邊的常數(shù)指定,高位丟棄,低位補0。例如“a<<1”是指把a的各二進制位向左移動1位。如a=182轉換為二進制形式:10110110011011001丟掉a<<1=01101100五.位運算符與位運算表達式右移運算符“>>”右移運算符“>>”的功能,是把“>>”左邊的操作數(shù)的各二進制位全部右移若干位,移動的位數(shù)由“>>”右邊的常數(shù)指定。進行右移運算時,如果是無符號數(shù),則總是在其左端補“0”;對于有符號數(shù),在右移時,符號位將隨同移動。當為正數(shù)時,最高位補0,而為負數(shù)時,符號位為1,最高位是補0還是補1取決于編譯系統(tǒng)的規(guī)定。例如:設a=0x98如果a為無符號數(shù),則“a>>2”表示把10011000B右移為00100110B;如果a為有符號數(shù),則“a>>2”表示把10011000B右移為11100110B。五.位運算符與位運算表達式在C語言中逗號“,”也是一種運算符,稱為逗號運算符,其功能是把兩個表達式連接起來組成一個表達式,稱為逗號表達式,其一般形式為:表達式1,表達式2,…,表達式n逗號表達式的求值過程是:從左至右分別求出各個表達式的值,并以最右邊的表達式n的值作為整個逗號表達式的值。程序中使用逗號表達式的目的,通常是要分別求逗號表達式內(nèi)各表達式的值,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 下學期教皇的奶牛-課件
- 《證券投資相關》課件
- 《湖泊的水文特征》課件
- 《語文下冊《雪》魯迅》課件
- 七年級英語上冊期末復習課件
- 單位管理制度集粹選集人力資源管理
- 單位管理制度匯編大全人力資源管理篇
- 單位管理制度合并匯編【人事管理篇】
- 單位管理制度范文大合集員工管理篇
- 單位管理制度范例匯編人事管理篇
- 小說面面觀(譯文經(jīng)典)
- 普通地質學教材
- 《并聯(lián)機器人運動學》
- 中國聯(lián)通動環(huán)監(jiān)控系統(tǒng)C接口-0812
- GB/T 30680-2014氟橡膠板通用技術條件
- 41.脅痛(膽囊結石)中醫(yī)臨床路徑
- 車間現(xiàn)場安全培訓內(nèi)容課件參考
- 油藏工程-油藏物質平衡方法-1課件
- 三上書法《撇》教學課件
- 河北省廊坊市藥品零售藥店企業(yè)藥房名單目錄
- 簡單的個人原因辭職報告(通用17篇)
評論
0/150
提交評論