顺序结构与选择
循序结构
程序由若干条语句组成,各语句按照顺序一条一条地执行,这种结构叫做顺序结构。顺序结构是程序的最基本结构。
如下便是一个简单的顺序结构
1 |
|
在主函数中,按照从上到下的顺序一次运行语句:
- 首先定义三个变量s,a,b
- 输入a,b
- 将a+b的值赋予s
- 输出s
选择结构
在现实世界中,在解决问题的过程中,不可避免地遇到需要进行选择的情况。这时,程序执行的顺序需要发生变化,而非从前向后逐一执行。此时我们便需要用到选择结构。
选择类语句包括if语句和switch语句,用它们来解决实际应用中按不同的情况进行不同处理的问题。
if语句
if语句是最基础,常用的选择语句。基本结构如下:
if(条件1)
{
若满足条件1,则进入该大括号,按顺序向下执行,
}
else if(条件2)
{
若不满足条件1,但满足条件2,则进入该大括号,按顺序向下执行。
}
...
else if(条件n)
{
若不满足以上所有条件,但满足条件n,则进入该大括号,按顺序向下执行。
}
else
{
若所有条件都不满足,则进入该大括号,按顺序向下执行。
}
解释 :其中 else if 语句的数量没有限制,据实际应用而定。但是,else if 必须跟在 if 后使用,else 必须跟在 if 或 else if 后使用。if 可以单独使用。
举个栗子:
小明,小红,小亮有点无聊,于是决定玩一个游戏,他们从一堆数字中,随意抽出两个未知的数字 a,b 。小明猜测 a>b , 小红猜测 a<b , 小亮猜测 a=b。现在他们请你写一个程序对给定的两个数 a,b 判断谁猜的正确。
输入格式
一行输入两个数字a,b
输出格式
若小明正确,则输出1,若小红正确,则输出2,若小亮正确,则输出3,
输入输出样例
输入:
1 2
输出:
2
程序如下:
1 |
|
switch语句
应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,其至凌乱。为方便实现多情况选择,C++提供了一种switch开关语句。
switch的基本结构如下:
1 |
|
解释:
switch语句执行过程分为以下3步描述。
(1)计算出switch后面圆括号内表达式的值,假定为M,若它不是整型,系统将自动舍去其小数部分,只取其整数部分作为结果值。
(2)依次计算出每个case后常量表达式的值,假定它们为M1、M2、…,同样若它们的值不是整型,则自动转换为整型。
(3)让M依次同M1、M2、…进行比较,一旦遇到M与某个值相等,则就从对应标号的语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个switch语句的执行。
举个栗子:
1 | switch(a) |
1 |
|
注意:
1.case语句后的各常量表达式的值不能相同,否则会出现错误码。
2.每个case或default后,可以包含多条语句,不需要使用“{”和“}”括起来。
3.各case和default子句的先后顺序可以变动,这不会影响程序执行结果。
4. default子句可以省略,default后面的语句末尾可以不必写break。
例题:根据从键盘上输入的表示星期几的数字,对应输出它的英文名称。
1 |
|
练习:
1、输入三个数a,b,c,打印出最大者。
2、输入三角形的三边,判断它是否是直角三角形。
3、输入三角形的三个边,判断它是何类型的三角形(等边DB?等腰DY?一般YB?)。
4、输入三个数,按由大到小顺序打印出来。
5、对一批货物征收税金。价格在1万元以上的货物征税5%,在5000元以上,1万元以下的货物征税3%,在1000元以上,5000元以下的货物征税2%,1000元以下的货物免税。编写一程序,读入货物价格,计算并输出税金。
6、输入某学生成绩,根据成绩的好坏输出相应评语。如果成绩在90分以上,输出评语:优秀(outstanding)。如果成绩在60分到90分之间,输出评语:良好(satisfactory)。如果成绩不足60分,输出评语:不及格(unsatisfactory)。
更多练习请见:https://www.luogu.com.cn/training/101#problems
最后更新: 2023年09月02日 04:06:21
本文链接: http://syrsteven.github.io/post/48aa0c4a.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!