已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序的控制结构 选择结构 Yangzheng Middle School 概述 vC+在默认的情况下采取顺序结构,除非特别指明 ,计算机总是按语句顺序一条一条地执行。 v但在现实世界中,在解决问题的过程中,不可避 免地遇到需要进行选择、或需要循环工作的情况 。 v这时,程序执行的顺序需要发生变化,而非从前 向后逐一执行。因此,程序中除了顺序结构以外 ,通常还有选择结构、循环结构以及转移机制。 v从结构化程序设计的观点看,所有程序都可用3种 控制结构即顺序结构、选择结构、和循环结构实 现。 Yangzheng Middle School 概述 v选择类语句包括if语句和switch语句,用它们来 解决实际应用中按不同的情况进行不同处理的问 题。 如根据学生的成绩,对学生做出不同的等第评 价。 v循环类语句包括for循环语句、while循环语句和 do循环语句三种,用它们来解决实际应用中需要 重复处理的问题。 如当统计全班同学总分时,就需要重复地做加 法,依次把每个人的分数累加起来。 Yangzheng Middle School if选择结构 Yangzheng Middle School if选择结构(单分支结构) v格式1: v功能:如果条件表达式的值为真,即条件成立,“语 句1”将被执行。否则,“语句1”将被忽略(不被执行 ),程序将按顺序从整个if选择结构之后的下一条语 句继续执行。 v说明:格式中的“条件表达式”必须用圆括号括起来。 if (条件表达式) 语句1; 条件表达式 条件表达式 语句1 false true Yangzheng Middle School if选择结构(单分支结构)例3.1 v 读入一个整数a,如果a为偶数在屏幕上输出yes #include using namespace std; int main( ) int a; cina; if (a%2=0)/关系运算符=不要写成赋值号= cout using namespace std; int main ( ) int a; cina; if (a1) int main ( ) float a,b,c; cinab; if (ab) c=a; a=b; b=c; cout using namespace std; int main() int c; cin c; if (c=60) cout using namespace std; int main() int t; cin t; if (t=25) int main( ) float w, p; scanf(“%f“, if (wb) if (bc) y=a; else y=c; if (ab) if (bc) y=a; else y=c; else部分否定的是条件 bc,即它与第二个if语 句配对 else部分否定的是条件 ab,即它与第一个if语 句配对 Yangzheng Middle School if语句的嵌套例题 v 读入三条线段的长度(均为正数),判断这三条线段是否 能构成三角形,若能构成三角形,判断所构成三角形的形 状(等边、等腰、一般)。 v 【问题分析】 if三边能构成三角形 if其中有一对边相等 if三边相等,显示“等边三角形” else(没有三边相等),显示“等腰三角形” else(没有一边相等) 显示“一般三角形” else(不构成三角形) 显示“无法构成三角形” Yangzheng Middle School if语句的嵌套例题 #include using namespace std; int main() float a,b,c; scanf(“%f%f%f“, if ( (a+bc) else printf(“等腰三角形n“); else printf(“一般三角形n“); else printf(“不能构成三角形n“); return 0; Yangzheng Middle School 三目运算符 v C+中有一个常用来代替if-else语句的操作符,这个操 作符被称为三目运算符(?:),它是C+中唯一一个需要 3个操作输的操作符。格式为: v 说明:先求表达式1的值, 如果为true, 则执行表达式2 ,并返回表达式2的结果;如果表达式1的值为false, 则 执行表达式3 ,并返回表达式3的结果。如: x=53?10:12;/53为true,所以x=10 x=3=9?25:18; /3=9为false,所以x=18 ?: Yangzheng Middle School 三目运算符例3.8 v使用三目运算符来确定两值中较大的一个 #include using namespace std; int main() int a,b; cinab; int c=ab?a:b; cout using namespace std; int main() int a; cina; switch (a) case 1: cout using namespace std; int main() int a; cina; switch (a) case 1: cout using namespace std; int main() float a; cina; switch (a) case 1: cout using namespace std; int main() intt a; cina; switch (a) case 1: cout int main() int a; scanf(“%d“, switch(a) case 1:printf(“level 1n“);break; case 2: case 3: case 4:printf(“level 4n“);break; case 5:printf(“level 5n“);break; return 0; 当分别输入2,3,4 时,结果都是显示: level 4 Yangzheng Middle School switch语句(多分支结构)例3.8 v根据从键盘上输入的表示星期几的数字,对应输 出它的英文名称。 #include using namespace std; int main() int weekday; cinweekday; switch(weekday) case 1: cout using namespace std; int main() int month,day; cinmonth; switch(month) case 2: day=28; break; case 4: day=30; break; case 6: day=30; break; case 9: day=30; break; case 11: day=30; break; default: day=31; break; cout using namespace std; int main() int a,b,c,x,y; /a,b,c分别表示在买笔方案中,6元、5元和4元钱笔的数目 /x,y分别表示剩余班费和买完最多的4元笔后剩的钱 cinx;/输入x c=x/4;/4元笔最多买的数目 y=x%4;/求买完c支4元笔后剩余的钱数y switch (y)/判断购买方案 case 0: a=0; b=0; break; case 1: a=0; b=1; c-; break; case 2: a=1; b=0; c-; break; case 3: a=1; b=1; c-=2; break; couta b cendl; /三个数间以空格隔开 return 0; Yangzheng Middle School 上机练习 v 1、晶晶赴约会:晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1 、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请。 v 2、骑车与走路:在清华校园里,没有自行车,上课办事会很不方便。但实际 上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车 等,这要耽误一些时间。假设找到自行车,开锁并车上自行车的时间为27秒 ;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判 断走不同的距离去办事,是骑车快还是走路快。 v 3、分段函数:编写程序,计算下列分段函数y=f(x)的值。结果保留到小数 点后三位。 y=-x+2.5;0=x5 y=2-1.5(x-3)(x-3);5=x10 y=x/2-1.5;10=x20 v 4、计算邮资:根据邮件的重量和用户是否选择加急计算邮费。计算规则:重 量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克 加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元 。 Yangzheng Middle School 上机练习 v 5、最大数输出:输入三个整数,数与数之间以一个空格分开。 输出一个整 数,即最大的整数。 v 6、三角形判断:给定三个正整数,分别表示三条线段的长度,判断这三条线 段能构成一个什么类型的三角形(等腰、等边、直角、一般) 。 v 7、判断闰年:判断某年是否是闰年。如果是闰年输出Y,否则输出N。 v 8、点和正方形的关系:有一个正方形,四个角的坐标(x,y)分别是(1,-1) ,(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一 个给定的点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 985美术生就业方向解析
- 2026 人教版三年级数学下册第一单元《位置与方向(一)》模拟测试卷(含答案)
- 银行应急响应预案
- 预应力筋张拉记录表格填写
- (正式版)DB42∕T 2546-2026 老年慢性疾病中医药管理规范
- 2026年上半年四川内江市隆昌市紧密型县域医疗卫生共同体总医院部分成员单位自主考试招聘卫生专业技术人员57人考试参考题库及答案解析
- 2026西藏日喀则市审计局招聘注册会计师1人笔试备考题库及答案解析
- 2026云南昆明铁路运输中级法院招聘编外聘用人员5人考试模拟试题及答案解析
- 江苏苏州市相城区2025-2026学年第二学期阶段质量监测初二英语试卷(试卷+解析)
- 2026浙江大学科技园招聘2人考试备考试题及答案解析
- 2026年黑龙江省《保密知识竞赛必刷100题》考试题库带答案详解(基础题)
- 2026四川南充市仪陇县疾病预防控制中心(仪陇县卫生监督所)遴选4人建设笔试参考题库及答案解析
- 2026乌鲁木齐市招聘警务辅助人员(1134人)建设笔试备考试题及答案解析
- 智能体龙虾AI助手(小龙虾)应用实践-
- 蝶阀维修施工方案(3篇)
- 广东省广州市黄埔区2024-2025学年八年级下学期期末语文试题及答案
- 幼儿园采购园服制度
- 2026四川甘孜州能源发展集团有限公司招聘29人考试参考试题及答案解析
- 高速维护应急预案(3篇)
- 2026广西桂林市从“五方面人员”中选拔乡镇领导班子成员139人笔试模拟试题及答案解析
- 调解中心内部管理制度
评论
0/150
提交评论