选择结构(C++版).ppt
《选择结构(C++版).ppt》由会员分享,可在线阅读,更多相关《选择结构(C++版).ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第三章第三章 程序的控制结构程序的控制结构w第一节第一节 概述概述w第二节第二节 if选择结构选择结构w第三节第三节 switch语句语句第一节第一节 概述概述w 程序由若干条语句组成,各语句按照顺序一条一条地执行,这种顺序结构是简洁的。但在现实世界中,在解决问题的过程中,不可避免地遇到需要进行选择、或需要循环工作的情况。这时,程序执行的顺序需要发生变化,而非从前向后逐一执行。因此,程序中除了顺序结构以外,通常还有选择结构、循环结构以及转移机制。w C+为了支持这些控制结构,提供了丰富、灵活的控制语句。从结构化程序设计的观点看,所有程序都可用3种控制结构即顺序结构、选择结构、和循环结构实现。C
2、+在默认的情况下采取顺序结构,除非特别指明,计算机总是按语句顺序一条一条地执行。为使程序更清晰、更易调试与修改,并且不容易出错,结构化编程要尽量少用或不用goto等跳转语句。w 选择类语句包括if语句和switch语句,用它们来解决实际应用中按不同的情况进行不同处理的问题。如根据学生的成绩,对学生做出不同的等第评价。if选择结构称为单分支选择结构,选择或忽略一个分支的操作。if/else选择结构称为双分支选择结构,在两个不同分支中选择。switch选择结构称为多分支(或多项)选择结构,以多种不同的情况选择多个不同的操作。w 循环类语句包括for循环语句、while循环语句和do循环语句三种,用
3、它们来解决实际应用中需要重复处理的问题。如当统计全班同学总分时,就需要重复地做加法,依次把每个人的分数累加起来。w if、else、switch、while、do和for等都是C+关键字。这些关键字是该语言保留的,用于实现C+控制结构的不同特性。关键字不能作为变量名等一些标识符。注意,将关键字while的拼写变为“While”是个语法错误,因为C+是区分大小写的语言。while、if和else等所有C+保留关键字只能包含小写字母。第二节第二节 if选择结构选择结构 C+C+C+C+提供三种选择结构,即提供三种选择结构,即提供三种选择结构,即提供三种选择结构,即if if选择结构、选择结构、选择
4、结构、选择结构、if-elseif-else选择结构选择结构选择结构选择结构和和和和switchswitch选择结构。选择结构。选择结构。选择结构。一、一、一、一、if if语句(单分支结构)语句(单分支结构)语句(单分支结构)语句(单分支结构)格式格式格式格式1 1:if (if (条件表达式条件表达式条件表达式条件表达式)语句语句语句语句1 1;功能:如果条件表达式的值为真,功能:如果条件表达式的值为真,功能:如果条件表达式的值为真,功能:如果条件表达式的值为真,即条件成立,语句即条件成立,语句即条件成立,语句即条件成立,语句1 1 1 1将被执行。否则,将被执行。否则,将被执行。否则,将
5、被执行。否则,语句语句语句语句1 1 1 1将被忽略(不被执行),程序将将被忽略(不被执行),程序将将被忽略(不被执行),程序将将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条按顺序从整个选择结构之后的下一条按顺序从整个选择结构之后的下一条按顺序从整个选择结构之后的下一条语句继续执行。执行流程如图语句继续执行。执行流程如图语句继续执行。执行流程如图语句继续执行。执行流程如图3-13-13-13-1所示所示所示所示 说明:格式中的说明:格式中的说明:格式中的说明:格式中的“条件表达式条件表达式条件表达式条件表达式”必必必必须用圆括号括起来。须用圆括号括起来。须用圆括号括起来。须用圆括
6、号括起来。条件表达式条件表达式 语句语句1 1falsetrue图3-1 程序设计风格提示程序设计风格提示:从语法上来讲,整个从语法上来讲,整个if语句可以写语句可以写在一行。如果条件表达式和语句都非常简单,那么整个语句在一行。如果条件表达式和语句都非常简单,那么整个语句可以写在一行;否则,最好在条件表达式后换行,而且语句可以写在一行;否则,最好在条件表达式后换行,而且语句部分要相对部分要相对if缩进两格。缩进两格。例例3.1 读入一个整数读入一个整数a,如果,如果a为偶数在屏幕上输出为偶数在屏幕上输出yes#includeusing namespace std;int main()int a
7、;cina;if(a%2=0)coutyes;return 0;注意:关系运算符=用来表达该符号的左右两边是否相等,不要写成赋值号=。试一试试一试 若题目改为“读入一个整数a,如果a为奇数在屏幕上输出no”该如何修改程序?例例3.2 读入一个数,若这个数大于读入一个数,若这个数大于1并且小于并且小于100,则输出,则输出yes#includeusing namespace std;int main()int a;cina;if(a1)&(a100)cout1)&(ab则交换则交换a,b的值的值#includeusing namespace std;int main()float a,b,c;c
8、inab;if(ab)c=a;a=b;b=c;couta=a b=b;return 0;二、二、if-else语句(双分支结构)语句(双分支结构)if单分支选择结构只在条件为true时采取操作,条件为false时则忽略这个操作。利用if-else双分支选择结构则可以在条件为true时和条件为false时采取不同操作。格式格式1:功能:功能:如果(条件表达式)的值为“真”,即条件成立,则执行语句1,执行完“语句1”后继续执行整个ifelse语句的后继语句;如果(条件表达式)的值为“假”,即条件不成立,那么跳过语句1选择执行“语句2”,执行完语句2后继续执行整个ifelse语句的后继语句;也就是说
9、ifelse语句总是根据(条件表达式)的结果,选择“语句1”和“语句2”中的一个执行,执行完以后,整个ifelse就算执行完了。执行流程如图4-2所示if (条件表达式条件表达式)语句语句1;else 语句语句2;程序设计风格提示:书程序设计风格提示:书写写ifelse语句时,语句时,if和和else要对齐,而分支的语句部分要对齐,而分支的语句部分要缩进两格。要缩进两格。条件表达式条件表达式语句块语句块2 2flasetrue语句块语句块1 1图图3-23-2例例3.4 根据用户输入的成绩,判断是否通过了考试。根据用户输入的成绩,判断是否通过了考试。#includeusing namespac
10、e std;int main()int c;cin c;if(c=60)coutpass!n;else coutsorry!n;return 0;例例3.5 输入温度输入温度t的值,判断是否适合晨练。的值,判断是否适合晨练。(25=t=30,则适合晨练则适合晨练ok,否则不适合,否则不适合no)#includeusing namespace std;int main()int t;cin t;if (t=25)&(t=30)coutok!n;else coutno!n;return 0;格式格式2:if (条件表达式条件表达式)语句语句1;语句语句2;else 语句语句1;语句语句2;若分支语
11、句由多个句子构成,我们必须把这些句子括在一对花括号 内。例例3.6 乘坐飞机时,当乘客行李小于等于乘坐飞机时,当乘客行李小于等于20公斤时,按每公公斤时,按每公斤斤1.68元收费,大于元收费,大于20公斤时,按每公斤公斤时,按每公斤1.98元收费,编程元收费,编程计算收费计算收费(保留保留2位小数位小数)。#include using namespace std;int main()float w,p;scanf(%f,&w);if(wb)if(bc)y=a;else y=c;else部分否定的是条件bc,即它与第二个if语句配对;若想让else部分与第一个if语句配对,则要引入一个复合语句,
12、将上述语句写成如下形式:if(ab)if(bc)y=a;else y=c;【上机练习上机练习3.1】1、判断两个数a,b,输出较大数的平方值。2、从键盘读入一个数,判断它的正负。是正数,则输出“+”,是负数,则输出“-”。3、假设邮局规定寄邮件时若每件重量在1公斤以内(含1公斤),按1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。请编程序计算邮件收费。4、某服装公司为了推销产品,采取这样的批发销售方案:凡订购超过100 套的,每套定价为50元,否则每套价格为80元。输入订购套数,输出应付款的金额数。5、某市的士费起步价8元,可以行驶3公里。3公里以后,按每公里1.6元计算,输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择 结构 C+
限制150内