- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章決策敘述
第五章 決策敘述 人類的生活必須不斷面對決策問題,連我家一個不到三歲的小孩,也常要思考他手裡的十元是要坐電動車還是買棒棒糖。程式語言是協助解決人類問題的工具,當然也有決策敘述,C語言依決策點的多寡,分為以下三種決策敘述,第一是單一分歧決策的If - Then,例如肚子餓了就吃飯;第二是雙向分歧決策If - Then Else,例如肚子 餓了就吃飯,否則繼續前進;第三是多向分歧決策的Select Case,例如你身上5000元,走進一家五星級的大飯店用餐,你的分歧點就很多,有自助餐、中式套餐、日本料理、泰國餐點等等分歧點。本章的重點即是探討C語言的決策敘述。 5-1 if if通常用於單一分歧的決策,它的使用時機為“假如~則~”,也就是條件成立時,則執行某項工作,但若條件不成立時,則不予理會。其語法如下: if (運算式) { 敘述區塊; } 以上語法說明如下: 若運算式的值為1(true)則執行敘述區塊,運算式的值若為0(false),則不會被執行,其流程圖如下: 敘述區塊內的敘述若只有一個,則敘述區塊上下兩個大括號可予省略。例如, 以下敘述可以判斷變數a是否等於0,若條件成立則輸出Game Over。 if(a==0) printf(〝Game Over 〞); 3. 若敘述區塊上下的大括號遺漏,則條件成立時,C語言僅執行敘述區塊的第一個敘述,但更嚴重的問題,敘述區快第二個以後的敘述,不論條件成立與否,均含自動執行。例如,以下敘述執行之後,b=0,c=3。 a=2;b=0;c=0; if(a= =0) b=3; c=3; printf(“%d, %d”, b, c); /* b=0, c=3 */ 4. 敘述區塊內可以放置任何合法的敘述,當然也可以放置if,if中有if 稱為巢狀if。例 如,以下敘述除可判斷a是否及格,更可判斷其是否優等。 if(a=60) { b=”pass”; 及格 if (a=90) c=”outstanding”; 優等 } 範例5-1a 請輸入一個成績,若此成績大於等於60分,則輸出“及格”。 【執行結果】 【程式列印】 本例即是單一分歧決策的典型範例,當條件成立時,則執行某個敘述。 範例 5_1b 請寫一程式,滿足以下條件。 輸入兩個數。 求輸入兩數極大值。 輸出極大值。 【執行結果】 【程式列印】 [演算法則] 輸入第一數,本例以變數a儲存。 輸入第二數,本例以變數b儲存。 設定極大值(max)為第一數。 max=a 當第二數(b)大於極大值時,極大值即以b取代。 if (bmax) max=b; 輸出極大值(max)即為所求。 【自我練習】 請寫一程式,滿足以下條件。 輸入三個數。 求三個數極小值。 輸出極小值。 [演算法則] 輸入第一個數,本例以變數a儲存。 輸入第二個數,本例以變數b儲存。 輸入第三個數,本例以變數c儲存。 設定極大值(max)為第一數。 當第二數(b)大於極大值時,極大值即以b取代。 if (bmax) max = b; 當第三數(c)大於極大值時,極大值即以c取代。 if (cmax) max = c; 輸出極大值 max。 範例 5_1c 請寫一程式,滿足以下條件。 輸入三個數。 將此三個數由小而大輸出。 【執行結果】 【程式列印】 【程式說明】 分別以a、b及c表示欲排序的資料。 假如a大於b,則a與b交換,如下圖的(1)。 假如b大於c,則b與c交換,如下圖的(2)。 假如a大於b,則a與b交換,如下圖的(3)排序已完成,共需進行3次的比較與交換,如下圖所示。 a b C (1) (2) (3) [補充說明] 若有4筆資料需要排序,則共需進行6次比較與交換,如下圖所示。 a b C D (1) (2) (3) (4) (5) (6) 若有5筆資料需排序,則共需進行10次比較與交換,如下圖所示。 a b c d e (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 以上為3、4或5筆資料的比較與排序,其比較與交換的次數尚可克服。但是,若欲排序的資料超過5個,例如20筆資料欲排序,則應待迴圈與陣列敘述介紹以後,才有較快速的解法。 【自我練習】 將4個數由大而小排序輸出。 將5個數由小而大排序輸出。 5-2 if...else 上一節的if僅適合單一分歧的決策,當條
您可能关注的文档
最近下载
- 咽喉用药市场白皮书.pdf VIP
- 临时用电施工方案.doc VIP
- 民族区域自治制度优秀教学课件.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第10章-使用 Python 语言实现机器学习模型-回归分析.pdf VIP
- Lesson 3 at the seaside(课件)典范英语三年级上册.pptx VIP
- 人民大2024《人工智能与Python程序设计》课件(教材配套版)第9章-机器学习概述.pdf VIP
- 主体性概念的历史演变与理论探讨.docx VIP
- 普外科质量与安全管理小组活动记录.docx VIP
- 医院急性创伤患者救治流程.pdf VIP
- 讲义 16 分式讲 16 分式.doc VIP
文档评论(0)