第4章 程序的控制结构.ppt
《第4章 程序的控制结构.ppt》由会员分享,可在线阅读,更多相关《第4章 程序的控制结构.ppt(113页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第4 4 4 4章章章章 程序的控制结构程序的控制结构程序的控制结构程序的控制结构2023/1/152第四章算法第四章算法第四章算法第四章算法 生成指定范生成指定范生成指定范生成指定范围围的随机数的随机数的随机数的随机数 P95 P106P95 P106 累加求和累加求和累加求和累加求和 P102 /2P102 /2:P112P112 求求求求阶阶乘乘乘乘 P107P107 素数素数素数素数 P127P127 分离一个数的每一位数字分离一个数的每一位数字分离一个数的每一位数字分离一个数的每一位数字求反求反求反求反转转数数数数判断一个数是否是判断一个数是否是判断一个数是否是判断一个数是否是
2、回文数回文数回文数回文数 求一个数的因子求一个数的因子求一个数的因子求一个数的因子 判断一个数是否是完数判断一个数是否是完数判断一个数是否是完数判断一个数是否是完数 求一元二次方程的根求一元二次方程的根求一元二次方程的根求一元二次方程的根 124124 用二分法求一元二次方程的根用二分法求一元二次方程的根用二分法求一元二次方程的根用二分法求一元二次方程的根 P149P149 水仙花数水仙花数水仙花数水仙花数 双重循双重循双重循双重循环环 P117P117P121P121 最大公最大公最大公最大公约约数数数数 2023/1/153内容提要内容提要内容提要内容提要基本控制结构(基本控制结构(顺序结
3、构顺序结构顺序结构顺序结构、选择结构选择结构选择结构选择结构、循环结构循环结构循环结构循环结构)基本控制语句基本控制语句常用算法,如累加、累乘、统计、递推、迭代、穷常用算法,如累加、累乘、统计、递推、迭代、穷举等举等结构化程序设计的基本思想结构化程序设计的基本思想2023/1/154BANS图传统流程图顺序结构顺序结构顺序结构顺序结构BA2023/1/155ABY Y条条条条 件件件件P PBNAY分支结构(选择结构)分支结构(选择结构)分支结构(选择结构)分支结构(选择结构)NS图传统流程图2023/1/156AA当当型型循循环环直直到到型型循循环环真真假假假假假真真循环结构循环结构循环结构
4、循环结构A当当P成立成立A直到直到P为假为假2023/1/157流程图流程图流程图流程图6!算法可以用流程图表示如下:!算法可以用流程图表示如下:开始x=1y=1x*y=yx+1=xx 6N N结束传传传传统统统统流流流流程程程程图图图图打印打印 y1=x1=yx*y=yx+1=x直到直到 x6打印打印 yNSNS图图2023/1/158思考思考1、y=2x+5 x52、3、2023/1/159程序员练书法程序员练书法程序员练书法程序员练书法 某程序员对书法十分感兴趣,退休后决定在这某程序员对书法十分感兴趣,退休后决定在这某程序员对书法十分感兴趣,退休后决定在这某程序员对书法十分感兴趣,退休后
5、决定在这方面有所建树。方面有所建树。方面有所建树。方面有所建树。于是花重金购买了上等的文房四宝。于是花重金购买了上等的文房四宝。于是花重金购买了上等的文房四宝。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上一日,饭后突生雅兴,一番磨墨拟纸,并点上一日,饭后突生雅兴,一番磨墨拟纸,并点上一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,了上好的檀香,了上好的檀香,了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,颇有王羲之风范,又具颜真卿气势,定神片刻,颇有王羲之风范,又具颜真卿气势,定神片刻,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行
6、字:泼墨挥毫,郑重地写下一行字:泼墨挥毫,郑重地写下一行字:泼墨挥毫,郑重地写下一行字:hello world.hello world.2023/1/1510分支结构分支结构分支结构分支结构 P85P85if语句(多种形式)语句(多种形式)没有没有else子句的子句的if语句语句含含else子句的子句的if语句语句if语句的嵌套语句的嵌套switch语句语句break语句语句2023/1/1511if语句语句1、没有、没有else子句的子句的if语句语句 if(if(表达式表达式表达式表达式)语句语句语句语句1;1;语句语句语句语句3 3 执行过程:执行过程:执行过程:执行过程:首先计算紧跟在
7、首先计算紧跟在if后面一对圆括号内的表达式的后面一对圆括号内的表达式的值。如果表达式的值为非值。如果表达式的值为非0(“真真”),则执行语句),则执行语句1;然;然后执行语句后执行语句3.如果如果表达式表达式值为值为0(“假假”),直接执行,直接执行语句语句3 语句语句语句语句1 1;if if if 是是是是是是 C C C 语言的关键字,表达式两侧的圆括号语言的关键字,表达式两侧的圆括号语言的关键字,表达式两侧的圆括号语言的关键字,表达式两侧的圆括号语言的关键字,表达式两侧的圆括号语言的关键字,表达式两侧的圆括号不可少,语句不可少,语句不可少,语句不可少,语句不可少,语句不可少,语句1 1
8、 1 称为称为称为称为称为称为 if if if 子句。子句。子句。子句。子句。子句。2023/1/1512IfIf语句语句语句语句2、含有、含有else子句的子句的if语句语句 if(if(表达式表达式表达式表达式)语句语句语句语句1;1;elseelse 语句语句语句语句2;2;语句语句语句语句3 3首先计算紧跟在首先计算紧跟在首先计算紧跟在首先计算紧跟在ifif后面一对圆括号内的表达后面一对圆括号内的表达后面一对圆括号内的表达后面一对圆括号内的表达式的值。式的值。式的值。式的值。如果表达式如果表达式如果表达式如果表达式值值值值非非非非0 0,执行,执行,执行,执行语句语句语句语句1 1,
9、然后,然后,然后,然后语句语句语句语句表达式表达式表达式表达式值为值为值为值为0 0时,执行时,执行时,执行时,执行语句语句语句语句2 2,然后,然后,然后,然后语句语句语句语句3 3 语句语句语句语句1 1;语句语句语句语句2 2;2023/1/1513条件表达式条件表达式条件表达式条件表达式 含义:含义:含义:含义:如果表达式如果表达式1的值非的值非0(为真),则该条件(为真),则该条件表达式的结果就是表表达式的结果就是表达式达式2的值的值否则,是表达式否则,是表达式3的值的值 表达式表达式3N表达式表达式2Y表达式表达式1?表达式表达式2:表达式表达式32023/1/1514例例例例4.
10、4 4.4:年龄判断:年龄判断:年龄判断:年龄判断#includeinclude main()intint yourAge,hisAge;printf(Please enter your age:);scanf(%d,&yourAge);/*输入你的年龄输入你的年龄yourAge*/printf(Please enter your friends age:);scanf(%d,&hisAge);/*输入你朋友的年龄输入你朋友的年龄hisAge*/ifif(yourAge=hisAge)printf(You are older!Your age is=%dn,yourAge);elseelse
11、printf(Your friend is older!His age is=%dn,hisAge);2023/1/1515例例例例4.4 4.4:年龄判断:年龄判断:年龄判断:年龄判断#includeinclude main()intint yourAge,hisAge,max;printf(Please enter your age:);scanf(%d,&yourAge);/*输入你的年龄输入你的年龄yourAge*/printf(Please enter your friends age:);scanf(%d,&hisAge);/*输入你朋友的年龄输入你朋友的年龄hisAge*/max
12、=(yourAge=hisAge)?yourAge:hisAge;printf(The older age is=%dn,max);2023/1/1516elseelse-ifif ifif的一种扩展形式的一种扩展形式的一种扩展形式的一种扩展形式相当于相当于相当于相当于elseelse分支嵌套分支嵌套分支嵌套分支嵌套 if if(表达式表达式表达式表达式1)1)语句语句语句语句1;1;else ifelse if (表达式表达式表达式表达式2)2)语句语句语句语句2;2;else ifelse if (表达式表达式表达式表达式3)3)语句语句语句语句3;3;elseelse语句语句语句语句4;
13、4;语句语句语句语句5;5;表达式1 语句1 语句2 语句3 语句4表达式2表达式3 图4-9 多分支选择结构语句语句语句语句1;1;语句语句语句语句2;2;语句语句语句语句3;3;语句语句语句语句4;4;2023/1/1517if if语句的嵌套语句的嵌套语句的嵌套语句的嵌套内嵌的内嵌的if语句既可以嵌套在语句既可以嵌套在if子句中,也可以嵌套在子句中,也可以嵌套在else子句中。子句中。1 在在在在 if if 子句中嵌套具有子句中嵌套具有子句中嵌套具有子句中嵌套具有 else else 子句的子句的子句的子句的 if if 语句语句语句语句.语句形式如下:语句形式如下:if(表达式(表达
14、式 1)if(表达式(表达式 2)语句语句 1 else 语句语句 2 e1se 语句语句 32 在在在在 if if 子句中嵌套不含子句中嵌套不含子句中嵌套不含子句中嵌套不含 else else 子句的子句的子句的子句的 if if 语句语句语句语句.语句形式如下:语句形式如下:if(表达式(表达式 1)if 表达式表达式 2)语句)语句 1 else 语句语句 2if-else嵌套使用时,注意嵌套使用时,注意else和谁配对的问题和谁配对的问题当表达式当表达式 1 的值为非的值为非0时,执行内嵌的时,执行内嵌的 if-else 语句;语句;当表达式当表达式 1 的值为的值为 0 时,执行语
15、句时,执行语句 3。在在if子句中的一对子句中的一对花括号花括号花括号花括号不可缺少。因不可缺少。因为为c语言的语法规定:语言的语法规定:else子句总是与前子句总是与前面最近的不带面最近的不带else的的if相结合,与书写格相结合,与书写格式无关。式无关。2023/1/1518例例例例4.5 4.5:体型判断:体型判断:体型判断:体型判断按按“体指数体指数”对肥胖程度进行划分:对肥胖程度进行划分:体指数体指数t=w/ht=w/h2 2 (体重(体重w单位为公斤,身高单位为公斤,身高h单位为米)单位为米)当当当当t 18t 18时,为低体重;时,为低体重;时,为低体重;时,为低体重;当当当当1
16、8 18 t 25 t 25时,为正常体重;时,为正常体重;时,为正常体重;时,为正常体重;当当当当25 t 2725 t 27时,为超重体重;时,为超重体重;时,为超重体重;时,为超重体重;当当当当t t 27 27时,为肥胖。时,为肥胖。时,为肥胖。时,为肥胖。编程从键盘输入你的身高编程从键盘输入你的身高h和体重和体重w,根据给定公式计算体指,根据给定公式计算体指数数t,然后判断你的体重属于何种类型。,然后判断你的体重属于何种类型。用用3种方法编程:种方法编程:算法算法算法算法1 1:用不带:用不带:用不带:用不带elseelse子句的子句的子句的子句的ifif语句编程语句编程语句编程语句
17、编程 算法算法算法算法2 2:用在:用在:用在:用在ifif子句中嵌入子句中嵌入子句中嵌入子句中嵌入if if 语句的形式编程语句的形式编程语句的形式编程语句的形式编程 算法算法算法算法3 3:用在:用在:用在:用在elseelse子句中嵌入子句中嵌入子句中嵌入子句中嵌入if if 语句的形式编程语句的形式编程语句的形式编程语句的形式编程 2023/1/1519例例例例4.5 4.5 用不带用不带用不带用不带elseelse子句的子句的子句的子句的ifif语句编程语句编程语句编程语句编程#includeinclude main()floatfloat h,w,t;printf(Please e
18、nter h,w:);scanf(%f,%f,&h,&w);t=w/(h*h);ifif(t 18t=18&t=18&t=25&t=25&t=27t=27)printf(t=%ftToo fat!n,t);当当当当t 18t 18时,为低体重;时,为低体重;时,为低体重;时,为低体重;当当当当18 t 2518 t 25时,为正常体重;时,为正常体重;时,为正常体重;时,为正常体重;当当当当25 t 2725 t 27时,为超重体重;时,为超重体重;时,为超重体重;时,为超重体重;当当当当t 27t 27时,为肥胖。时,为肥胖。时,为肥胖。时,为肥胖。2023/1/1520例例例例4.5 4.
19、5 用在用在用在用在ifif子句中嵌入子句中嵌入子句中嵌入子句中嵌入if if 语句的形式编程语句的形式编程语句的形式编程语句的形式编程#includeinclude main()floatfloat h,w,t;printf(Please enter h,w:);scanf(%f,%f,&h,&w);t=w/(h*h);ifif(t 27t 27)ifif(t 25t 25)ifif(t 18)printf(t=%ftLower weight!n,t);elseelse printf(t=%ftStandard weight!n,t);elseelse printf(t=%ftHigher
20、weight!n,t);elseelse printf(t=%ftToo fat!n,t);18 25 2718 25 27当当当当t 18t 18时,为低体重;时,为低体重;时,为低体重;时,为低体重;当当当当18 t 2518 t 25时,为正常体重;时,为正常体重;时,为正常体重;时,为正常体重;当当当当25 t 2725 t 27时,为超重体重;时,为超重体重;时,为超重体重;时,为超重体重;当当当当t 27t 27时,为肥胖。时,为肥胖。时,为肥胖。时,为肥胖。2023/1/1521例例例例4.5 4.5 用在用在用在用在elseelse子句中子句中子句中子句中嵌入嵌入嵌入嵌入ifi
21、f语句的形式编程语句的形式编程语句的形式编程语句的形式编程#includeinclude main()float float h,w,t;printf(Please enter h,w:);scanf(%f,%f,&h,&w);t=w/(h*h);ifif (t 18)printf(t=%ftLower weight!n,t);else ifelse if(t 25)printf(t=%ftStandard weight!n,t);else ifelse if(t 27)printf(t=%ftHigher weight!n,t);elseelseprintf(t=%ftToo fat!n,t
22、);当当当当t 18t 18时,为低体重;时,为低体重;时,为低体重;时,为低体重;当当当当18 t 2518 t 25时,为正常体重;时,为正常体重;时,为正常体重;时,为正常体重;当当当当25 t 2725 t 27时,为超重体重;时,为超重体重;时,为超重体重;时,为超重体重;当当当当t 27t 27时,为肥胖。时,为肥胖。时,为肥胖。时,为肥胖。18 25 2718 25 272023/1/1522if if语句语句语句语句根据输入的百分制成绩根据输入的百分制成绩score,转换成相应的五分制成绩转换成相应的五分制成绩grade并打印输出。转换标准为:并打印输出。转换标准为:2023/
23、1/1523思考思考思考思考输入三角形的三条边输入三角形的三条边a,b,c,判断它们是否,判断它们是否构成三角形。若能构成三角形,指出是何种三构成三角形。若能构成三角形,指出是何种三角形角形(等腰三角形、直角三角形、等腰直角三等腰三角形、直角三角形、等腰直角三角形、一般三角形角形、一般三角形)打印输出打印输出1,2,3,200。(打印要求:。(打印要求:一行一行10个数,每个数所占域宽个数,每个数所占域宽8,左对齐),左对齐)2023/1/1524多路选择多路选择多路选择多路选择switchswitch语法形式:语法形式:switch(switch(表达式表达式表达式表达式)case case
24、 常数常数常数常数1:1:语句序列语句序列语句序列语句序列1;1;case case 常数常数常数常数2:2:语句序列语句序列语句序列语句序列2;2;default:default:语句序列语句序列语句序列语句序列3;3;可以没有可以没有defaultdefault,但最好不省略,但最好不省略不要忘记不要忘记breakbreak语句语句语句语句语句序列语句序列语句序列语句序列1;1;语句序列语句序列语句序列语句序列2;2;语句序列语句序列语句序列语句序列n;n;2023/1/1525说明:说明:switch 是关键字,是关键字,switch 语句后面用花括号括起来的语句后面用花括号括起来的部分
25、称为部分称为 switch 语句体。语句体。紧跟在紧跟在 switch 后一对括号中的后一对括号中的“表达式表达式”可以是可以是整型整型整型整型表达式表达式表达式表达式、字符型字符型字符型字符型或或枚举型表达式枚举型表达式枚举型表达式枚举型表达式等。等。表达式两边的一对表达式两边的一对表达式两边的一对表达式两边的一对括号不能省略括号不能省略括号不能省略括号不能省略。case 也是关键字,与其后面的常量表达式合称也是关键字,与其后面的常量表达式合称case 语句语句标号。标号。常量表达式的类型必须与常量表达式的类型必须与常量表达式的类型必须与常量表达式的类型必须与 switch switch 后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 程序的控制结构 程序 控制 结构
限制150内