C語言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語句ppt課件_第1頁
C語言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語句ppt課件_第2頁
C語言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語句ppt課件_第3頁
C語言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語句ppt課件_第4頁
C語言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語句ppt課件_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第四章 選擇結(jié)構(gòu)程序設(shè)計(jì),4.1.1 邏輯值及其在C語言中的表示,關(guān)系運(yùn)算和邏輯運(yùn)算的運(yùn)算結(jié)果都是一個(gè)邏輯值,邏輯值只有兩個(gè)值,即:“真”和“假”。在C語言中,用數(shù)值1來表示“真”,用數(shù)值0來表示“假”。 因此邏輯值也可以作為一個(gè)整數(shù)參與算術(shù)運(yùn)算。反之,對于參與關(guān)系運(yùn)算或邏輯運(yùn)算的任意一個(gè)表達(dá)式,如果該表達(dá)式的值為零,就代表一個(gè)邏輯“假”值;只要表達(dá)式的值不是零,無論是正數(shù)還是負(fù)數(shù),都代表一個(gè)邏輯“真”值,4.1.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式,所謂“關(guān)系運(yùn)算”實(shí)際上就是“比較運(yùn)算”,即將兩個(gè)數(shù)據(jù)進(jìn)行比較,判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系。 例如,“a b”中的“”表示一個(gè)大于關(guān)系運(yùn)算。如果a的值是

2、8,b的值是5,則這個(gè)關(guān)系運(yùn)算的結(jié)果為“真”,即數(shù)值1,表示條件成立;如果a的值是6,b的值是9,則運(yùn)算的結(jié)果為“假”,即數(shù)值0 ,表示條件不成立,1關(guān)系運(yùn)算符及其優(yōu)先級,C語言提供了六種關(guān)系運(yùn)算符,如表4.1所示,注意:有些運(yùn)算符是由兩個(gè)字符組合而成的,如:=;其兩個(gè)字符之間不能有空格。在關(guān)系運(yùn)算符中,前4個(gè)優(yōu)先級相同,后2個(gè)也相同,且前4個(gè)關(guān)系運(yùn)算符的優(yōu)先級高于后2個(gè)。 所有關(guān)系運(yùn)算符的優(yōu)先級都比算術(shù)運(yùn)算符的優(yōu)先級低、但都比賦值運(yùn)算符的優(yōu)先級高,2關(guān)系表達(dá)式,用關(guān)系運(yùn)算符將兩個(gè)操作數(shù)(常量、變量或表達(dá)式)連接起來,進(jìn)行關(guān)系運(yùn)算的式子,稱為關(guān)系表達(dá)式。 例如,假設(shè)n1=5,n2=8,n3=1

3、0,則: (1)關(guān)系表達(dá)式n1=n2的值為0。 (2)關(guān)系表達(dá)式n1n3的值為1。 (4)關(guān)系表達(dá)式n1= n2n3的值等為0,注意:由于存在存儲誤差和轉(zhuǎn)換誤差,不能直接用關(guān)系運(yùn)算符“=”來判斷兩個(gè)實(shí)型數(shù)是否相等。 單精度實(shí)數(shù):fabs(x-y)0.000001 雙精度實(shí)數(shù):fabs(a-b)1e-14,1邏輯運(yùn)算符及其優(yōu)先級 C語言提供了三種基本的邏輯運(yùn)算符。邏輯代數(shù)的其它邏輯運(yùn)算都可以轉(zhuǎn)化為這三種邏輯運(yùn)算的組合,4.1.3 邏輯運(yùn)算符與邏輯表達(dá)式,優(yōu)先級次序: ! (邏輯非)14 算術(shù)運(yùn)算符13/12 關(guān)系運(yùn)算符10/9 a=1;b=2;c=3; x=(a-1),4.2 if語句,1. i

4、f語句的一般形式 if(表達(dá)式) 語句1 else 語句2,if語句可以根據(jù)給定的條件進(jìn)行判斷,決定執(zhí)行某個(gè)分支程序段,以實(shí)現(xiàn)選擇結(jié)構(gòu)的程序設(shè)計(jì),表達(dá)式可以是任何類型的C表達(dá)式,語句1、語句2都可以是 復(fù)合語句,else子句不能單獨(dú)使用(可選,if語句的執(zhí)行過程:先求表達(dá)式的值,main() int n1, n2, n3, max ; printf(Please input three numbers:); scanf(%d,%d,%d ,程序運(yùn)行情況如下: Please input three numbers:11,22,18 max=22,例4.1 輸入三個(gè)整數(shù),求最大值,*簡化形式*/

5、max=n1; if (n2max) max=n2,例4.2 輸入三個(gè)整數(shù),在變量a,b,c中排序,main() int a, b, c, t; printf (input a, b, c: ); scanf (%d %d %d ,程序運(yùn)行情況如下: input a, b, c: 62 34 24 a=62,b=34,c=24 a=24,b=34,c=62,if語句中的if子句和else子句可以是任意合法的C語句,當(dāng)然也可以是另外一個(gè)if語句,通常稱這種語句為嵌套的if語句。 內(nèi)嵌的if語句既可以嵌套在if子句中,也可以嵌套在else子句中。在運(yùn)用嵌套的if語句時(shí),應(yīng)該特別注意else子句和i

6、f子句的配套問題。如果在嵌套的if語句中沒有用一對花括號強(qiáng)制地結(jié)束某個(gè)內(nèi)嵌的不帶else子句的if語句,則else子句總是與在它前面的、離它最近的、尚未與其它else子句匹配的if子句相匹配。 以下介紹兩種值得關(guān)注的嵌套if語句,2. 嵌套的if語句,在if語句的else子句中嵌套多個(gè)具有else子句的if語句 語句形式如下: if(表達(dá)式1) 語句1 else if(表達(dá)式2) 語句2 else if(表達(dá)式3) 語句3 else if(表達(dá)式4) 語句4 . else 語句n 執(zhí)行過程:從上向下逐一對if后的表達(dá)式進(jìn)行檢測,當(dāng)其中某一個(gè)表達(dá)式的值為非零時(shí),就執(zhí)行與之對應(yīng)的if子句,階梯形子句中的其余部分就被跳越過去。如果所有表達(dá)式的值都為零,則執(zhí)行最后的else子句,即語句n;如果最內(nèi)層的if語句沒有else子句,那么將不進(jìn)行任何操作,1) 用嵌套的if語句形成多分支語句,例4.3,編寫程序,根據(jù)輸入的學(xué)生成績,給出相應(yīng)的等級。90分以上的等級為A,60分以下的等級為E,其余每10分為一個(gè)等級,main( ) int g; printf( Enter g:); scanf( %d ,程序運(yùn)行情況如下: Enter g:78 g=78:C,2) 在if子句中嵌套不含else子句的if語句,用花括號把內(nèi)層if語句括起來后,使得此內(nèi)層if語句在語法上成為一條獨(dú)立的語句,從而使得el

溫馨提示

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

最新文檔

評論

0/150

提交評論