c语言(用switch语句编写输入今年年份和当前年龄判断生肖),c语言04第4章 选择结构程序设计.ppt...

本文详细讲解了C语言中的选择结构,包括if语句和switch语句的使用方法,通过实例演示如何判断三角形构成条件并计算面积,同时介绍了if嵌套和标准形式的特性。重点展示了如何避免代码错误,确保正确处理各种可能情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言04第4章 选择结构程序设计.ppt

第4章 选择结构程序设计 4.1 选择结构程序设计 4.2 if语句 4.3 switch语句 4 4.4 选择结构程序设计综合应用 本章要点 选择结构的特点 选择结构程序设计的一般方法 if语句和switch语句的使用方法 4.1 选择结构程序设计 结构化程序设计中的选择结构,与日常生活中的“选择结构”一样,也是根据一个判断条件来决定执行哪一个分支,选择某个分支执行后其他分支不再执行,选择结构的特点是根据判断条件,有选择地执行其中一个分支,要且只要执行其中一个分支。 对于选择结构程序设计,首先要确定选择的条件,然后找出判断条件有多少种可能,即该条件有多少种情况(值),最后再确定每种可能情况所要进行的处理。如,第3章实训思考题中,要修改完善程序,处理如下: (1)确定判断条件,构成三角形的三边长,要满足任意两边之和大于第三边。 (2)确定可能值,显然它有两种可能,即一种可能是构成三角形,另一种可能是不能构成三角形。 (3)最后确定每种可能情况所要进行的处理,当输入的三边长可构成三角形时,计算三角形的面积。当输入不能构成三角形时,题目没有明确提出,可以不处理即不计算三角形的面积,当然最好能将错误信息提示给用户。 4.2 if语句 在C语言中,提供了if语句和switch语句来实现选择结构程序设计。 if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。if语句有三种书写形式。同时,在一个if语句中还可以包含另一个if语句,称为if语句的嵌套。 4.2.1 if语句的简单形式 简单形式if语句的一般格式: if(条件表达式) 语句 说明: (1)其中的条件表达式一般为逻辑表达式或关系表达式,但也可以是算术表达式、赋值表达式或字符表达式,甚至可以是一个变量,这正是C语言灵活性的具体表现。需要特别注意的是,条件表达式外边的括号不能省。 (2)条件表达式后面的语句,可以是简单语句,也可以是复合语句,但只能是一个语句。如果包含多个简单语句,则一定要用大括号括起来组成复合语句,否则得不到预期值。 比较以下两段程序的输出结果(见表4-1)。 (3)if语句的简单形式只能处理一种可能情况(不满足条件时不处理)。 (4)执行过程:首先计算条件表达式的值,如果条件表达式的值为真(非零),则执行其后的语句;否则不执行其后的语句。程序的执行流程如图4.1所示。 【例4-1】 输入三角形的三边,如果构成三角形则求三角形的面积。 三角形的判断条件是任意两边之和应大于第三边。已知三角形的三边长求面积的计算公式为: 分析: 任意两边之和大于第三边,有三种组合,而且这三种组合必须同时成立。所以,判断三边长是否构成三角形可用以下判断条件: a+b>c&&b+c>a&&a+c>b 程序代码: #include /*求平方根函数sqrt包含在"math.h"头文件中*/ main() { float a,b,c,area,s; scanf("%f,%f,%f",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b) /*任意两边之和大于第三边*/ { /*包含多个简单语句时,一定要加{}构成复语句*/ s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("The area=%.2f",area); } } 思考:如果去掉构成复合语句的大括号,程序运行结果如何? 4.2.2 if语句的标准形式 if语句标准形式的一般格式: if(条件表达式) 语句1; else 语句2; 说明: (1)其中,条件表达式和语句的要求,与if语句简单形式的条件表达式和语句的要求相同。 (2)if语句的标准形式能处理有两种可能的情况,它与if语句简单形式相比,多了一个else(否则)部分,这部分用来处理条件不成立时所要进行的操作。 (3)执行过程:先计算后面圆括号中条件表达式的值,若结果为真,执行语句1而不执行语句2,否则执行语句2而不执行语句1,即在此类型结构中,只执行语句1和语句2两者中的一个。程序的执行流程如图4.2所示。 【例4-2】 输入三角形的三边,如果构成三角形则求三角形的面积,否则提示数据错误。 #include main() { float a,b,c,area,s; scanf("%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值