原文: https://beginnersbook.com/2017/08/cpp-if-else-statement/

有时我们只有在满足或不满足特定条件时才需要执行一个语句块。这被称为决策,因为我们在程序逻辑中做出决定后执行某个代码。对于 C++ 中的决策,我们有四种类型的控制语句(或控制结构),如下所示:

a)if语句

b)嵌套if语句

c)if-else语句

d)if-else-if语句

C++ 中的if语句

if语句包含条件,后跟语句或一组语句,如下所示:

  1. if(condition){
  2. Statement(s);
  3. }

if括号(通常称为正文)中的语句仅在给定条件为真时才执行。如果条件为假,则完全忽略正文中的语句。**

if语句的流程图

C   中的`if`语句 - 图1

if语句的示例

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int num=70;
  5. if( num < 100 ){
  6. /* This cout statement will only execute,
  7. * if the above condition is true
  8. */
  9. cout<<"number is less than 100";
  10. }
  11. if(num > 100){
  12. /* This cout statement will only execute,
  13. * if the above condition is true
  14. */
  15. cout<<"number is greater than 100";
  16. }
  17. return 0;
  18. }

输出:

  1. number is less than 100

C++ 中的嵌套if语句

当在另一个if语句中有if语句时,它被称为嵌套if语句。嵌套的结构如下所示:

  1. if(condition_1) {
  2. Statement1(s);
  3. if(condition_2) {
  4. Statement2(s);
  5. }
  6. }

如果condition_1true,则执行Statement1。只有条件(condition_1condition_2)都为真时,Statement2才会执行。

嵌套if语句的示例

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int num=90;
  5. /* Nested if statement. An if statement
  6. * inside another if body
  7. */
  8. if( num < 100 ){
  9. cout<<"number is less than 100"<<endl;
  10. if(num > 50){
  11. cout<<"number is greater than 50";
  12. }
  13. }
  14. return 0;
  15. }

输出:

  1. number is less than 100
  2. number is greater than 50

在 C++ 中使用if-else语句

有时你有一个条件,如果条件为真,你想要执行一段代码,如果相同的条件为假,则执行另一段代码。这可以使用if-else语句在 C++ 中实现。

这是if-else语句的外观:

  1. if(condition) {
  2. Statement(s);
  3. }
  4. else {
  5. Statement(s);
  6. }

如果条件为真,则if内的语句将执行,如果条件为假,则else内的语句将执行。

if-else

C   中的`if`语句 - 图2的流程图

if-else语句的示例

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int num=66;
  5. if( num < 50 ){
  6. //This would run if above condition is true
  7. cout<<"num is less than 50";
  8. }
  9. else {
  10. //This would run if above condition is false
  11. cout<<"num is greater than or equal 50";
  12. }
  13. return 0;
  14. }

输出:

  1. num is greater than or equal 50

C++ 中的if-else-if语句

当我们需要检查多个条件时使用if-else-if语句。在这个控制结构中,我们只有一个if和一个else,但是我们可以有多个else if块。这是它的样子:

  1. if(condition_1) {
  2. /*if condition_1 is true execute this*/
  3. statement(s);
  4. }
  5. else if(condition_2) {
  6. /* execute this if condition_1 is not met and
  7. * condition_2 is met
  8. */
  9. statement(s);
  10. }
  11. else if(condition_3) {
  12. /* execute this if condition_1 & condition_2 are
  13. * not met and condition_3 is met
  14. */
  15. statement(s);
  16. }
  17. .
  18. .
  19. .
  20. else {
  21. /* if none of the condition is true
  22. * then these statements gets executed
  23. */
  24. statement(s);
  25. }

注意:这里要注意的最重要的一点是,在if-else-if中,只要满足条件,就会执行相应的语句集,忽略其余。如果没有满足条件,则执行else内的语句。

if-else-if的示例

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int num;
  5. cout<<"Enter an integer number between 1 & 99999: ";
  6. cin>>num;
  7. if(num <100 && num>=1) {
  8. cout<<"Its a two digit number";
  9. }
  10. else if(num <1000 && num>=100) {
  11. cout<<"Its a three digit number";
  12. }
  13. else if(num <10000 && num>=1000) {
  14. cout<<"Its a four digit number";
  15. }
  16. else if(num <100000 && num>=10000) {
  17. cout<<"Its a five digit number";
  18. }
  19. else {
  20. cout<<"number is not between 1 & 99999";
  21. }
  22. return 0;
  23. }

输出:

  1. Enter an integer number between 1 & 99999: 8976
  2. Its a four digit number