版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章选择结构程序设计
主要内容一、选择结构概述二、关系、逻辑表达式三、单分支选择结构四、双分支选择结构五、多分支选择结构六、选择结构的嵌套一、选择结构概述1、为什么要用选择结构?来源于现实如:汽车行驶中,如果交通灯是红色或黄色,则停止,否则通行一、选择结构概述2、选择结构的类型单分支双分支多分支表达式?语句表达式?语句1语句2YNYN二、关系、逻辑表达式1、关系表达式关系运算符:
<、
<=、>、
>=
==、!=关系表达式:a>b,a+b>b+c,’a’<‘b’,(a>b)>(b<c)关系表达式的值是一个逻辑值,即“真”或“假”。优先级高二、关系、逻辑表达式2、逻辑表达式逻辑运算符:
&&、
||、!
逻辑表达式:
a&&b
,
a||b,
!a值是一个逻辑值,即“真”或“假”。优先次序:
!(非)->&&(与)->||(或)二、关系、逻辑表达式2、逻辑表达式设a=4,b=5:!aa&&ba||b!a||b4&&0||2值为0值为1值为1值为1值为1三、单分支选择结构1、实现单分支选择结构的语句—if语句单分支表达式?语句YNIf(表达式)
语句三、单分支选择结构2、单分支选择结构示例例1、求a、b两数中较大的数。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);max=a;if(a<b)max=b;printf(“themaxis%d\n”,max);return0;}三、单分支选择结构例2、从键盘上读入一个大写字符,转换为小写字符输出(要求判断是否是大写字母)。#include<stdio.h>intmain(){charc1,c2;printf(“inputacharacter:”);scanf(“%c”,&c1);if(c1>64&&c1<91){c2=c1+32;printf(“theLowercaseletteris%c\n”,c2);}return0;}
四、双分支选择结构1、if语句If(表达式)
语句1;else
语句2;
四、双分支选择结构例3、求a、b两数中较大的数(双分支)。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);if(a<b)max=b;elsemax=a;printf(“themaxis%d\n”,max);return0;}四、双分支选择结构2、条件表达式格式:条件?表达式2:表达式3如果
条件为真,则返回表达式2的值,否则返回表达式3的值四、双分支选择结构例4、求a、b两数中较大的数(条件表达式)。#include<stdio.h>intmain(){inta,b,max;printf(“inputab:”);scanf(“%d%d”,&a,&b);
max=(a<b)?b:a;printf(“themaxis%d\n”,max);return0;}四、双分支选择结构例5、将大写字母转化为小写字母。charc1;c1=(c1>64&&c1<91)?(c1+32):ch;或者c1=(c1>=’A’&&c1<=’Z’)?(c1+32):ch;五、多分支选择结构表达式1?语句1YN表达式2?语句2YN表达式n?语句nYN…语句n+1五、多分支选择结构1、If语句实现if条件1
语句1
;if条件2
语句2
;if条件3
语句3;a>0a=0a<0或:if条件1
语句1
;elseif条件2
语句2
;else
语句3;五、多分支选择结构2、Switch语句例6:10086语音提示。例7:输入一百分制分数,请转换为等级A,B,C,D。五、多分支选择结构2、Switch语句语句1表达式语句2语句n语句n+1值1值2值n否则五、多分支选择结构2、Switch语句(1)设计要领:①先对要做的几个操作编号。操作1操作2操作3操作4值集合操作集合五、多分支选择结构2、Switch语句(1)设计要领:操作1操作2操作3操作41354②选取合适的某个表达式,让其取值能分别指向某个操作。表达式值2五、多分支选择结构(2)switch语句格式switch(表达式){case常量1:语句1;case常量2:语句2;…case常量n:语句n;default:语句n+1;}break;终止此分支语句五、多分支选择结构(3)break语句终止本次选择结构。格式:break;五、多分支选择结构例8将等级成绩转换为百分制成绩,A等为85分以上,B等为70-84之间,C等为60-69分,D等为60分以下。
成绩的等级由键盘输入。五、多分支选择结构开始结束输入等级grade“85~100”“70~84”“60~69”“<60”grade#include<stdio.h>voidmain(){chargrade;printf(“请输入等级成绩:”);scanf(“%C”,&grade);printf(“Yourscore:”);switch(grade){case‘A’:
printf(“85~100\n”);break;case‘B’:printf(“70~84\n”);break;case‘C’:printf(“60~69\n”);break;case‘D’:
printf(“<60\n”);break;}}ABCD五、多分支选择结构例9运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:s<250km没有折扣250≤s<5002%折扣500≤s<10005%折扣1000≤s<20008%折扣2000≤s<300010%折扣3000≤s15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d)
五、多分支选择结构分析折扣变化的规律性:折扣的“变化点”都是250的倍数取表达式为s/250,其值装入c。c代表250的倍数。
c<1,无折扣;1≤c<2,折扣d=2%;2≤c<4,d=5%;4≤c<8,d=8%;8≤c<12,d=10%;c≥12,d=15%。
五、多分支选择结构#include<stdio.h>
voidmain()
{
intc,s;
floatp,w,d,f;
scanf("%f,%f,%d",&p,&w,&s);
if(s>=3000)c=12;
elsec=s/250;
switch(c){
case0:d=0;break;
case1:d=2;break;
case2:
case3:d=5;break;
case4:
case5:
case6:
case7:d=8;break;
case8:
case9:
case10:
case11:d=10;break;
case12:d=15;break;}
f=p*w*s*(1-d/100.0);
printf("freight=%15.4f\n",f);}五、多分支选择结构例10[简单计算器]下面程序是实现一个简单的运算器(保留两位小数点):如果由键盘输入10+50,计算机可以输出结果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机输出2.00,请在空处填上适当的代码。五、多分支选择结构#include"stdio.h"voidmain(){floata,b,c;charop;scanf("%f%c%f",&a,&op,&b);switch(op){case'+':
;case'-':
;case'*':
;case'/':
;default:printf("error");return;}printf("result=%f",c);}c=a+b;breakc=a-b;breakc=a*b;breakc=a/b;break六、选择结构的嵌套在选择结构中又包含一个或多个选择结构。如:if()
语句1;elseif()
语句2;
else语句3;注意:if与else配对情况,else与最近的if配对。六、选择结构的嵌套例11有一函数编一程序,输入一个x的值,要求输出相应的y值。方法1:用三个独立的if语句来完成。方法2:用if语句的嵌套。六、选择结构的嵌套例12你的身材标准吗?从键盘输入某人的身高和体重后,按照下面的方法确定此人的体重是否标准。标准体重=(身高-110)kg超过标准体重5kg为过胖,低于标准体重5kg为过瘦六、选择结构的嵌套#include<stdio.h>intmain(){floatheight,weight
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国耐火材料行业商业模式创新战略制定与实施研究报告
- 2025-2030年中国专业促销服务行业开拓第二增长曲线战略制定与实施研究报告
- 2025-2030年中国预应力混凝土用钢材行业并购重组扩张战略制定与实施研究报告
- 2025-2030年中国商用后厨设备服务行业商业模式创新战略制定与实施研究报告
- 2025-2030年中国旅居康养行业商业模式创新战略制定与实施研究报告
- 和黄医药出售非核心合资企业交易摘要 -战略性出售上海和黄药业45%股权聚焦抗体靶向偶联药物 (ATTC)平台
- 河北省石家庄市2024届部分名校高三上学期一调考试英语
- 粉煤灰陶粒项目可行性研究报告立项模板
- 来宾关于成立固体废物处理利用公司可行性报告
- 广东省深圳市2023-2024学年五年级上学期英语期末试卷
- 药物分离纯化-药物分离纯化技术的作用
- 《精益生产培训》课件
- GB/T 3518-2023鳞片石墨
- 22G101三维立体彩色图集
- 2024高中历史中外历史纲要下册重点知识点归纳总结(复习必背)
- MQL4命令中文详解手册
- 水平井施工方案及措施
- 资产评估常用数据与参数手册
- 分子影像学概论培训课件
- 小学四年级数学上册促销问题
- 国内外中学数学教学改革与发展
评论
0/150
提交评论