C/C++ if-else

前言

C/C++分三种结构:顺序结构,选择结构和循环结构。前两篇介绍了顺序结构的部分内容,现在用顺序结构编写代码:

#include <iostream>
using namespace std;
int main(){
    int a;
    cin >> a;
    a += 1;
    cout << a << endl;
    a -= 1;
    cout << a << endl;
    a *= 2;
    cout << a << endl;
    a /= 2;
    cout << a << endl;
    a %= 2;
    cout << a << endl;
    return 0;
}

代码一行行堆砌,程序一行行运行,从上到下,从左到右。这就是顺序结构。

当然,只有顺序结构是不行的。

为什么要用选择结构 

就像人要说如果,程序也要做决定。

如果没有选择结构,意味着没有明确的条件判断和分支执行的逻辑,程序可能会变得混乱且难以理解。没有选择结构,代码将无法根据不同情况下的条件来执行不同的操作,只能按照顺序直接执行每条语句,无法处理复杂的逻辑关系和多个选择路径。

这可能导致以下问题:

  1. 缺乏灵活性:没有选择结构意味着无法根据不同情况下的条件执行不同的代码块,导致程序无法应对不同的情况和需求。
  2. 代码冗余:没有选择结构可能会导致代码冗余,因为无法根据条件执行相应的代码块,可能需要在不同的地方重复编写相似的代码。
  3. 难以维护:没有选择结构的代码通常很难理解和维护,因为缺乏清晰的逻辑控制,使得代码难以追踪和调试,增加了错误和bug的风险。
  4. 低效率:没有选择结构可能会导致程序执行效率低下,因为无法根据条件选择合适的路径,可能需要执行不必要的操作或者重复的代码块。

因此,选择结构是编程中重要的一部分,能够帮助程序员更好地控制程序的流程和逻辑,提高代码的可读性、可维护性和效率。

如何使用选择结构

选择结构在大多数语言中都是用if-else分支来运用。

if

#include <iostream>
using namespace std;
int main(){
    int a;
    cin >> a;
    if(a >= 5){
        //如果a大于等于5则执行
        cout << "a >= 5";
    }
    return 0;
}

接下来详解程序:

if(a >= 5):if是关键词,括号内是逻辑表达式(返回是(true)或非(false),是则执行,否则跳过)

输入5,输出a >= 5;输入4,无输出。

都讲到这里了,顺带提一嘴逻辑表达式:

C/C++中的逻辑表达式是用来判断条件是否为真或假的表达式。逻辑表达式的结果是一个布尔值,即true或false。

在C/C++中,常见的逻辑表达式包括以下运算符:

逻辑与(&&):当两个条件都为真时,返回true,否则返回false。

if (condition1 && condition2) {
    // do something
}

逻辑或(||):当两个条件中至少有一个为真时,返回true,否则返回false。

if (condition1 || condition2) {
    // do something
}

逻辑非(!):将一个条件取反,如果条件为真,返回false,否则返回true。

if (!condition) {
    // do something
}

逻辑异或(^):当两个条件不同时,返回true,否则返回false。

if (condition1 ^ condition2) {
    // do something
}

 其余可自己查阅。

逻辑表达式可以用于条件语句(如if语句、while循环等)中,根据条件的真假来执行不同的代码块。

else

#include <iostream>
using namespace std;
int main(){
    int a;
    cin >> a;
    if(a >= 5){
        cout << "a >= 5";
    }else{
        cout << "a < 5";
    }
    return 0;
}

乍一看,只多了一个else{},实际上差别很大:

输入5,输出a >= 5;输入4,输出a < 5。

else表否则,与if连用(没有if的else是会报错的),意思是指如果不满足if条件,就执行else里面的内容,反之跳过else。

else if

#include <iostream>
using namespace std;
int main(){
    int a;
    cin >> a;
    if(a >= 10){
        cout << "a >= 10";
    }else if(a >= 5){
        cout << "a >= 5";
    }else{
        cout << "a < 5";
    }
    return 0;
}

输入10,输出a >= 10;输入5,输出a >= 5;输入4,输出a < 5。

大家可以看出来,else if就是否则如果,另一个分支。但是这里提一个醒:

  1. 如果满足if了就会跳过整个else if和else。
  2. 不满足就执行下面的else if。
  3. else if不满足就再往下执行其他的。

因此可得:

else if实际上就是else{if(){}}。

用这些,我们可以编写出更多彩的程序。但是过多的分支会让程序逻辑紊乱,难以维护。

最后,是每日愉悦时间。

这是自动感应陷阱!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值