判斷與決策_選擇程序設計(2).ppt_第1頁
判斷與決策_選擇程序設計(2).ppt_第2頁
判斷與決策_選擇程序設計(2).ppt_第3頁
判斷與決策_選擇程序設計(2).ppt_第4頁
判斷與決策_選擇程序設計(2).ppt_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高級語言計算機編程、選擇計算機編程(2)、審查、1判斷條件的形式:通常通過關系表達式2判斷條件的結果:邏輯真1、邏輯假0 3實際上可以使用除關系表達式以外的所有計算結果的表達式作為判斷條件,計算結果非零牙齒的數(shù)字將轉換為邏輯真。計算結果0可以是邏輯假算術表達式函數(shù)調用表達式4,簡單的變量或常量。結構的兩種茄子格式:if (condition) if (condition) else、使用大括號和復合語句塊if()。多扇門的問題3:根據(jù)成績將學生組分為多個組。問題說明:教師要將參加一次考試的學生分數(shù)除以分數(shù)(90以上,80 89,70 79,60 69,60以下)來統(tǒng)計各組的人數(shù)。分析,輸入:學

2、生成績grade輸出:根據(jù)成績范圍如何判斷不同的結果A,B,C,D或F,統(tǒng)計結果grade的范圍?90以上、80到89,70到79,60到69、小于60 if(grade=90)、if(89=grade90)、復合判斷條件、可選結構邏輯判斷表達式(if)表達式為真邏輯判斷表達式(if);單個分支中的嵌套,如if(grade=60)if(grade=60)if(grade 70)printf( you are passedn ),和if(ggrade),雙分支嵌套,if (grade=90) printf (good!in group An );Elseif (grade=80) printf

3、(better!in groupn );else printf(“ok,in c or d or fn”);更好的寫作,if (grade=90) printf (good!in group An );Elseif (grade=80) printf (better!in groupn );else printf(“ok,in c or d or fn”);注:多個if-else嵌套,if else的匹配原則是else與以前未使用的最近if匹配,算法設計(1),1求和變量aNum,bNum,cNum,dNum,dNum;2如果學生成績輸入3輸入沒有結束,則執(zhí)行(4)或執(zhí)行(9);如果4分大于或

4、等于90,則輸出為組A信息、aNum 1、返回(2);5否則,如果成績大于或等于80,則輸出為組B信息、bNum 1、返回(2);6否則,如果成績大于或等于70,則輸出為C組信息、cNum 1、返回(2);7否則,如果分數(shù)大于或等于60,則輸出為D組信息,dNum 1,(2)。8否則,輸出將F組信息,fNum加1,返回(2)。9統(tǒng)計結果輸出;算法實現(xiàn)包括if elsenest.c、# include intmain (void) intanum=0、bnum=0、cnum=0、dnum=Int gradeWhile(scanf(%d),分析算法的運行情況。運行算法1代碼,對每個學生成績判斷幾次

5、,才能找到合適的位置。成績都在90以上會怎么樣?如果成績都在60分,70分以下會怎么樣?正常情況下,學生成績往往處于中游。也就是說,大多數(shù)都在70到80之間,客觀、符合實際的更好的結構是什么呢?看算法實現(xiàn)ifelsebetter.c,再分析問題,將成績除以10,100分發(fā)現(xiàn)為9,80 89分,相當于10,90 99分。0 9點對應的0基于整數(shù)常數(shù),輸入2學生評分等級;如果3 grade大于100或小于0,則輸出錯誤消息,然后返回(2)。4如果輸入未結束,則運行(5);否則,運行(12) 5,將分數(shù)除以10,四舍五入,如果相應的整數(shù)值number 6 number為10或9,則輸出組a信息,aN

6、um加1,返回(2);如果7 number為8,則輸出組B信息,將bNum加1返回(2)。如果8 number為7,則輸出組C信息、cNum 1、返回(2);如果9 number為6,則輸出D組信息、dNum 1、返回(2);如果10 number等于5或4或3或2或1或0,則輸出f組信息,然后將fNum加1返回(2)。如果11 number是其他數(shù)字,則輸出錯誤消息,然后返回(2)。12輸出統(tǒng)計結果。switch case多分支選擇結構,switch(整數(shù)表達式)case常量表達式:要執(zhí)行的語句breakCase常數(shù)表達式:要執(zhí)行的語句breakDefault:默認執(zhí)行語句、幾個茄子組件和s

