C語言程序設計(第三版)高禹 第4章選擇結構程序的設計_第1頁
C語言程序設計(第三版)高禹 第4章選擇結構程序的設計_第2頁
C語言程序設計(第三版)高禹 第4章選擇結構程序的設計_第3頁
C語言程序設計(第三版)高禹 第4章選擇結構程序的設計_第4頁
C語言程序設計(第三版)高禹 第4章選擇結構程序的設計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第 4章 選擇結構程序設計 第 1頁 第 4章 選擇結構程序的設計 本章概述 本章的學習目標 主要內(nèi)容 第 4章 選擇結構程序設計 第 2頁 本章概述 首先介紹條件表達式和邏輯表達式 其次介紹了選擇結構的基本語句 相應程序舉例 第 4章 選擇結構程序設計 第 3頁 本章的學習目標 本章教學目的 : 掌握關系表達式和邏輯表達式的使用方法,能使用 句編寫簡單的程序。 本章教學重點: 句 本章教學難點: 第 4章 選擇結構程序設計 第 4頁 主要內(nèi)容 關系運算及關系表達式 邏輯運算及邏輯表達式 程序舉例 第 4章 選擇結構程序設計 第 5頁 系運算及關系表達式 所謂“關系運算”實際上就是“比較運算”,即將兩個數(shù)據(jù)進行比較,判定兩個數(shù)據(jù)是否符合給定的關系。 例如,“ a b”中的“ ”表示一個大于關系運算。 如果 , ,則大于關系運算“ ”的結果為“真”,即條件成立; 如果 , ,則大于關系運算“ ”的結果為“假”,即條件不成立。 第 4章 選擇結構程序設計 第 6頁 系運算及關系表達式 關系運算符及其優(yōu)先次序 1關系運算符 種關系運算符: (大于 ), =(大于或等于 ), =(等于 ), !=(不等于 ) 2優(yōu)先級 在關系運算符中,前 4個優(yōu)先級相同,后 2個也相同,且前 4個高于后 2個。 第 4章 選擇結構程序設計 第 7頁 系運算及關系表達式 注意: 在語言中,“ 等于 ”關系運算符是雙等號 ”= =”,而不是單等號“ = ”(賦值運算符)。 應避免對實數(shù)作相等或不等的判斷 ,如 = , 可改寫為: )b, a+b(a=3)=b, (ab)= =(bc) 2關系表達式的值 邏輯值(非“真”即“假”)。 第 4章 選擇結構程序設計 第 9頁 注意: 可以把關系表達式的值賦給其他變量, z= (xy+3) 當 x=23, y=12時, 。 a=(b!=c) 當 b=2、 c=2時, 。 關系運算符是自左至右的結合方向, 若 a=3、 b=2、 c=1, y=(abc) ,則 y 的值為 0。 因為按照自左至右的結合方向,先執(zhí)行關系運算“ ab”得值為 1(“真”),再執(zhí)行關系運算“ 1c”,得值為 0(“假”),因此 。 第 4章 選擇結構程序設計 第 10頁 關系運算符的優(yōu)先級低于算術運算符。關系運算符的優(yōu)先級高于賦值運算符。根據(jù)優(yōu)先級的規(guī)定,下面左邊的關系表達式可以簡化為下面右邊的形式: (b*a*c)=0 b*a*c=0 z= (xy+3) z= xy+3 (a b)= = c ab= =c a=(b!=c) a=b!=c 當然為提高程序的可讀性、可維護性你不妨多使用括號,因為 第 4章 選擇結構程序設計 第 11頁 邏輯運算及其表達式 關系表達式只能描述單一條件,例如“ x=0”。如果需要描述“ x=0”、同時“ &( y0) x0 & y0 ( x= =3) | |( y!= 6) x= =3 | | y!= 6 (& (!z) & !z 第 4章 選擇結構程序設計 第 14頁 邏輯運算及其表達式 邏輯表達式 1邏輯表達式的概念 所謂邏輯表達式是指,用邏輯運算符將 1個或多個表達式連接起來,進行邏輯運算的式子。在 邏輯表達式表示多個條件的組合。 例如,(=0)&(00!=0)|(00=0) 就是一個判斷一個年份是否是閏年的邏輯表達式。 邏輯表達式的值也是一個邏輯值(非“真”即“假”)。 第 4章 選擇結構程序設計 第 15頁 邏輯運算及其表達式 2邏輯量的真假判定 和非 語言用整數(shù)“”表示“邏輯真”、用“”表示“邏輯假”。但在判斷一個數(shù)據(jù)的“真”或“假”時,卻以和非為根據(jù):如果為,則判定為“邏輯假”;如果為非,則判定為“邏輯真”。 例如,假設 2,則: ! , 1 1。 第 4章 選擇結構程序設計 第 16頁 邏輯運算及其表達式 3說明 邏輯運算符兩側的操作數(shù),除可以是和非的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。 注意:在邏輯表達式的求解中,并不是所有的邏輯運算符都被按順序執(zhí)行,若計算到某一步時,邏輯表達式的值是“真”是“假”已經(jīng)明確,則不再執(zhí)行后面的邏輯運算符。 例如: ( 1)對于邏輯表達式 a & b & c , 只有 0)時,才需要判別 有 a和 要 不再去判斷 b和 c(此時整個表達式已確定為假)。如果 不再去判斷 c。 ( 2)對于邏輯表達式 a | | b | | c, 只要 0),就不再去判斷 b和 c。只有 去判斷 b。 a和 去判斷 c。 第 4章 選擇結構程序設計 第 17頁 據(jù)判定的結果(真或假),決定執(zhí)行哪條分支的語句。 1第一種 達式)語句 它的執(zhí)行過程見圖,若表達式為“真”,則執(zhí)行該語句,否則不執(zhí)行該語句。 第 4章 選擇結構程序設計 第 18頁 例 從鍵盤輸入一個整數(shù) x,如果 x0,則打印 # x; x:); %d,&x); x0) x=%dn, x); ; 第 4章 選擇結構程序設計 第 19頁 2第二種 達式) 語句 1 語句 2 它的執(zhí)行過程是 : 若表達式為“真”,則執(zhí)行該語句 1,否則執(zhí)行語句 2,語句 1和語句 2只能有其中一個語句被執(zhí)行到。 第 4章 選擇結構程序設計 第 20頁 # a; 輸入一個整數(shù) :); %d,&a); if(a%2= =0) %d 是偶數(shù) n,a); %d 是奇數(shù) n,a); ; 例 從鍵盤輸入一個整數(shù),判斷該整數(shù)是奇數(shù)還是偶數(shù)。 第 4章 選擇結構程序設計 第 21頁 3第三種 達式 1) 語句 1 達式 2) 語句 2 達式 語句 語句 n 第 4章 選擇結構程序設計 第 22頁 第三種 第 4章 選擇結構程序設計 第 23頁 # x,y; x:); %f,&x); if( | y0) z=x+y; z=% z); z= z=% z) ; 第 4章 選擇結構程序設計 第 25頁 (4) 在第三種形式的 后的 例如例 # x,y; x:); %f,&x); x=2) y=x+3; x=%f, y=%fn,x,y); ; 第 4章 選擇結構程序設計 第 26頁 條件運算符 條件運算符要求有 3個操作對象,稱為三目運算符,它是 件表達式的一般形式如下: 表達式 1?表達式 2:表達式 3 它的執(zhí)行過程是:先求解表達式 1,若表達式 1為“真”,則取表達式 2的值為該條件表達式的值,否則取表達式 3的值為該條件表達式的值。 例如以下的 0: y3? 1: 相當于 x8? 0:( y3? 1: ( 4)條件表達式中“表達式 2”和“表達式 3” 不僅可以是數(shù)值表達式,也可以是賦值表達式或函數(shù)表達式。 例如: xy ?( z=x+y):( z=x*y) 或 xy ? A): a) 即 x面條件表達式的值是 A); 否則上面條件表達式的值是 a)。 函數(shù) 顯示的字符。 第 4章 選擇結構程序設計 第 29頁 例 輸入一個 2位整數(shù),判斷它的十位數(shù)碼是否為 3,如果是 3,將它乘以 10;如果不是 3,將它乘以 6。然后輸出乘以 10或乘以 6后的結果。 # m, k; %d,&m); k=(m/10=3)?(m=m*10) : (m=m*6); %dn,k); ; 第 4章 選擇結構程序設計 第 30頁 1 達式 ) 常量表達式 1:語句組; 常量表達式 2:語句組; . 常量表達式:語句組; 句組; 第 4章 選擇結構程序設計 第 31頁 2執(zhí)行過程 ( 1)當 達式”的值,與某個量表達式”的值相同時,就執(zhí)行該 );當執(zhí)行到 出 向執(zhí)行 ( 2)如果沒有任何一個 量表達式”的值,與“表達式”的值匹配,則執(zhí)行面的語句(組)。然后,再執(zhí)行 第 4章 選擇結構程序設計 第 32頁 3注意問題: ( l) ( 2)每一個 則就會出現(xiàn)互相矛盾的現(xiàn)象。 ( 3)在 可以不用花括弧括起來,會自動順序執(zhí)行本 然加上花括弧也可以。 第 4章 選擇結構程序設計 第 33頁 3注意問題: ( 4) 終止 式中的為沒有法跳出 繼續(xù)執(zhí)行下一條 后一個分支( 以不加 ( 5)各個 第 4章 選擇結構程序設計 第 34頁 (6) 多個 如: a) 4: ; 5: 6: 7: ; 當 、 6或 7時,都執(zhí)行同一組語句“ ; 。 第 4章 選擇結構程序設計 第 35頁 例 分析下面程序。 # (y/n):); %c,& y: Y: Y yn); n: N: N nn); is n); ; 第 4章 選擇結構程序設計 第 36頁 在 為 如下所示: 語句 1 語句 2 語句 3 語句 4 應當注意 果 實現(xiàn)程序設計者的意圖,可以加花括弧來確定配對關系。 第 4章 選擇結構程序設計 第 37頁 # x,y; x:); %f,&x); if(x x,y; x:); %f,&x); x=0) 0 : y=5* 1: x=10) 0 : y=4*x; 1 : y=2*x+3; y=%fn,y); ; 運行程序: 若輸入 (x=0)為假,則輸出 是按照 y=5* 若輸入 8,則 (x=0)為真,而(x=10) 為假,則輸出 32,即是按照 y=4* 若輸入 12,則 (x=0)為真,而 (x=10) 也為真,則輸出 27,即是按照 y=2*x+3來計算并輸出 所以例 第 4章 選擇結構程序設計 第 39頁 程序設計舉例 例 輸入三個數(shù)存放在變量 a、 b、 求:經(jīng)過交換變量 a、 b、 a、 b、 后輸出從小到大排列的 a、 b、 # a,b,c,t; %f%f%f,&a,&b,&c); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; %f %f %fn,a,b,c); ; 第 4章 選擇結構程序設計 第 40頁 程序設計舉例 例 輸入一個百分制成績,要求輸出一個用英文字母表示的等級制成績,大于或等于 90分的為 A等,小于 90分但大于或等于 80分的為 B等,小于 80分但大于或等于 70分的為 C等,小于 70分但大于或等于 60分的為 D等,其余為 E等。 分析:本題可以用 個百分制成績一般是一個實數(shù),沒辦法一一列舉出來,所以要轉換為整數(shù)。根據(jù)題中已知,每隔 10分劃一個分數(shù)段??蓪⒔o定的分數(shù)除以 10,變成從 0到10之間的整數(shù),就可以用 第 4章 選擇結構程序設計 第 41頁 程序如下: # %f”, &; ( 0) ; : : : : : : E n”); : Dn”); : Cn”); : Bn”); : 0: An”); ; 第 4章 選擇結構程序設計 第 42頁 第二種方法 : 上面的 以用下面比較簡潔的形式替換: 10: 9: An”); 8: Bn”); 7: Cn”); 6: Dn”); E n”); 第 4章 選擇結構程序設計 第 43頁 例 bx+c=0方程的解。 對于 bx+c=0方程( ), 應該有以下幾種可能: ( 1) , 有兩個相等實根。 ( 2) , 有兩個不相等實根。 ( 3) ) a,b,c,d,x1,x2,p,q; %f%f%f,&a,&b,&c); d=b*a*c; (d)1 -b+d)/(2*a); d)/(2*a); 有兩個不相等的實根: %f 和 %fn, p=2*a); q=d)/(2*a); 有兩個共軛復根 n); %n,p,q); %n,p,q); ; 第 4章 選擇結構程序設計 第 45頁 例 企業(yè)發(fā)放的獎金根據(jù)利潤 利潤 于 100萬元的部分按 1%提成。 從鍵盤輸入當月利潤 i,求應發(fā)放獎金總數(shù)。 第 4章 選擇結構程序設計 第 46頁 方法一:用 # 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論