知识点:
·选择结构概念
·起因:我们希望程序能够更加 “智能” 一些,使得其可以在不同的条件下执行不同的操作。
·作用:根据指定的条件,执行不同的代码块。
·例子:

选择结构思路示例

#include<bits/stdc++.h> using namespace std; int main(){ int x; cin>>x; if(x % 2 == 1) { cout<<"奇数"<<endl; } else { cout<<"偶数"<<endl; } return 0; }
·有待解决的问题:(
--1)判断条件如何写?(
--2)如何根据判断条件进行选择?
·关系表达式
·关系运算符:
·概念:用来判断数之间大小关系的运算符。
·种类与作用:
名称
|
符号格式
|
示例
|
小于
| 表达式a < 表达式b | a < 2 + b |
大于
| 表达式a > 表达式b |
2 * a > 1
|
小于等于
| 表达式a <= 表达式b | a + 2 <= b |
大于等于 | 表达式a >= 表达式b | a >= 2 * b |
等于 | 表达式a == 表达式b | a % 2 == 1 |
不等于 | 表达式a != 表达式b | a != 24 |
问题1:既然是运算符,那么它的运算结果是什么?
问题2:关系运算符的运算优先级如何?
问题3:关系表达式是否能链式判断? 4 < 3 < 3 的实际结果到底是真还是假?
·布尔类型 bool :
·概念:用来存储逻辑值 true (真)与 false (假),关系运算符返回的就是布尔类
型。
·范围: 理论上来说 bool 只有 true ( )、 false ( )两种状态。
·if else 语句:
·作用:可以根据条件进行判断,从而控制执行哪一些操作。
·语法
单个 if else 分支:
if(表达式1) {
代码块1
}//如果表达式1成立(返回 true),那么执行代码块1,否则继续。
else {
代码块2
}//执行代码块2。
多重 if else 分支:
if(表达式1) {
代码块1
}//如果表达式1成立(返回 true),那么执行代码块1,否则继续。
else if(表达式2) {
代码块2
}//如果表达式2成立(返回 true),那么执行代码块2,否则继续。
else {
代码块3
}//执行代码块3。
注意事项:
如果代码块只有一条语句,那么可以省略括号。
最后的 else 根据情况可以不写,比如只需要在 为奇数时输出的话。
判断的顺序是从上到下的,这意味顺序不同判断的结果也不同。
课后题目:
判断下面两段代码是否功能一致。
if(x % 2 == 0) cout<<"偶数"<<endl;
else if(x > 0) cout<<"大于0的奇数"<<endl;
else cout<<"小于0的奇数"<<endl;
if(x > 0) cout<<"大于0奇数"<<endl;
else if(x % 2 == 0) cout<<"偶数"<<endl;
else cout<<"小于0的奇数"<<endl;