《程序初步设计》PPT课件.ppt
《《程序初步设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序初步设计》PPT课件.ppt(98页珍藏版)》请在三一办公上搜索。
1、第3章 程序初步设计,第3章 程序初步设计,程序的流程控制。所有程序都只能包含三种控制结构:1.顺序结构 2.选择结构 3.循环结构,对给定的条件进行判断,并根据判断的结果选择不同的操作。构成选择结构的语句,称为条件语句。if 语句switch语句,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,if(表达式)语句;,语句形式(1),执行流程,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,if(表达式)语句;,语句形式(1),执行流程,表达式,语 句,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,if(表达式)语句;,语句形式(1),执行流程
2、,表达式,3.7.1 if 语句的3种形式,例:int a=3,b=5,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,3,例:int a=3,b=5,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,3,例:int a=3,b=5,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,3,例:int a=3,b=5,
3、max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,5,例:int a=3,b=5,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,5,例:int a=3,b=5,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,例:int a=7,b=3,max;max=a;if(b a)max=b;cout max=max en
4、dl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,7,例:int a=7,b=3,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,7,例:int a=7,b=3,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,7,例:int a=7,b=3,max;max=a;if(b a)max=b;cout max=max endl;:,2.1.1 if 语句,3.7.1 if 语句的3种形式,if
5、 语句后面,可以只含一个操作语句(如上例),也可以有多个操作语句,此时用花括号“”将几个语句括起来称为一个复合语句。,例:求三角形面积(海伦公式)if(a+bc),3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,语句形式(2),if(表达式)语句1;else 语句2;,执行流程,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,语句形式(2),if(表达式)语句1;else 语句2;,执行流程,true(非0),表达式,语 句 1,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,语句形式(2),if(表达式)语句1;else 语句2;,执行流程,f
6、alse(0),表达式,语 句 2,3.7.1 if 语句的3种形式,例:int a=3,b=5;if(b a)max=b;else max=a;cout max=max endl;:,3.7.1 if 语句的3种形式,例:int a=3,b=5;if(b a)max=b;else max=a;cout max=max endl;:,3.7.1 if 语句的3种形式,例:int a=3,b=5;if(b a)max=b;else max=a;cout max=max endl;:,5,3.7.1 if 语句的3种形式,例:int a=3,b=5;if(b a)max=b;else max=a;
7、cout max=max endl;:,5,3.7.1 if 语句的3种形式,例:int a=7,b=3;if(b a)max=b;else max=a;cout max=max endl;:,3.7.1 if 语句的3种形式,例:int a=7,b=3;if(b a)max=b;else max=a;cout max=max endl;:,7,3.7.1 if 语句的3种形式,例:int a=7,b=3;if(b a)max=b;else max=a;cout max=max endl;:,7,3.7.1 if 语句的3种形式,例:int a=7,b=3;if(b a)max=b;else
8、max=a;cout max=max endl;:,7,3.7.1 if 语句的3种形式,1if 语句的形式和执行流程,语句形式(3),if(表达式 1)语句1;else if(表达式 2)语句2;else if(表达式3)语句3;else if(表达式n-1)语句n-1;else 语句n;,3.7.1 if 语句的3种形式,例3-1 编写程序计算货物运费。设货物运费单价为每吨每公里 p(元),p与运输距离 s(公里)之间有如下关系:,p=,输入要托运的货物重量为 w 吨,托运距离 s 公里,计算总运费 t:t=p*w*s,2.1.1 if 语句,3.7.1 if 语句的3种形式,控制流图,2
9、.1.1 if 语句,3.7.1 if 语句的3种形式,/例3-1 计算货物运费#include#includeusing namespace std;int main()double t,p,w,s;cout w;cout s;if(s 100)p=30;else if(s 200)p=27.5;else if(s 300)p=25;else if(s 400)p=22.5;else p=20;t=p*w*s;cout The cost is:setprecision(2)t$endl;return 0;,2.1.1 if 语句,3.7.1 if 语句的3种形式,if 语句中的执行语句如果又
10、是另一个if语句,称为嵌套if语句 if 与 else 的配对关系:C+规定,else 总是与它最接近的if 配对 使用复合语句,可以改变条件语句的执行流程,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法一 数据排序。先找出最小值,放在a中,然后找次小值,放在 b中。步骤:1.对 a、b进行比较,把小值放于 a;if a b a b/a c a c/a c b c/ab&b c 4.输出 a,b,c 的值。,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,a b:a b,2,7,a
11、 c:a c,2,b c:b c,a b,a b,a c,a b&b c,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,#include using namespace std;int main()int a,b,c,t;cout a b c;if(a b)t=a;a=b;b=t;if(a c)t=a;a=c;c=t;if(b c)t=b;b=c;c=t;cout a b c endl;return 0;,注意语句块结构,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,#include
12、 using namespace std;int main()int a,b,c,t;cout a b c;if(a b)t=a;a=b;b=t;if(a c)t=a;a=c;c=t;if(b c)t=b;b=c;c=t;cout a b c endl;return 0;,注意语句块结构,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b
13、a,可以直接用 1个判断 6次的 if 语句写出程序,2.1.1 if 语句,if(a b,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,最坏情况要做7个关系运算和 2个逻辑运算,2.1.1 if 语句,if(a b,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a
14、b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,2.1.1 if 语句,if(a b,最坏情况要做7个关系运算和 2个逻辑运算,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,2.1.1 if 语句,最好情况要做2个关系运算和 1个逻辑运算,if(a b
15、,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,2.1.1 if 语句,最好情况要做2个关系运算和 1个逻辑运算,if(a b,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c
16、&c a c a bc a&a b c b ac b&b a,优化算法,首先分析a,b的顺序,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,优化算法,首先分析a,b的顺序,然后分析 c 的位置,a b,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3
17、个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,优化算法,首先分析a,b的顺序,然后分析 c 的位置,a b c,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,优化算法,首先分析a,b的顺序,然后
18、分析 c 的位置,c a b,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,3 个数的 6 种可能排列方式:a b ca b&b c a c ba c&c b b a cb a&a c b c ab c&c a c a bc a&a b c b ac b&b a,优化算法,首先分析a,b的顺序,然后分析 c 的位置,a c b,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,最坏情况做3次关系运算,2.1.1 if 语句,3.7.2 if
19、 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,最坏情况做3次关系运算,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,最好情况做2次关系运算,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,最好情况做2次关系运算,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,#include using namespace std;int
20、 main()int a,b,c;cout a b c;if(a b)if(b c)cout a b c endl;else if(a c)cout a c b endl;else cout c a b endl;else if(a c)cout b a c endl;else if(b c)cout b c a endl;else cout c b a endl;return 0;,注意if else 的匹配,2.1.1 if 语句,3.7.2 if 语句的嵌套,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,2.1.1 if 语句,3.7.2 if 语句的嵌套,#i
21、nclude using namespace std;int main()int a,b,c;cout a b c;if(a b)if(b c)cout a b c endl;else if(a c)cout a c b endl;else cout c a b endl;else if(a c)cout b a c endl;else if(b c)cout b c a endl;else cout c b a endl;return 0;,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,2.1.1 if 语句,3.7.2 if 语句的嵌套,#include usin
22、g namespace std;int main()int a,b,c;cout a b c;if(a b)if(b c)cout a b c endl;else if(a c)cout a c b endl;else cout c a b endl;else if(a c)cout b a c endl;else if(b c)cout b c a endl;else cout c b a endl;return 0;,例 3-2 输入三个整数,按从小到大顺序输出。,解法二 改变输出顺序:,2.1.1 if 语句,3.7.2 if 语句的嵌套,#include using namespace
23、 std;int main()int a,b,c;cout a b c;if(a b)if(b c)cout a b c endl;else if(a c)cout a c b endl;else cout c a b endl;else if(a c)cout b a c endl;else if(b c)cout b c a endl;else cout c b a endl;return 0;,2if 语句的嵌套,注意:if与else的配对关系:else总是与它上面最近的、且未配对的if配对。例:if()if()语句1 else()语句2else()if()语句3 else()语句4,内
24、嵌if语句,内嵌if语句,3.7.2 if 语句的嵌套,2if 语句的嵌套,注意:if与else的配对关系:else总是与它上面最近的、且未配对的if配对。例:if()if()语句1else()if()语句2 else()语句3,内嵌if语句,这个else与哪个if配对?,3.7.2 if 语句的嵌套,2if 语句的嵌套,注意:if与else的配对关系:else总是与它上面最近的、且未配对的if配对。例:if()if()语句1else()if()语句2 else()语句3,内嵌if语句,与第2个if配对,3.7.2 if 语句的嵌套,2if 语句的嵌套,建议:为了避免误用,最好使每一层内嵌的i
25、f语句都包含else子句。如果if的数目与else的数目不同,建议加花括号确定配对关系。例:if()if()语句1else()if()语句2 else()语句3,3.7.2 if 语句的嵌套,(1)把输入字符转换为小写字母。对输入字符进行判断,如果是大写 字母,则转换为小写字母;否则,不转换。,/例3-3#include using namespace std;int main()char ch;cout ch;if(ch=A,3.7.2 if 语句的嵌套,3应用举例,如果输入的是大写字母,(1)把输入字符转换为小写字母。对输入字符进行判断,如果是大写 字母,则转换为小写字母;否则,不转换。,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序初步设计 程序 初步设计 PPT 课件

链接地址:https://www.31ppt.com/p-5564342.html