- 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
- 價格需求彈性姓名-oocities.doc
- 需求彈性、供給彈性-geocities.ws.doc
- 为您的安全保驾护航――durel弹性体弹簧体系-durelgmbh.pdf
- 粘弹性表面活性剂研究进展.pdf
- pp弹性体和塑性体在软包装的应用-tappi.pdf
- 第五章材料的变形和再结晶(一)——弹性变形.pdf
- 第一章概論與供給需求理論第二章彈性第三章消費者均衡與無異曲線.pdf
- 《一阶弹性波方程交错网格高阶差分解法》【pdf】-同济大学海洋与地球.pdf
- 第3讲均衡价格的应用弹性理论【2学时】.doc
- 2026年国家电网招聘之文学哲学类考试题库300道含答案(基础题).docx
- 2026年国家电网招聘之文学哲学类考试题库300道及答案参考.docx
- 2026年国家电网招聘之文学哲学类考试题库300道加答案.docx
- 2026年教师招聘之中学教师招聘考试题库(巩固).docx
- 2026年国家电网招聘之文学哲学类考试题库300道【名师推荐】.docx
- 2026年国家电网招聘之文学哲学类考试题库300道及参考答案【巩固】.docx
- 2026年教师招聘之中学教师招聘考试题库(基础题).docx
- 2026年县乡教师选调进城考试《教育学》题库300道【基础题】.docx
- 2026年国家电网招聘之文学哲学类考试题库300道附完整答案【有一套】.docx
- 2026年国家电网招聘之文学哲学类考试题库300道【全国通用】.docx
文档评论(0)