《C语言程序设计基础》课件_第4章.pptx

上传人(卖家):kld 文档编号:8179222 上传时间:2024-12-23 格式:PPTX 页数:77 大小:1.03MB
下载 相关 举报
《C语言程序设计基础》课件_第4章.pptx_第1页
第1页 / 共77页
《C语言程序设计基础》课件_第4章.pptx_第2页
第2页 / 共77页
《C语言程序设计基础》课件_第4章.pptx_第3页
第3页 / 共77页
《C语言程序设计基础》课件_第4章.pptx_第4页
第4页 / 共77页
《C语言程序设计基础》课件_第4章.pptx_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、第4章 选择结构实现语句分支结构程序设计4.1 选择结构与条件判断选择结构与条件判断4.2 实现两分支选择的实现两分支选择的if语句语句4.3 实现多重选择的实现多重选择的if嵌套嵌套4.4 实现多分支选择的实现多分支选择的switch语句语句4.5 选择结构程序设计选择结构程序设计实操训练实操训练课外练习课外练习4.1 选择结构与条件判断选择结构与条件判断在在C程序中如何表达分支判断条件?程序中如何表达分支判断条件?选择结构(或称分支结构)就是依据一定的条件作出逻辑判断,有选择地处理问题。选择结构的一般结构形式如图4.1所示。图4.1 选择结构4.1.1 关系运算符和关系表达式关系运算符和关

2、系表达式关系表达式是用关系运算符连接运算对象的式子。C语言中的关系运算符如表4.1所示。从表4.1可以看出,C语言中的关系运算符所表示的运算关系及其优先级顺序与数学中的关系运算符一致,但有些表示符号是不同的。这一点要在使用中加以注意,不能混淆,否则编写的程序将在编译时出错。关系运算符的结合性是自左至右,同优先级的运算符按从左到右的顺序运算,不同优先级的运算符按先高后低的顺序运算。使用括号可改变运算符的运算顺序,即先括号内、后括号外。4.1.2 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式逻辑表达式是用逻辑运算符将逻辑运算对象连接起来的式子。C语言中的逻辑运算符如表4.2所示。逻辑运算符的优先级

3、顺序为!(非)&(与)|(或),即“!”优先级最高。逻辑表达式中可以将算术表达式、关系表达式作为逻辑运算对象,即逻辑表达式可以是算术运算符、关系运算符、逻辑运算符和其他运算符组成的混合运算表达式。运算时要依据优先级顺序来进行。至此,所学过的运算符的优先级顺序如下:逻辑表达式用来表示由简单条件组成的复合条件。例如,闰年的判定条件是满足如下两个条件之一:(1)能被4整除,但不能被100整除,如2008;(2)能被400整除,如2000。闰年的判定条件可用如下的逻辑表达式表示(年份用变量year表示):(year%4=0&year%100!=0)|year%400=0可以用否定命题来判断非闰年。其逻

4、辑表达式为!(year%4=0&year%100!=0)|year%400=0)此表达式的值为1(真),则year表示的年份为非闰年,否则为闰年。还可以用下面的逻辑表达式来判断非闰年:(year%4!=0)|(year%100=0&year%400!=0)综上可知,构造一个符合条件的逻辑表达式不是唯一的,分析清楚逻辑关系,可从不同命题角度来构造逻辑表达式,但最终要分析逻辑表达式的值是否符合命题要求。4.1.3 逻辑型变量逻辑型变量C99标准中新增加了逻辑类型数据,可以定义逻辑型变量,将关系运算和逻辑运算的结果存放到一个逻辑型变量中,以便于分析和运算。逻辑类型的关键字是“_Bool”。例如,对学

5、生的考试成绩分级,定义逻辑变量以存放判定结果,可使程序简单明晰:在头文件stdbool.h中,若定义bool为_Bool的替代标识符,同时定义两个符号常量true和false,分别表示逻辑真(1)和逻辑假(0),则上面的程序可写为逻辑类型bool及true和false是C+中使用的,C语言新标准中吸收进来,以增加程序的可读性。但是目前使用的有些C编译系统还未实现此功能。如果使用,需了解所使用的编译系统是否支持。4.1.4 条件运算符和条件表达式条件运算符和条件表达式“?”是条件运算符,可以连接运算对象形成条件表达式。条件表达式的一般形式为表达式1?表达式2:表达式3其中,表达式可以是算术表达式

