主要内容 #
1. 关系运算符 #
在数学中,我们学习过数值大小关系的表达。
在 C++ 中,大多数的数学关系,都是相同的。不过,由于一些数学上的符号,
在键盘上不能直接打出来。所以 C++ 的“关系运算符”上,和数学略有不同。
下表中,展示了这些不同。
关系运算符的示例:
5 > 6; // 大于 5 >= 6; // 大于等于 5 < 6; // 小于 5 <= 6; // 小于等于 5 == 6; // 等于 5 != 6; // 不等于
2. 关系表达式 #
C++ 中,将含有“关系运算符”的表达式,称为“关系表达式”。
上面的示例代码中,全部都属于“关系表达式”。
而且,在上一节的课程中,我们在例程中演示了使用“关系表达式”给 bool 变量赋值。
下面,总结一下“关系表达式”的常用情况。
int main() { 5 > 6; // 关系表达式 bool b_0 = 5 > 6; // b_0 的值为 false bool b_1 = 5 < 6; // b_1 的值为 true bool b_2 = (5 > 6); // b_2 的值为 false bool b_3 = 5 > (6-5); // b_3 的值为 true int a = 10; bool b_4 = 5 > a; // b_4 的值为 false int dashima = 15; bool b_5 = dashima != a; // b_5 的值为 true bool b_6 = dashima!=7; // b_6 的值为 true,空格可以省略 bool result; result = 5 > = 6; // 【错误写法】>= 中间不能有空格 result = 5 < = 6; // 【错误写法】<= 中间不能有空格 result = 5 = = 6; // 【错误写法】== 中间不能有空格 result = 5 ! = 6; // 【错误写法】!= 中间不能有空格 return 0; }
请口头判断下面表达式的值。
10 > 8; 10 >= 8; 1 < 8; 1 <= 8; 1 == 8; 1 != 8; int dashima(50); dashima != 50; dashima == 50; dashima >= 50; dashima <= 50;
3. 判断语句 #
人生总是有很多选择,我们无时不刻不在做着各种各样的选择。
对于程序而言,也是如此。那么,C++ 是怎么表示选择的呢?
/* 判断语句 if 假设,图中的人需要根据抛硬币的结果,来选择道路。 # 正面:向左走; # 反面:向右走; */ if(硬币是正面) { 向左走; // 正面硬币 } else { 向右走; // 反面硬币 }
说明:
小括号()里面的关系表达式若为“真”(true),则执行后面 { } 里面的内容。
小括号()里面的关系表达式若为“假”(false),则执行后面 { } 里面的内容。
3.1 判断语句 if … else … #
下面给出可以运行的代码:
#include < iostream > int main() { int a(0); std::cout <<"请输入(1 表示正面,0 表示反面):" << std::endl; std::cin >> a; if(a == 1) { std::cout <<"输入为 1 ,向左走" << std::endl; } else { std::cout <<"输入为 0 ,向右走" << std::endl; } return 0; }
3.2 判断语句 if … #
else 部分,可以省略。
#include < iostream > int main() { int a(0); std::cout <<"请输入(1 表示正面,0 表示反面):" << std::endl; std::cin >> a; if(a == 1) { std::cout <<"输入为 1 ,向左走" << std::endl; } return 0; }
3.3 省略大括号 #
假如,处理语句只有一句,大括号可以省略。比如:
#include < iostream > int main() { int a(0); std::cout <<"请输入(1 表示正面,0 表示反面):" << std::endl; std::cin >> a; if(a == 1) std::cout <<"输入为 1 ,向左走" << std::endl; // 大括号可以省略 else std::cout <<"输入为 0 ,向右走" << std::endl; // 大括号可以省略 return 0; }
假如,含有超过一条处理语句,大括号不可以省略。比如:
#include < iostream > int main() { int a(0); std::cout <<"请输入(1 表示正面,0 表示反面):" << std::endl; std::cin >> a; if(a == 1) { std::cout <<"输入为 " << a << std::endl; // 大括号不可以省略 std::cout <<"请向左走" << std::endl; } else { std::cout <<"输入为 " << a << std::endl; // 大括号不可以省略 std::cout <<"请向右走" << std::endl; } return 0; }
4. 小结 #
5 > 6; // 大于 5 >= 6; // 大于等于 5 < 6; // 小于 5 <= 6; // 小于等于 5 == 6; // 等于 5 != 6; // 不等于
if(表达式) { // 执行语句 }
if(表达式) { // 执行语句 1 } else { // 执行语句 2 }