H1-3 运算符、表达式和条件语句.ppt_第1页
H1-3 运算符、表达式和条件语句.ppt_第2页
H1-3 运算符、表达式和条件语句.ppt_第3页
H1-3 运算符、表达式和条件语句.ppt_第4页
H1-3 运算符、表达式和条件语句.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Operators ExpressionsandConditionalsentence运算符 表达式和条件语句 学习如何顺序表达程序逻辑学习如何根据不同的情况执行不同的处理程序 学习目标 运算符与表达式 运算符是一个命令编译器对一个或多个操作数执行某种运算的符号 操作数是运算符对其执行操作的东西 类似于 1 a 等 例如 a 1中 为运算符 a 1 为操作数 赋值运算符的格式 变量 表达式例如 inta 2 b 3 c c a 2 b 该句被执行时 将计算表达式a 2 b的值 并将结果7赋给变量c 运算符与表达式 赋值运算符 算术运算符是执行诸如加 减等数学运算的2种单目算术运算符5种双目算术运算符 运算符与表达式 算术运算符 注 目 就是代表参与运算的操作成员数量 单目数学运算符是指完成此类运算只需要一个操作数 运算符与表达式 算术运算符 递增与递减运算符采用前缀模式时 先执行递增或递减运算 再计算表达式的值采用后缀模式时 先计算表达式的值 然后再执行递增或递减操作 运算符与表达式 include stdio h voidmain inta 8 b b a 先取a的值做赋值给b 再执行a a 1printf a d b d n a b 运算符与表达式 双目运算符需要两个操作数 运算符与表达式 双目算术运算符 大家都很熟悉求模 取余 运算返回第一个操作数除以第二个操作数后得到的余数该运算符要求两边的操作数都是整型例如 10 3 1 商为3 余数为1 25 5 0 商为5 余数为0 2 7 2 商为0 余数为2 运算符与表达式 运算符优先级和圆括号在包含多个运算符的表达式中 运算的执行顺序是什么样的呢 例如 x 10 5 3 2 运算符与表达式 运算符优先级 有关运算执行顺序的规则每个运算符都有一个优先级计算表达式时 先执行优先级高的运算符下表中的 1 表示优先级最高 运算符与表达式 表达式计算顺序表达式中包含多个优先级相同的运算符 则按从左到右的顺序依次计算 例如 15 3 4 3结果为2 15 3 5 5 4 20 20 3 2 使用圆括号可以改变计算顺序在表达式中 可以使用多个圆括号 并且可以嵌套 当圆括号被嵌套时 从内向外计算表达式 运算符与表达式 表达式 num 10 22 6 4 7 表达式的计算顺序如下 1 计算最里面括号内的表达式6 4 结果为2 表达式变为 10 22 2 7 2 接着计算表达式22 2 结果为11 表达式变为 10 11 7 3 计算括号内的表达式11 7 结果为4 表达式变为 10 44 最后结果为num 40 通常会在书写表达式时 为清晰思路 即使不改变运算符优先级 也会使用圆括号注意 圆括号必须成对出现 运算符与表达式 关系运算符 关系运算符用于比较表达式例如比较两个数字大小时等问题关系运算符所组成的表达式的结果为真true 1 或假false 0 运算符与表达式 关系运算符项目表 运算符与表达式 include stdio h voidmain inta 3 b 4 c 3 printf d n a b printf d n a b printf d n a c printf d n a c printf d n a b printf d n a b printf d n a b printf d n a b 运算符与表达式 关系运算符的优先级使用关系运算符的表达式中 也可用圆括号来改变优先级 运算符与表达式 关系运算符的优先级低于算术运算符例子 inta 3 b 4 c 4 d 2 num a b c d将先计算c d 8再计算a b 7然后比较两个值的大小7 8 结果为0赋给num 运算符与表达式 逻辑运算符现实中 评价一个问题时通常要多方参考 例如 评选优秀学员的条件出勤率达到95 以上各门课程的平均分在90分以上要用到逻辑运算符把两个条件表达式进行组合 运算符与表达式 三种逻辑运算符 运算符与表达式 逻辑运算符的运算规则exp1 exp2 当且仅当exp1和exp2表达式的值都为真时 整个表达式的结果为真 exp1 exp2 当且仅当exp1和exp2表达式的值都为假时 整个表达式的结果为假 exp1 当exp1本来为真时 结果为假 本来为假时 结果为真 运算符与表达式 逻辑运算符的优先级 是单目运算符优先级高于 和 和所有的关系运算符及所有的双目数学运算符 运算符 的优先级高于 它们的优先级低于所有的数学运算符和关系运算符 同样也可以使用圆括号来改变计算顺序 运算符与表达式 复合赋值运算符 复合赋值运算符是指将双目算术运算符和赋值运算符组合在一起 提供了一种简单的方式 a 3 等价于a a 3 a 3 等价于a a 3 a 3 等价于a a 3 a 3 等价于a a 3 a 3 等价于a a 3 其他运算符 条件运算符 C语言中唯一一个三目运算符 语法如下 a exp1 exp2 exp3 如果exp1的结果为真 即非0 则a exp2的值 否则a exp3的值big a b a b a b为真 则big a 否则big b 其他运算符 逗号运算符 在C语言中经常被用作一个简单的分隔符号 在一些情况下逗号是运算符 而不是分隔符 例如 inta 10 b 20 x a b 由于使用 运算符时 采用的是后缀模式 因此先将b的值赋给x 然后将a和b的值分别加1 x 20其中的圆括号是必不可少的 因为逗号运算符的优先级低于赋值运算符逗号运算符最常用于for语句中 其他运算符 语句是一条完整的指令 用语句可以命令计算机执行特定的任务 语句及顺序结构程序设计语句 语句 顺序结构程序设计语句 顺序结构程序是最简单的程序 按其在源文件中的出现顺序从前到后依次执行 主要由说明语句 表达式语句 复合语句等语句构成 if语句的格式如下 if 表达式 语句或语句块 如果表达式的运算结果为true 则执行语句 否则不执行 无论结果如何 都将接着执行if语句后面的语句 即右花括号后面的语句 if 表达式 和语句 一起组成了完整的if语句 它们并非两条独立的语句 分支结构程序设计语句之if 输入两个实数 按代数值由小到大的顺序输出这两个数 include stdio h voidmain floata b t scanf f f if语句实例 if else语句语法格式如下 if 表达式 语句1 else 语句2 后面的语句 if else语句语法格式 如果表达式为真 则执行语句1 否则执行语句2语句1和语句2都可以是复合语句 代码块 不管执行了语句1还是语句2 都会继续执行后面的语句 注意 我们要注意语句结束后的分号 尤其是else前的语句分号 分号不可缺少else是if的子句 必须是if语句的组成部分 else子句不能作为语句单独使用 If else执行方式 使用if else语句重写两数判断问题 include stdio h voidmain floata b printf Inputa b n scanf f f If else示例 多分支if语句一般格式if 表达式1 语句1 elseif 表达式2 语句2 else 语句3 后面的语句 多分支if语句语法格式 嵌套if语句语法格式 if 表达式1 if 表达式2 语句1 else 语句2 elseif 表达式3 语句3 else 语句4 嵌套if语句语法格式 重写三数排序程序 include stdio h voidmain floata b c printf Inputa b c n scanf f f f else if a c printf 5 2f 5 2f 5 2f c a b elseif c b printf 5 2f 5 2f 5 2f a b c else printf 5 2f 5 2f 5 2f a c b 嵌套if语句应用举例 分支结构程序设计语句之switch switch结构是描述多分支选择的另一种形式 它的一般格式为 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 break 后面的语句 switch语句的执行流程 include stdio h voidmain intbasic 基本工资floatper c pay per代表提成额度 c代表实际销售额 pay代表实发工资chars 级别printf 请输入员工级别 A B C 和本月销售额 n scanf c f switch s case A case a basic 1500 per 0 2 break case B case b basic 1000 per 0 15 break case C c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论