6、、关系表达式和逻辑表达式。表达式的求值顺序是:先求表达式1的值,若表达式1的值为逻辑真,则求表达式2的值,并把表达式2 的值作为条件表达式的值;若表达式1的值为逻辑假,则求表达式3的值,并把表达式3 的值作为条件表达式的值。“?”运算符的优先级高于“=”和“,”运算符,低于其他所有运算符,见附录C。例例4.1 利用条件表达式求两数中的大数。分析:输入3和9,a的值是3,b的值是9,a小于b,所以b的值作为条件表达式的值赋给max,因此输出结果是9。条件表达式和前面介绍的分支结构的逻辑关系一致,但与后面的选择语句有本质的区别。条件表达式只是语句的成分,编译时不生成语句代码,而选择语句编译时要生成

7、语句代码。4.2 实现两分支选择的实现两分支选择的if语句语句怎样实现简单逻辑判断与选择?怎样实现简单逻辑判断与选择?实现图4.1所示的两分支的选择结构用if语句。if语句的基本形式为形式一:if(表达式)语句1;else 语句2;形式二:if(表达式)语句1;其中,if和else是语句的关键字。表达式表示分支选择条件,可以是关系表达式、逻辑表达式或其他表达式。如果使用算术表达式等其他类型的表达式,则表达式的值按逻辑值处理,即计算结果为非0,表示逻辑“真”;计算结果为0,表示逻辑“假”。因为if语句是结构型语句,所以语句1和语句2必须是符合C语言规定的语句形式,但不一定是一个基本语句。如果有多

8、个基本语句,则要用花括号括起来,构成复合语句。第一种形式的if语句对应图4.1(a)所示的分支结构。执行流程是:先计算表达式的值,如果表达式的值为真,执行语句1;如果表达式的值为假,执行语句2。也就是说,根据表达式值的真假,在两个分支语句中选择一个执行,称为双分支选择型。在这种形式中,if和else必须配对使用。第二种形式的if语句对应图4.1(b)所示的分支结构。执行流程是:先计算表达式的值,如果表达式的值为真,执行语句1,否则不执行语句1就结束,称为单分支选择型。例例4.2 编程输入两个实数,按由大到小的顺序输出。编程解题思路:输入两个实数,存放在两个变量a、b中,比较a和b的值,如果ac

9、&b=c;(2)a|b+c&b-c;(3)!(ab)&!c|1;(4)!(x=a)&(y=b)&0;(5)!(a+b)+c-1&b+c/2。2分析以下问题,从每小题的4个备选项中选择一个正确项。(1)下面程序的输出结果是()。(2)若执行下面程序时,从键盘上输入9,则输出结果是()。A11B10C9D8(3)下面程序的输出结果是()。A.0 B.1 C.-2 D.-3(4)运行下面程序,如果从键盘输入5,则输出结果是()。A3B4C5D6(5)若a、b、c1、c2、x、y均是整型变量,则正确的switch语句是()。(6)下面程序的输出结果是()。Aa=2,b=1Ba=1,b=1Ca=1,b=

10、0Da=2,b=2(7)下面程序的输出结果是()。A1B2C3D4(8)下面程序的输出结果是()。Aa=2,b=1Ba=1,b=1Ca=1,b=0Da=2,b=23在以下不完整程序的下划线处填写适当的语句代码,使程序能够正确运行。(1)下面是求分段函数值的程序。分段函数:x x1y=2x-1 1x10 3x-11 x10(2)程序功能:从键盘输入3个整数,求出其中最大的数并输出。4企业效益工资根据利润提成分段计算。分段提成比例如下:利润I 提成比例I100 00010%100 000I200 000 7.5%200 000I400 0005%400 000I600 0003%600 000I1000 0001.5%I1000 0001%编写程序,从键盘上输入当月利润,求应发效益工资。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《C语言程序设计基础》课件_第4章.pptx)为本站会员(kld)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|