VC6-05-0-運算符與表達式_第1頁
VC6-05-0-運算符與表達式_第2頁
VC6-05-0-運算符與表達式_第3頁
VC6-05-0-運算符與表達式_第4頁
VC6-05-0-運算符與表達式_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、了解程序中使用的數(shù)據(jù)類型后,還要懂得如何操作這些數(shù)據(jù),所以掌握C語言中各種運算符及其表達式的應(yīng)用是必不可少的。C語言的主要特點就是擁有豐富的運算符和表達式。本章內(nèi)容是:表達式的概念,運算符及相關(guān)表達式的使用。其中包括賦值運算符、算數(shù)運算符、關(guān)系運算符、邏輯運算符、位邏輯運算符、逗號運算符、條件運算符及復合賦值運算符。1. 表達式2. 賦值運算符與賦值表達式3. 算術(shù)運算符與表達式4. 關(guān)系運算符與表達式5. 邏輯運算符與表達式6. 位邏輯運算符與表達式7. 逗號運算符與表達式8. 條件運算符與表達式9. 復合賦值運算符10. 小結(jié)實戰(zhàn)表達式是C語句的主體。在C語言中,運算符、變量和函數(shù)一起組成

2、表達式,表示各種運算功能。根據(jù)表達式內(nèi)含有操作符的個數(shù),我們把表達式分為:簡單表達式只含有一個操作符復雜表達式含有兩個或兩個以上操作符關(guān)于表達式逗號既可以當作分隔符,又可以用在表達式中1.2.3.4.用于間隔說明語句中的變量或函數(shù)中的參數(shù)。逗號是分隔符將若干獨立的表達式連接在一起。逗號在表達式中使用逗號分隔變量:int a,b;使用逗號分隔參數(shù):Printf(“abc%d”,c);分隔符范例for(i=0,j=100;i0,b0且a=b。上機演練2可逆素數(shù)可逆素數(shù)是指將一個素數(shù)各位數(shù)字的順序倒過來構(gòu)成的反序數(shù)仍然是素數(shù)。按以上敘述求所有的4位素數(shù)。用來判斷操作數(shù)的大小關(guān)系。符號功能大于=大于或

3、等于小于y;xy;a+bb+c;(m=4)j)!=(jk);注意!在判斷時,一定要注意等號運算符=的使用,不能和賦值運算符=弄混。如右上方的代碼,很多同學都寫過,原本目的是想判斷Amount變量是否等于100,在等于100的時候執(zhí)行if條件內(nèi)的復合語句。但實際上,這是一個對變量Amount賦值100的式子,它的結(jié)果是非0,即為真。因此,這個if內(nèi)的復合語句將始終被運行,程序?qū)⒂肋h遇不到else的狀態(tài)。這就是邏輯錯誤。關(guān)系運算符連接兩個表達式、符合C語法規(guī)則的式子:關(guān)系表達式關(guān)系運算符、=的優(yōu)先級相同=和!=的優(yōu)先級相同前4種運算符優(yōu)先級高于后兩種。它們的結(jié)合性都是從左向右依次結(jié)合??醋筮叺拇a

4、。!=的優(yōu)先級要高于=這個賦值運算符所以這個條件判斷最后成了賦值運算,結(jié)果將同編程者初始意愿相悖。正確的寫法應(yīng)該是:if(Number=NewNum)!=10)注意!關(guān)系運算符的優(yōu)先級要低于算術(shù)運算符關(guān)系運算又叫比較運算算術(shù)運算符關(guān)系運算符賦值運算符大于大于優(yōu)先級沿箭頭方向遞減試一試你的力用1代表真,用0代表假。假設(shè)a=3,b=2,c=1,則下列表達式值為0的是:A. a+cbB. d=abcC. acD. (ab)=c有運算符、=、%,將它們按優(yōu)先級由低到高排列應(yīng)該是:12&邏輯與運算符:一假必假|(zhì)邏輯或運算符:一真必真!邏輯非運算符:真假相對關(guān)于優(yōu)先級:!的優(yōu)先級,大于&的

5、優(yōu)先級,大于|的優(yōu)先級綜合運算優(yōu)先級:!高于算術(shù)運算符高于關(guān)系運算符高于&和|高于賦值運算符邏輯運算符a=5,b=7,則a&b的值=1。a=5,b=7,則a|b的值=1。a=5,則!a的值=0。&運算,第一個操作數(shù)被判定為假,則系統(tǒng)將不再判定或求解第二個操作數(shù)。|運算,第一個操作數(shù)被判定為真,則系統(tǒng)將不再判定或求解第二個操作數(shù)。一些范例自左向右。結(jié)合性上機演練3判斷閏年從鍵盤上輸入一個表示年份的整數(shù),判斷該年份是否是閏年,判斷后的結(jié)果顯示在屏幕上。以前在實戰(zhàn)里涉及過閏年的算法,所以這一次不能查網(wǎng)絡(luò),試著自己寫出來吧。上機演練4黑紙與白紙有A、B、C、D、E5個人,每人額

6、頭上都貼了一張黑色或白色的紙條。5人對坐,每人都可以看到其他人額頭上的紙的顏色,但都不知道自己額頭上的紙的顏色。5人相互觀察后,A說:“我看見有3個人額頭上貼的是白紙,一個人額頭上貼的是黑紙?!盉說:“我看見其他4人額頭上貼的都是黑紙。”C說:“我看見有一個人額頭上貼的是白紙,其他3個人額頭上貼的是黑紙。”D說:“我看見其他4人額頭上貼的都是白紙?!盓說:“我不發(fā)表觀點?!爆F(xiàn)在已知額頭貼黑紙的人說的都是謊話,額頭貼白紙的人說的都是實話,問這5個人誰的額頭上貼的是黑紙,誰的額頭上貼的是白紙。&按位與雙目|按位或雙目按位異或雙目取補單目例如:If(a & b)這個判斷就是讓a和b按

7、位匹配。位邏輯運算是C語言里很特別的一部分,它可以實現(xiàn)位的設(shè)置、清零、取反、取補操作。它能實現(xiàn)許多匯編語言才能實現(xiàn)的功能。程序員用它們來作為開關(guān)標志。位邏輯運算符試一試你的力以下是單目運算符的是:A. &B. |C. D. 在C語言中,&作為雙目運算符時表示的是:12一般形式是:表達式1,表達式2,表達式n求解過程:先求表達式1,再求表達式2,一直求解到表達式n。整個逗號表達式的值是表達式n的值。小范例:K=1+1,2+2,3+3;最后它的值是多少?K=(1+1,2+2,3+3);最后它的值是多少?注意!逗號運算符的優(yōu)先級是最低的。逗號運算符又名順序求值運算符自左向右。結(jié)合性試

8、一試你的力在“int a,b,c;”語句中,逗號的作用是:在聲明變量的時候,逗號作為分隔符,用來分隔聲明變量。這個時候,它不是運算符。表達式“a=1,4+5,8”的值是:12結(jié)合方式也是由左向右表示方法:以上語句簡化后就是條件運算符max=(ab)?a:b;C語言中唯一的三目運算符試一試你的力假設(shè)變量a=3,b=4,c=5,則表達式a3?a+c:b4?b+c:c它的值是多少?下列運算符中,又一個運算符與其他運算符不同,它是:12A、=B、&C、?:D、%如+=、-=、*=、/=、%=、&=等形式:變量 雙目運算符=表達式例如:i+=3;它等價于:i=i+3;目的:1、簡化程序,精練程序。2、提高編譯效率。在i=i+1中,i計算兩次

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論