




已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第2章 算法,算法在程序中的重要性,一個程序包含以下內(nèi)容,數(shù)據(jù)的類型與組織形式數(shù)據(jù)結(jié)構(gòu) 操作步驟算法 結(jié)構(gòu)化程序設計方法 計算機語言,計算機算法,數(shù)值運算 非數(shù)值運算,算法實例,在一組數(shù)a1,a2,a3,a4,.,a10中找出最大值,算法的特征,有窮性:操作步驟有限 確定性:每一步驟有確切定義 輸入:0個或多個輸入,從外界獲得信息 輸出:一個或多個輸出,反映數(shù)據(jù)處理結(jié)果有效性:每個步驟能執(zhí)行,并有確定結(jié)果 “正確”的算法有優(yōu)劣之分,時間、空間的復雜度,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼 計算機語言,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼 計算機語言,如果x是正數(shù),就打印x;否則打印-x,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼 計算機語言,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼 計算機語言,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼1 計算機語言,如果 x0 就 打印 x 否則 打印 -x,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼2 計算機語言,if x0 then print x else print -x,算法的表達方式,自然語言 流程圖 N-S圖 偽代碼2 計算機語言,if (x0) printf(“%d“, x); else printf(“%d“, -x);,判斷框,處理框,輸入/輸出框,流程線,程序流程圖常用符號,結(jié)構(gòu)化程序設計方法,自頂向下 逐步細化 模塊化設計 結(jié)構(gòu)化編碼,大任務分解為小任務,三種基本程序結(jié)構(gòu),順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),順序結(jié)構(gòu)流程,步驟1,步驟2,步驟3,選擇結(jié)構(gòu)(分支結(jié)構(gòu))流程,語句組1,語句組2,條件,Y,N,循環(huán)結(jié)構(gòu)流程,語句組,條件,Y,N,第4章 選擇結(jié)構(gòu),選擇結(jié)構(gòu)(分支結(jié)構(gòu))流程,語句組1,語句組2,條件,Y,N,選擇結(jié)構(gòu)實例,P.66 例3.5 一元二次方程 程序存在的問題:用戶輸入的數(shù)據(jù)必須保證b2-4ac0,否則調(diào)用sqrt函數(shù)會出錯。 改進:P.86 例4.1 是否還有不完善之處?,if語句,if (條件) 語句,if (條件) 復合語句 else 復合語句,if (條件) 語句 else 語句,if語句,int x; printf(“x=“); scanf(“%d“,分別輸入正數(shù)、負數(shù)、零,判斷程序的運行結(jié)果,if語句,int x; printf(“x=“); scanf(“%d“,分別輸入正數(shù)、負數(shù)、零,判斷程序的運行結(jié)果,關系運算符, = = !=,優(yōu)先級高 優(yōu)先級低,關系運算符,例:P.92 L.8,關系表達式,用關系運算符連接算術表達式(或字符/關系/邏輯/賦值表達式)形成 關系表達式的值是真(以1表示) 或假(以0表示) 字符/關系/邏輯/賦值表達式均以數(shù)值形式參加關系運算,關系表達式,判斷下面程序運行時顯示的結(jié)果: int a=5,b=3; printf(“%dn“,ab); printf(“%dn“,(a3)(b=3); printf(“%dn“,a3b=3); printf(“%dn“,ab2); printf(“%dn“,a-3(b=2); printf(“%dn“,aA);,邏輯運算符,! 非 & 與 | 或,運算規(guī)則見表4-2,4-3,例 P.93-94,優(yōu)先級,邏輯表達式,例:P.95-96 閏年的表達 以邏輯運算符連接關系表達式和邏輯量形成 邏輯表達式的結(jié)果是真(以1表示) 或假(以0表示) 0和1以外的數(shù)據(jù)(數(shù)值、字符等)參加邏輯運算時,以0為假,非0為真,邏輯變量,C+,C99版本使用 類型符 _Bool 值為 true 和 false 頭文件 stdbool.h,if語句,if (條件) 語句 if (條件) 語句 else 語句 if (條件) 復合語句 else 復合語句,說明: “條件”是關系表達式或邏輯表達式,其值為“真”(非0)或“假”(0) 語句均要以分號結(jié)束, 括起的復合語句每句都以分號結(jié)束,if語句,例:P.88 例4.3 三個數(shù)從小到大排列,例 求分段函數(shù)的值,* 用多個平行的 if 語句表達 * 用 if else if else 表達 * abs,pow,exp函數(shù)的使用,if語句,if(條件1) 語句1 else if(條件2) 語句2 else if(條件3) 語句3 else 語句n,例:求一元二次方程的解,if語句的嵌套,if 語句的嵌套 if (.) if (.) 語句1 else 語句2 else if (.) 語句3 else 語句4,“語句”包括復合語句,讀教材101頁代碼,條件運算符和條件表達式,條件運算符 ? : 唯一的三目運算符 條件表達式 表達式1 ? 表達式2 : 表達式3 當表達式1為真時返回表達式2的值,否則返回表達式3的值,條件運算符和條件表達式,例 int a,b,x; a=5; b=8; x=ab?a:b; printf(“%d“,x);,switch語句實現(xiàn)多分支選擇結(jié)構(gòu),switch (表達式) case 常量表達式1: 語句1 case 常量表達式2: 語句2 case 常量表達式n: 語句n default: 語句n+1 ,switch語句實現(xiàn)多分支選擇結(jié)構(gòu),說明: switch會執(zhí)行相符的分支之后的所有語句; 為了使程序在執(zhí)行一個相符的分支后不再繼續(xù)執(zhí)行后面的語句,可使用break語句終止switch; 相鄰的多個分支可執(zhí)行共同的語句。,閱讀下面的程序,判斷編譯和運行結(jié)果,int x; char y; scanf(“%d“,x); if (90=x=100) y=“A“; if (80=x=89) y=“B“; if (70=x80) y=“C“; if (60=x70) y=“D“; else y=“E“; printf(“Level:%cn“,y);,注意: scanf函數(shù)中的地址運算符; 90=x=100的正確表達; char類型,單引號與雙引號; 分支的結(jié)構(gòu)與運行步驟。,閱讀下面的程序,判斷編譯和運行結(jié)果,int x; char y; printf(“input x :“); scanf(“%d“,x); switch (x/10) case 10 : y=“A“; case 9 : y=“A“;,case 8 : y=“B“; case 7 : y=“C“; case 6 : y=“D“; default : y=“E“; printf(“Level:%cn“,y);,注意: 同前;case后的數(shù)據(jù)類型; 每個case后的break語句; 使用相同語句的分支合并。,閱讀下面的程序,判斷運行結(jié)果,int x=13,y; if (x5) printf(“y=20“); printf(“y=10“); printf(“%d“,y);,注意:y沒有被賦值的錯誤;分支結(jié)束后的語句,閱讀下面的程序,判斷運行結(jié)果,float r,S; scanf(“r=%f“,注意: (1)條件后未寫 造成分支語句不匹
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 堤防汛期施工方案
- 孝感巖棉板活動房施工方案
- 賬務清理閉環(huán)管理方案
- 圍欄獨立基礎施工方案
- 農(nóng)田提升項目施工方案
- 鋼箱梁 施工方案
- 幼兒園感恩節(jié)發(fā)言稿
- 居間協(xié)議和委托協(xié)議
- 蜘蛛人外墻刷漆施工方案
- 發(fā)言稿的拼音
- 2025年南昌理工學院單招職業(yè)技能測試題庫審定版
- 2025年廣西職業(yè)院校技能大賽高職組(商務數(shù)據(jù)分析賽項)參考試題庫資料及答案
- 2025年黑龍江農(nóng)墾職業(yè)學院單招職業(yè)傾向性測試題庫帶答案
- 四年級下冊 道德與法治 全冊教案
- 個人租房房屋合同范本
- MSA測量系統(tǒng)培訓
- 冷庫安全培訓
- 線上教育平臺教師教學行為規(guī)范與責任書
- 2025年內(nèi)蒙古法院系統(tǒng)招聘用制書記員2988人過渡高頻重點模擬試卷提升(共500題附帶答案詳解)
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 《環(huán)境污染對生態(tài)系統(tǒng)的影響》課件
評論
0/150
提交評論