《05分支结构程序设计(1).ppt》由会员分享,可在线阅读,更多相关《05分支结构程序设计(1).ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、IT Education&Training高级高级 程序设计基础程序设计基础(C语言语言)大连东软信息学院计算机系大连东软信息学院计算机系2010-8IT Education&TrainingIT Education&Training2目录回顾回顾分支结构的引入分支结构的引入分支结构分支结构计算器项目功能完善计算器项目功能完善分支结构程序设计分支结构程序设计项目小结项目小结课后项目课后项目IT Education&TrainingIT Education&Training3回顾无参无返回值函数的应用无参无返回值函数的应用函数声明函数定义(编写)函数调用简单分析讲解简单分析讲解 函数的调用过程函
2、数的调用过程main()add();sub();multiply();divide();remain();void add()int a,b,s;scanf(“%d%d”,&a,&b);s=a+b;printf(“%d+%d=%dn”,a,b,s);void sub()int a,b,s;scanf(“%d%d”,&a,&b);s=a-b;printf(“%d-%d=%dn”,a,b,s);IT Education&TrainingIT Education&Training4分支结构的引入运行计算器程序,在执行除法时,输入运行计算器程序,在执行除法时,输入 22 0 两个数,看会两个数,看会出
3、现什么结果?出现什么结果?引出:在程序中要通过代码来处理类似出错的这种情况,例引出:在程序中要通过代码来处理类似出错的这种情况,例如上面的如上面的 除数为除数为0 的错误。这种情况下,就要判断的错误。这种情况下,就要判断 除数是否除数是否为为0,根据判断结果进行相应的处理。,根据判断结果进行相应的处理。这时要用到这时要用到 分支结构。分支结构。出错!得不到正确结果!IT Education&TrainingIT Education&Training5分支结构分支结构是三种程序设计结构中的一种。分支结构是三种程序设计结构中的一种。分支结构的形式分支结构的形式双分支结构(if else)单分支结构
4、(if)多分支结构(if else if、switch)分支结构主要是要判断条件,条件可以是关系表达式,也可分支结构主要是要判断条件,条件可以是关系表达式,也可以是逻辑表达式或其他任意的表达式。以是逻辑表达式或其他任意的表达式。IT Education&TrainingIT Education&Training6分支结构双分支结构(双分支结构(if else)格式:格式:if (e )/e是一个表达式是一个表达式A;/e为真时执行为真时执行 elseB;/e为假时执行为假时执行eAB真假执行流程IT Education&TrainingIT Education&Training7分支结构单分支
5、结构(单分支结构(if )格式:格式:if (e )/e是一个表达式是一个表达式A;/e为真时执行为真时执行 eA真假执行流程适用于不想处理e为假时的情形IT Education&TrainingIT Education&Training8分析讲解项目项目一项目一 修改计算器项目中的除法函数修改计算器项目中的除法函数项目构思:修改计算器项目中的除法函数,使其能够分辨出除数为0的情况,若除数为0,则输出“除数不能为0”的提示信息,若除数不为0,则输出正常的除式。项目设计(1)定义a,b变量(2)输入a和b的值(3)用表达式 0=b判断b是否为0,若是,则输出错误提示,若不是,则输出除式IT Ed
6、ucation&TrainingIT Education&Training9分析讲解项目项目一项目一 修改计算器项目中的除法函数修改计算器项目中的除法函数项目实现实现divide函数#include void divide()int a,b;printf(“请输入两个整数:”);scanf(“%d%d”,&a,&b);if (0=b)printf(“0 不能作除数!n”);elseprintf(“%d/%d=%d n”,a,b,a/b);IT Education&TrainingIT Education&Training10项目实践项目二项目二 修改求余函数修改求余函数求余函数remain也有
7、类似的不能除0的问题,请用if-else分支结构修改求余函数项目三项目三 修改求三角形面积的函数修改求三角形面积的函数在mianji_triangle函数中,考虑三边是否能构成三角形,若可以,则正常计算三角形面积,若不能构成三角形,则输出错误提示”你输入的三边不能构成三角形“。(提示:构成三角形的条件是 a+b c&a+c b&b+c a)用if else 结构改写函数IT Education&TrainingIT Education&Training11项目实践项目四项目四 偶数输出偶数输出项目构思:从键盘上输入一个整数,若它为偶数,则输出在屏幕上,否则,不作任何处理。项目设计(1)定义变量
8、num(2)输入变量num的值(3)用 表达式 num%2=0 判断num是否为偶数,若是则输出项目实现#include main()int num;printf(“请输入一个整数:”);scanf(“%d”,&num);if (num%2=0)printf(“你输入的是偶数,它是:%dn”,num);请将程序修改为无参无返回值的函数形式IT Education&TrainingIT Education&Training12项目实践项目五项目五 比较两个数的大小比较两个数的大小项目构思从键盘上输入两个数,输出其中较大的一个。项目设计定义两个变量num1和num2输入num1和num2的值比较
9、num1 num2的关系,若成立,则输出num1,否则就输出num2项目实现用无参无返回值的函数编写代码项目 运行IT Education&TrainingIT Education&Training13项目实践项目六项目六 两个数排序两个数排序项目构思从键盘上输入两个数,将它们按从大到小的顺序输出在屏幕上。项目设计定义两个变量num1和num2输入num1和num2的值比较 num1=18,则,则输出输出”你已经是成人,应该规划好自己的未来你已经是成人,应该规划好自己的未来“的提示,否的提示,否则,输出则,输出”你还不到你还不到18,要准备学习如何规划自己了,要准备学习如何规划自己了“的提的提
10、示。示。(注意:以上均写成无参无返回值的函数形式)(注意:以上均写成无参无返回值的函数形式)IT Education&TrainingIT Education&Training课后项目写一程序,从键盘上输入一年份写一程序,从键盘上输入一年份year(为十进制数为十进制数),判断其,判断其是否为闰年。(闰年的条件是:能被是否为闰年。(闰年的条件是:能被4整除、但不能被整除、但不能被100整整除,或者能被除,或者能被400整除),条件表达式为:整除),条件表达式为:(0=year%4 and 0!=year%100)|(0=year%400)从键盘输入从键盘输入x的值,求的值,求y的值并输出。的值并输出。3x3+x2+2x+5 (x 0)