2.3.2选择结构_第1页
2.3.2选择结构_第2页
2.3.2选择结构_第3页
2.3.2选择结构_第4页
2.3.2选择结构_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

程序的选择执行 上节课内容重温 includeusingnamespacestd intmain floatx y t cout x y t x x y y t cout 输出x x y y endl return0 定义变量x y t的类型为float 我们还可以定义为int long double char等 cin C 程序设计中变量的读入语句 Main函数中 每一条语句都执行一遍后程序结束 这种形式的程序我们称为 顺序结构的程序设计 新课导入 鸡兔同笼 小学题 共有35个头 94条脚 求鸡和兔子各有多少只 includeusingnamespacestd intmain inta b x y a 35 b 94 y 94 2 35 x 35 x cout x x y y endl return0 y 94 35 2 2 x 35 y 新课导入 鸡兔同笼 初中题 已知鸡和兔的总数量为n 总腿数为m 输入n和m 依次输出鸡的数目和兔的数目 如果无解 则输出 Noanswer 不要引号 样例输入 3594样例输出 2312样例输入 1016样例输出 Noanswer if语句和关系表达式 格式1if 表达式 语句功能当条件成立即表达式值为真时 执行 语句 否则执行if语句下方的语句 流程图 if语句和关系表达式 例1 阅读下列程序及运行结果 体会if语句含义 includeusingnamespacestd intmain intn cout n if n 0 cout 注意负数 endl cout n endl return0 输入数据1 25输入数据2 6输入数据3 0 if语句和关系表达式 例2 修改例1的程序 使其能实现 读入当前汽车在高速公路行驶车速 如超过120公里 小时 屏幕输出提示信息 请减速慢行 您已超速 includeusingnamespacestd intmain intn cout n if n 120 cout 请减速慢行 您已超速 endl cout n endl return0 if语句和关系表达式 格式2if 表达式 语句1 else语句2 功能当条件成立即表达式值为真时 执行 语句1 否则执行 语句2 流程图 if语句和关系表达式 例3 阅读下列程序及运行结果 体会if语句含义 includeusingnamespacestd intmain intn cin n if n 2 0 cout 是偶数 endl elsecout 是奇数 endl return0 输入数据1 25输入数据2 26输入数据3 0 if语句和关系表达式 例4 修改例3的程序 使其能实现 读入当前汽车在高速公路行驶车速 如超过120公里 小时 屏幕输出提示信息 请减速慢行 您已超速 否则屏幕输出提示信息 您当前车速为xx公里 小时 includeusingnamespacestd intmain intn cin n if n 120 cout 请减速慢行 您已超速 endl elsecout 您当前车速为 d 公里 小时 endl return0 老题新做 鸡兔同笼已知鸡和兔的总数量为n 总腿数为m 输入n和m 依次输出鸡的数目和兔的数目 如果无解 则输出 Noanswer 不要引号 样例输入 3594样例输出 2312样例输入 1016样例输出 Noanswer 老题新做 解 设所求的鸡数是x只 兔子数是y只 已知笼子里的头数是n 脚数是m 则得到如下方程组 x y n2x 4y m解方程组得 x 2n m 2y m 2 n由方程组我们可以清楚的看出 当m为偶数 x和y的值都大于零时方程组是有解的 即可以求出鸡和兔子的数目 否则问题无解 关系表达式 关系表达式关系运算符 关系运算符的优先级别 关系表达式的一般形式 表达式关系运算符表达式 关系表达式 例5 设a 8 b 6 c 14 阅读例5程序段的输出结果 体会关系表达式的值 1 0 0 1 1 逻辑表达式 逻辑表达式逻辑运算符 逻辑运算符的优先级别 逻辑表达式的一般形式 表达式逻辑运算符表达式 逻辑表达式 逻辑运算 逻辑非 逻辑与 逻辑或 表达式的优先级别 算术表达式 关系表达式 逻辑表达式 非 算术运算符关系运算符 和 赋值运算符 逻辑表达式 例 根据问题写出条件表达式 if n 2 0 n 3 0 if x 1 x 5 if x 0 或if x 老题新做 写出 判断m为偶数而且x和y的值都大于零 的条件表达式m 2 0 x 0 y 0 老题新做 includeusingnamespacestd intmain intx y n m cin n m x 2 n m 2 y m 2 n if m 2 0 逻辑表达式 例6 输入年份year 输出该年是否为闰年 提示 闰年的条件是 年份能被4整除但是不能被100整除或者能被400整除 includeusingnamespacestd intmain intyear cin year if year 4 0 嵌套if语句 嵌套if语句是指在if else分支中还存在if else语句 用嵌套if语句表达问题最重要的是先把问题的分支逻辑关系分析清楚 接着用if表达分支逻辑关系就顺理成章了 在使用嵌套if语句时 需要特别注意if与else的配对关系 else总是与它上面最近的 且未配对的if配对 嵌套if语句 嵌套if语句 例7 在劳动技术课上 老师拿来了不同长度铁丝 给每个同学发一根铁丝 要求用手上的铁丝制作固定面积的矩形框 小计想利用计算机帮助大家求出矩形的长和宽 这样就能快速完成任务 当然 解决问题的算法是要大家共同分析完成的 输入样例 18 铁丝长度 20 矩形面积 输出样例 矩形的长和宽分别为 5 4输入样例 85输出样例 找不到这样的矩形 嵌套if语句 分析 设铁丝长度为l 矩形面积为s 这是已知的 设所求矩形的宽为x 则长为1 2l x 那么 x 1 2l x s化简得 x2 1 2lx s 0问题转换为 已知l s 求x2 1 2lx s 0一元二次方程的解 嵌套if语句 求 的值 If 0 l l 4 4 s 输出 找不到这样的矩形 Else if 0 x1 x2 l 4else x1 l 2 sqrt 2 x2 l 2 sqrt 2 输出 矩形的长和宽分别为 嵌套if语句 include includeusingnamespacestd intmain doubles l x1 x2 doubled cin l s d l l 4 4 s if d 0 cout 找不到这样的矩形 endl else if d 0 x1 x2 l 4 else x1 l 2 sqrt d 2 x2 l 2 sqrt d 2 cout 矩形的长和宽分别为 x1 x2 endl return0 嵌套if语句 提示 这是数学中求 分段函数 的典型问题 碰到这种问题 我们除了可以用上面讲的if语句的嵌套 还可以用另一种形式

温馨提示

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

评论

0/150

提交评论