7、witch(表達式)必須是整數(shù)值的表達式switch的主體將多個平行case常量表達式:括在大括號中。在每個case中,要執(zhí)行的語句可以是多個語句,因此無需綁定。或者,在整個swith主體的末尾,選擇default:行為,case1,break,case2,字符可以視為整數(shù)(ascii代碼)。如何知道輸入了什么樣的字符?文字類型,char c1,c2,C3;C1=A;C2=b;C3=1;整數(shù)變量也可以用于存儲文字常量,例如int grade1、grade2。grade 1=A;grade 2=B;電腦內部接受A,B的ASCII碼。字符比較、保留兩個字符常量或字符常量的變量可以使用大小ascii

8、代碼比較、字符類型數(shù)據(jù)輸入、scanf和printf函數(shù)以及占位符%c輸入和輸出字符類型數(shù)據(jù)。ASCII代碼為10的字符為回車符。這表明我們在輸入字母A后,被輸入的回車符牙齒變量A讀取了第二次?;剀嚪菬o用的,所以用臨時變量T從輸入緩沖區(qū)中讀取。下面示例中的scanf(“% c”,不是scanf(“% c”),而是scanf(“% d”),將字符輸出到屏幕的函數(shù),put char(a);代替Printf (%c ,a),算法設計(3),1求和變量aNum、bNum、cNum、dNum和fNum初始化為0。2輸入學生得分等級;3如果輸入未結束,則執(zhí)行(4)或執(zhí)行(10);如果4 grade等于A

9、,則輸出組A信息,將aNum加1返回(2)。如果5 grade為B,則輸出B組信息、bNum 1、返回(2);如果6 grade為C,則輸出C組信息、cNum 1、返回(2);7如果grade為D,則輸出D組信息,dNum 1,返回(2);如果8 grade為f,則輸出f組信息、fNum 1、返回(2);如果9 grade是其他字符,則輸出錯誤消息,然后返回(2)。10輸出統(tǒng)計結果。算法實現(xiàn)可以查看switch5grade.c,從鍵盤接收一個字符的另外兩個函數(shù),#include getche(),它可以接收鍵盤輸入字符中的一個,可以接受而無需回車,它會自動顯示在屏幕上。這稱為混響。Getch(

10、)與getche()不同,它沒有回音。將兩種牙齒與getchar()進行比較時,getchar()需要按回車鍵鍵,這樣變量才能讀取輸入緩沖區(qū)中的一個字符,并且不會回顯。,演示三個茄子文字輸入函數(shù),觀察其差異,問題4:一年是否為閏年,問題分析:判斷一年是否為閏年的條件是“一年可以分成4,但可以分成100,也可以分成4,可以分成400”,條件是閏年(1)“年可以分成4”Int grade1,grade2scanf(“% d % d”,grade1=60和grade2=60 pass=1牙齒嵌套或關系的兩個茄子判斷如何顯示?int no pass=0;Int grade1,grade2Scanf (

11、%d% d ,如果是grade1 60或grade2 60,則nopass=1順序判斷?更好的表達方法:邏輯運算符,邏輯運算的操作數(shù)是邏輯真或邏輯假邏輯和運算邏輯非運算!0=1,1=0;邏輯表達式,(grade1=60)常識不等于grade1=90)邏輯不是單數(shù)運算,它優(yōu)先于關系運算,因此不能省略省略()、優(yōu)先級和并集、算術關系運算邏輯和運算邏輯或運算,邏輯運算的操作數(shù)為0、1、0和1的運算有規(guī)則地“邏輯和”此時邏輯表達式的值必須為假,只有全部為真時,才能向右計算,才有意義。(I!=0) (j/I 0)由“邏輯或”組成的邏輯表達式也從左到右計算,如果具有操作數(shù)的表達式的值為1,則不再需要向右計算。這

溫馨提示

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

評論

0/150

提交評論