《C程序的流程设计实用.pptx》由会员分享,可在线阅读,更多相关《C程序的流程设计实用.pptx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1 算法及其描述1.有效性2.确定性3.有穷性4.有零个或多个输入5.至少一个输出?算法的概念?算法的基本特征?算法的描述方法第1页/共17页3.1 算法及其描述1.流程图2.N-S图3.PAD图4.伪代码?算法的概念?算法的基本特征?算法的描述方法第2页/共17页3.2 用C语句描述算法第3页/共17页3.2 选择型程序设计根据不同条件有选择地执行不同后续命令集合的程序结构。在C中,选择结构主要有if 结构和switch结构。?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第4页/共17页3.2 选择型程序设计形式:if(表达式)语句组1;else 语句组2;说明:
2、APB非零零格式:示例:请点击?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第5页/共17页3.2 选择型程序设计示例:问题:求一个数的绝对值。分析:对任意一个数x,当x0时,其绝对值为-x,否则其绝对值就是x。其NS图为:|x|=x|x|=-x x0?是否解答:C函数如下:double abstr(double x)if (x0.0)x=-x;else x=x;return (x);?缺省else结构如何写?请点击/*缺省else结构 */double abstr(double x)if (x0.0)x=-x;return (x);?选择结构含义?if结构?switc
3、h结构?if结构嵌套?选择结构应用第6页/共17页3.2 选择型程序设计含义:在if语句中又包含一个或多个if语句的形式。格式:if ()if ()语句;else 语句;.else .if()语句;else 语句;.注:每个else都与其最近的if配对。示例:请点击?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第7页/共17页3.2 选择型程序设计示例:问题:已知 ,编一个程序,输入x的值,输出y值。解答:main()int x,y;scanf(“%d”,&x);if(x0)y=-1;else if(x=0)y=0;else y=1;printf(“x=%d,y=%dn
4、”,x,y);?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第8页/共17页3.2 选择型程序设计格式:switch (表达式)case(常量表达式1):语句块1;case (常量表达式2):语句块2;case (常量表达式n):语句块n;default:语句块n+1;说明:执行流程:请点击?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第9页/共17页3.2 选择型程序设计执行流程:1、计算表达式的值;2、找到与表达式的值相同的case常量表达式,执行该case后边的语句序列,之后依次往下执行各语句块。执行流程示意图:请点击?选择结构含义?if结
5、构?switch结构?if结构嵌套?选择结构应用第10页/共17页3.2 选择型程序设计表达式语句序列1语句序列2语句序列n语句序列n+1 执行流程示意图思考:若每个语句块的最后一个语句均为break语句,执行流程怎样?(请点击)?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第11页/共17页3.2 选择型程序设计表达式语句序列1语句序列n语句序列n+1语句序列2每个语句块的最后一个语句均为break语句的执行流程示例:请点击Back?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第12页/共17页3.2 选择型程序设计示例:问题:根据考试成绩的等
6、级打印出百分制分数段。解答:请点击switch (grade )case A:printf(“85100n”);break;case B:printf(“7084n”);break;case C:printf(“6069n”);break;case D:printf(“60n”);break;default:printf(“error”);Back?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第13页/共17页3.2 选择型程序设计例1:写一程序,判断某一年是否闰年。解答:请点击Runmain()int year,leap;/*leap=1闰年,leap=0 非闰年 *
7、/scanf(“%d”,&year);leap=0;if(year%4=0&year%100!=0)|(year%400=0)leap=1;if(leap=1)printf(“%d is”,year);else printf(“%d is not”,year);printf(“a leap yearn”);输入:1989 结果为:1989 is not a leap year输入:2000结果为:2000 is a leap yearNext?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第14页/共17页3.2 选择型程序设计例2:某运输公司对用户计算运费。距离(s)越远,每公里运费越低。折扣为d(discount),每公里每吨货物的基本运费为p(price),货物重w(weight),总运费f(freight),f=p*w*s*(1-d)。解答:请点击?选择结构含义?if结构?switch结构 格式?if结构嵌套?选择结构应用第15页/共17页3.2 选择型程序设计Back100,20,300freight=588000.0000Run?选择结构含义?if结构?switch结构?if结构嵌套?选择结构应用第16页/共17页第3章 C程序的流程设计感谢您的欣赏!第17页/共17页
限制150内