《算法的基本控制結構.ppt》由會員分享,可在線閱讀,更多相關《算法的基本控制結構.ppt(19頁珍藏版)》請在裝配圖網上搜索。
1、算法的基本控制結構,基本結構,順序結構,選擇結構,循環(huán)結構,1.順序結構:按照語句的先后順序執(zhí)行即為順序結構,是算法中最簡單的一種結構。,2.選擇結構:根據條件的不同,程序執(zhí)行不同的語句,即為選擇結構。選擇結構的語句有兩種:if語句和switch語句。,3.循環(huán)語句:根據約束條件的不同,多次重復執(zhí)行某一條或多條語句的結構,稱為循環(huán)結構。循環(huán)結構的語句有for語句、while語句、dowhile語句三種語句。,為了用符號來表述不同的控制結構或者程序,人們設計了流程圖,簡單的可以理解為示意圖。,流程圖常用符號:,1.選擇結構,if (表達式) 語句1 else 語句2;,執(zhí)行順序:先計算表達式的值
2、,若表達式為true,則執(zhí)行語句1,否則執(zhí)行語句2。語句1和語句2也可以是用大括號括起來的多條語句,流程圖,火車托運行李,要根據行李的重量按不同標準收費。50kg以內(含50kg),按每千克0.35元收費,超出50kg的部分按每千克0.50元收費?,F輸入托運行李的重量,計算并輸出運費。,if weight=50 pay=weight*50; else pay=pay+(weight-50)*0.5;,if weight=50 pay=weight*0.35; else pay=50*0.35+(weight-50)*0.5;,輸入a,b兩個整數,如果ab的話,交換a,b的值,并輸出a,b的值。
3、 輸入: 15 8 輸出: 15 8,if (ab) c=a; a=b; b=c; ,if語句的嵌套:多次的選擇判斷,需要在if語句內多次調用if語句,稱為if語句的嵌套,不同的嵌套形式:,if (表達式1) if (表達式2) 語句1; else 語句2; else if (表達式3) 語句3; else 語句4;,輸入x,y兩個整數,比較兩個數字的大小,根據它們的大小,分別輸出:xy,xy,x=y。 輸入: 8 9 輸出: xy,#include using namespace std; int main() int x,y; cinxy; if (x!=y) if (xy) couty“
4、endl; else cout“xy“endl; else cout“x=y“endl; return 0; ,#include using namespace std; int main() int x,y; cinxy; if (xy) couty“endl; else if (xy) cout“xy“endl; else cout“x=y“endl; return 0; ,輸入一個整數a,判斷是否為偶數。是的話輸出“YES”否則輸出“NO”。 輸入: 13 輸出: NO,輸入三角形的三邊,判斷它是否直角三角形,若是則輸出“yes”,否則輸出“no”,若根本形成不了三解形則輸出“not a
5、 triangle”。 輸入: 3 4 5 輸出: yes,從鍵盤上讀入三個數,按由大到小的順序把它們打印出來。 輸入: 13 12 14 輸出: 14 13 12,輸入一個三位數的整數,將數字位置重新排列,組成一個盡可大的三位數。 輸入: 213 輸出: 321,#include using namespace std; int main() char ch1,ch2,ch3,t; cinch1ch2ch3; if (ch1t; ,switch語句:根據同一表達式的多個不同的結果,分別進行不同的選擇,由switch語句來解決,避免if語句的反復嵌套。,switch (表達式) case 常量
6、1:語句1; case 常量2:語句2; case 常量n:語句n; default:語句n+1; ,switch語句的執(zhí)行順序:首先計算switch語句中表達式的值,然后在case語句中找值相等的常量,則以此為入口,開始順序執(zhí)行,執(zhí)行結束后必須加break。如果沒有找到相等的值,則從default開始執(zhí)行。,switch語句后面的表達式的值必須是整型、字符型、枚舉型之一。 每個常量的值不能相同,但次序不影響執(zhí)行結果。 每個case分支可以有多條語句,但不必用。 每個case分支要以break結束,用以結束switch語句。 當有若干分支需要執(zhí)行相同操作時,多個case可以用執(zhí)行相同的語句。,通過鍵盤輸入06,轉換成星期輸出。 輸入:0 輸出:Sunday,通過鍵盤輸入年份和月份,輸出該月共有多少天。 輸入:2011 11 輸出:30,