版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选择结构程序设计汽车计算机基础一、课程导入前一节中我们讲解的都是顺序程序设计,当时我们说过,顺序设计的意思就是从上到下的执行每一行程序。但是我们的生活中,不可能任何事情都是从上到下的顺序执行的。在现实生活中,需要进行判断和选择的情况有很多。如:在高速路上的一个岔路口,有两个出口。驾车者需要根据自己的需要,从二者中选择一条路径。然而在C语言程序设计中也有选择结构。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结一、课程导入还曾记得小时候,每当快考试的时候,家长总会说如果你能考得100分的话,就会给买个玩具。不难看出这是个判断句,那么在C语言中,这种判断语句该如何表达呢?
if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式根据某种条件的成立与否而采用不同的程序段进行处理的程序结构称为选择结构,也称为分支结构。选择结构体现了程序的逻辑判断能力。选择结构是结构化算法中的一种基本结构。实现选择结构的前提是进行关系运算和逻辑判断。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.1关系运算符“关系运算”即“比较运算”,是对两个值进行比较,比较的结果是得到真假两种值。关系运算符在使用时,它的两边都会有一个表达式,比如变量、数值、加减乘除运算等,关系运算符的作用就是判明这两个表达式的大小关系。注意,是判明大小关系,不是其他关系。关系运算符含义数学中的表示<
小于<
<=小于或等于≤>
大于>
>=大于或等于≥==等于=!=不等于≠if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.1关系运算符关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.1关系运算符运算符分为单目,双目和三目。顾名思义,就是运算符的操作数的个数单目就是一个操作数,比如++,a++,操作数只有一个a,写成a++b是非法的。双目就是两个操作数,最熟悉的就是+,a+b,计算ab的和三目就是三个操作数,目前只有一个条件运算符,?运算符,比如a?b;c,当a的值为真时,结果是b,否则结果是c。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式3.2关系表达式关系表达式是用关系运算符将两个数值或数值表达式连接起来的式子。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式3.2关系表达式关系运算符的两边可以是变量、数据或表达式,例如:关系运算符也可以嵌套使用,例如:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.2关系表达式关系表达式的值是一个逻辑值,数学中用“真,假”来表示,C语言中用1和0表示。当表达式成立时为1,否则为0。例如:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.3逻辑运算符在高中数学中,我们就学过逻辑运算,例如p为真命题,q为假命题,那么“p且q”为假,“p或q”为真,“非q”为真。在C语言中,也有类似的逻辑运算。运算符说明结合性举例&&与运算,双目,对应数学中的“且”左结合1&&0、(9>3)&&(b>a)||或运算,双目,对应数学中的“或”左结合1||0、(9>3)||(b>a)!非运算,单目,对应数学中的“非”右结合!a、!(2<5)if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.3逻辑运算符(1)逻辑运算符优先级&&和||都是双目运算符,!是单目运算符,优先级如下:与其它运算符的优先顺序:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结!(非)算术运算符关系运算符&&和||赋值运算符二、关系表达式与逻辑表达式2.3逻辑运算符(2)逻辑运算符结果逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。其求值规则如下:运算符含义说明!逻辑非参与运算的表达式为真时,结果为假;参与运算的表达式为假时,结果为真。&&逻辑与参与运算的两个表达式都为真时,结果才为真,否则为假。||逻辑或参与运算的两个表达式只要有一个为真,结果就为真;两个表达式都为假时结果才为假。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结二、关系表达式与逻辑表达式2.4逻辑表达式逻辑表达式的一般形式为:<表达式><逻辑运算符><表达式>其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a&&b)&&c。逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.1if形式一般形式:if(表达式){语句;}其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.1if形式例1:输出两个整数中的最大值。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.2ifelse形式一般形式:if(表达式){语句1;}else{语句2;}其语义是如果表达式的值为真,则执行语句1,否则执行语句2。其执行过程可表示为下图。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.2ifelse形式例2:输入两个整数,输出其中的大数。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.3ifelseif形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.3ifelseif形式其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假,则执行语句n+1。然后继续执行后续程序。ifelseif语句的执行过程如下图所示。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结三、if语句3.3ifelseif形式例3:判断字符if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结四、if语句的嵌套当if语句中的执行语句又是if语句时,则构成了if语句嵌套的情形。其一般形式可表示如下:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结四、if语句的嵌套在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。C语言规定,else总是与它前面最近的if配对。例如:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结四、if语句的嵌套例4:比较两个数的大小关系。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句在使用switch语句时还应注意以下几点:在case后的各常量表达式的值不能相同,否则会出现错误;在case后,允许有多个语句,可以不用{}括起来;各case和default子句的先后顺序可以变动,而不会影响程序执行结果;default子句可以省略不用;case后面至少要有一个空格,常量后面是冒号;(表达式)与常量类型要保持一致;在需要跳出的时候,在语句后面加上break。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句例5:输入一个数字,输出一个英文单词。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句例5:输入一个数字,输出一个英文单词。输入4,发现和第四个分支匹配成功,于是就执行第四个分支以及后面的所有分支。这显然不是我们想要的结果,我们希望只执行第四个分支,而跳过后面的其他分支。为了达到这个目标,必须要在每个分支最后添加break;语句。break是C语言中的一个关键字,专门用于跳出switch语句。所谓“跳出”,是指一旦遇到break,就不再执行switch中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个switch执行结束了,接着会执行整个switch后面的代码。if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结五、switch语句例5:输入一个数字,输出一个英文单词使用break修改上面的代码:if语句的嵌套课程导入if语句关系表达式与逻辑表达式switch语句总结1.根据某种条件的成立与否而采用不同的程序段进行处理的程序结构称为选择结构,也称为分支结构。选择结构体现了程序的逻辑判断能力。2.对于条件的判断,C语言采用逻辑值1和0分别表示真和假。产生这种逻辑值的表达式是关系表达式和逻辑表达式。二者可以统称条件表达式。3.关系运算符:<、<=、==、>=、>、!=;结合方向:自左向右。4.关系表达式:用关系运算符将两个表达式连接起来的式子,其值是逻辑值“真”或“假”,用1和0表示。5.逻辑运算符:&&(与运算)、||(或运算)、!(非运算)。6.逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式;逻辑运算的值为“真”和“假”两种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年低空感知数据质量评估与清洗规范
- 2026年飞秒激光直写技术应用手册
- 2026届吉林省长春二道区七校联考初三1月联考化学试题试卷含解析
- 2026年钢铁流程数字孪生工厂工艺模拟应用
- 2026年浙江省宁波市南三县初三毕业班第一次模拟考试化学试题含解析
- 四川省达州市渠县2026年初三适应性监测考试生物试题含解析
- 2026年全球生物类似药市场规模与竞争格局分析
- 浙江省慈溪育才中学2026届统一招生5月调研化学试题试卷含解析
- 2026年硫化物厚度探测系统精细勘探作业指南
- 2026年老人数据采集最小必要原则落地与知情同意机制
- 政治学专业理论毕业论文
- 2025年九江学院护理单招题目及答案
- 生菜课件教学课件
- GB/T 15072.4-2025贵金属合金化学分析方法第4部分:钯含量的测定
- 安全防护用品使用培训课件
- 5年(2021-2025)高考1年模拟化学真题分类汇编专题12 化工流程综合题(北京专用)(解析版)(北京专用)
- 心电图试题及答案-心电图试题50题及答案
- 《管理学》(第二版)课件全套 高教版马工程 第0-16章 绪论 - 组织变革与创新
- 缝纫术语详细讲解
- 肿瘤品种医药代表业绩汇报
- 矿业可持续供应链管理-洞察及研究
评论
0/150
提交评论