【C++入门学习日志】lesson5:C++ 运算符,数据处理的实用工具集

说明:本人也是C++入门的小白,也是从头开始学的。文章用来记录自己的学习历程和自己总结的结论,如果有错,请在评论去指点一下。

在 C++ 编程的领域中,运算符是我们对数据进行处理和操作的实用工具。不同类型的运算符就像一套功能各异的工具,帮助我们实现各种数据处理和逻辑判断的需求。下面我们结合代码片段,来详细了解这些运算符。

一、算术运算符:基础数学运算的利器

算术运算符用于执行基本的数学运算,在 C++ 中,常见的算术运算符有 +(加法)、-(减法)、*(乘法)、/(除法)和 %(取余)。

#include <iostream> 
using namespace std;

int main() {
    // 定义两个浮点数
    float a = 6;
    float b = 4;
    // 进行加法运算
    cout << "a + b 的值为:" << a + b << endl;
    // 进行乘法运算
    cout << "a * b 的值为:" << a * b << endl;
    // 进行除法运算
    cout << "a / b 的值为:" << a / b << endl; 
    // 进行减法运算
    cout << "a - b 的值为:" << a - b << endl;
    return 0; 
}    

运行上述代码,你会看到程序依次输出 ab 相加、相乘、相除、相减的结果。

需要特别注意的是,% 取余运算符只能用于整数类型。比如:

int c = 6;
int d = 4;
cout << "c % d 的值为:" << c % d << endl;

这段代码会输出 2,因为 6 除以 4 的余数是 2

二、递增运算符:轻松实现数值增长

递增运算符分为前置递增(++num)和后置递增(num++),它们都能让变量的值增加 1,但使用起来有一些区别。

int num1 = 10;
++num1; // 前置递增,先加 1,再进行后续运算
int num2 = 10;
num2++; // 后置递增,先使用当前值,再进行加 1

int num3 = ++num1 * 10;
int num4 = num2++ * 10;
cout << "num1 经过递增操作后的值为:" << num1 << endl;
cout << "num2 经过递增操作后的值为:" << num2 << endl;
cout << "num3 经过前置递增操作后的值为:" << num3 << endl;
cout << "num4 经过后置递增操作后的值为:" << num4 << endl;

在这段代码中,num1 经过前置递增后,先变成 11 ,再执行后续运算;num2 则是先使用 10 参与乘法运算,运算结束后自身才变为 11 。所以最终 num3 的值是 120num4 的值是 110

三、赋值运算符:数据传递的桥梁 

赋值运算符用于给变量赋值,除了最基本的 = ,还有复合赋值运算符,如 +=-=*=/=%= 等,它们能让代码更加简洁。

float a = 6;
cout << "a 执行 a += 2 操作后的值为:" << (a += 2) << endl;
cout << "a 执行 a -= 2 操作后的值为:" << (a -= 2) << endl;
cout << "a 执行 a *= 2 操作后的值为:" << (a *= 2) << endl;
cout << "a 执行 a /= 2 操作后的值为:" << (a /= 2) << endl;
int c = 6;
cout << "c 执行 c %= 2 操作后的值为:" << (c %= 2) << endl;

a += 2 等价于 a = a + 2 ,其他复合赋值运算符也是类似的原理。不过要记住,%= 等取余相关的复合赋值运算符只能用于整型变量。

四、比较运算符:判断的基础 

比较运算符用于比较两个值的大小关系,结果会返回一个布尔值(truefalse ),在 C++ 中,比较运算符有 ==(等于)、!=(不等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于) 。

float a = 6;
float b = 4;
cout << "a是否等于b呢?:" << (a == b) << endl;   
cout << "a是否不等于b呢?:" << (a != b) << endl;   
cout << "a是否小于b呢?:" << (a < b) << endl;    
cout << "a是否大于b呢?:" << (a > b) << endl;    
cout << "a是否大于等于b呢?:"<< (a >= b) << endl;   
cout << "a是否小于等于b呢?:"<< (a <= b) << endl;   

因为 a 的值是 6b 的值是 4 ,所以 a == b 的结果是 false (在 C++ 中用 0 表示),a != b 的结果是 true (在 C++ 中用 1 表示) ,其他比较结果也可以根据实际数值关系得出。

五、逻辑运算符:复杂判断的利器

逻辑运算符用于组合多个条件,常见的逻辑运算符有 &&(与)、||(或)、!(非) ,它们的运算结果同样是布尔值。

bool bo1 = true;
bool bo2 = false;
bool bo3 = true;
bool bo4 = false;

// 逻辑非运算符 !
cout << "!bo1 的结果是: " << (!bo1) << endl;
cout << "!!bo1 的结果是: " << (!!bo1) << endl;
// 逻辑与运算符 &&
cout << "bo1 && bo2 的结果是: " << (bo1 && bo2) << endl;
cout << "bo1 && bo3 的结果是: " << (bo1 && bo3) << endl;
cout << "bo2 && bo4 的结果是: " << (bo2 && bo4) << endl;
// 逻辑或运算符 ||
cout << "bo1 || bo2 的结果是: " << (bo1 || bo2) << endl;
cout << "bo1 || bo3 的结果是: " << (bo1 || bo3) << endl;
cout << "bo2 || bo4 的结果是: " << (bo2 || bo4) << endl;

! 是非运算符,它会将布尔值取反,比如 !true 结果是 false&& 是与运算符,只有两边的条件都为 true 时,结果才是 true|| 是或运算符,只要两边有一个条件为 true ,结果就是 true

通过学习这些 C++ 运算符,我们已经掌握了编程中处理数据和进行判断的基础技能。在后续的编程学习和实践中,熟练运用这些运算符,能够帮助我们编写出更高效、更强大的程序。

完整代码:

#include <iostream> 
using namespace std;

int main(){
    // 算术运算符
    float a = 6;
    float b = 4;
    cout << "a + b 的值为:" << a + b << endl;
    cout << "a * b 的值为:" << a * b << endl;
    cout << "a / b 的值为:" << a / b << endl; 
    cout << "a - b 的值为:" << a - b << endl;

    /*
    
    a + b 的值为:10
    a * b 的值为:24
    a / b 的值为:1.5
    a - b 的值为:2
    c % d 的值为:2
    
    */

    // 取余运算,只能用于整数类型
    int c = 6;
    int d = 4;
    cout << "c % d 的值为:" << c % d << endl;

    // 递增运算符
    int num1 = 10;
    ++num1; // 前置递增,先加 1,再进行后续运算
    int num2 = 10;
    num2++; // 后置递增,先使用当前值,再进行加 1

    int num3 = ++num1 * 10;
    int num4 = num2++ * 10;
    cout << "num1 经过递增操作后的值为:" << num1 << endl;
    cout << "num2 经过递增操作后的值为:" << num2 << endl;
    cout << "num3 经过前置递增操作后的值为:" << num3 << endl;
    cout << "num4 经过后置递增操作后的值为:" << num4 << endl;

    /*
    
    num1 经过递增操作后的值为:12
    num2 经过递增操作后的值为:12
    num3 经过前置递增操作后的值为:120
    num4 经过后置递增操作后的值为:110
    
    */

    // 赋值运算符
    cout << "a 执行 a += 2 操作后的值为:" << (a += 2) << endl;
    cout << "a 执行 a -= 2 操作后的值为:" << (a -= 2) << endl;
    cout << "a 执行 a *= 2 操作后的值为:" << (a *= 2) << endl;
    cout << "a 执行 a /= 2 操作后的值为:" << (a /= 2) << endl;
    cout << "c 执行 c %= 2 操作后的值为:" << (c %= 2) << endl;  //只能对于整型处理运算

    /*
    
    a 执行 a += 2 操作后的值为:8
    a 执行 a -= 2 操作后的值为:6
    a 执行 a *= 2 操作后的值为:12
    a 执行 a /= 2 操作后的值为:6
    c 执行 c %= 2 操作后的值为:0
    
    */
    // 比较运算符 == != < > <= >=

    cout << "a是否等于b呢?:" << (a == b) << endl;   //0
    cout << "a是否不等于b呢?:" << (a != b) << endl;   //1
    cout << "a是否小与b呢?:" << (a < b) << endl;    //0
    cout << "a是否大与b呢?:" << (a > b) << endl;    //1
    cout << "a是否大与等于b呢?:"<< (a >= b) << endl;   //1
    cout << "a是否小与与等于b呢?:"<< (a <= b) << endl;   //0

    /*

    a是否等于b呢?:0
    a是否不等于b呢?:1
    a是否小与b呢?:0
    a是否大与b呢?:1
    a是否大与等于b呢?:1
    a是否小与与等于b呢?:0
    
    */

    //逻辑运算符 &&与 ||或 !非

    //非:如果a为假,则!a为真;如果a为真,则!a为假。返回的是bool值

    // 定义两个布尔变量,用于演示逻辑运算符
    bool bo1 = true;
    bool bo2 = false;
    bool bo3 = true;
    bool bo4 = false;

    // 逻辑非运算符 !
    // 如果 a 为真,则 !a 为假;如果 a 为假,则 !a 为真
    cout << "!bo1 的结果是: " << (!bo1) << endl;
    cout << "!!bo1 的结果是: " << (!!bo1) << endl;

    cout << "!bo2 的结果是: " << (!bo2) << endl;
    cout << "!!bo2 的结果是: " << (!!bo2) << endl;
    // 逻辑与运算符 &&
    // 只有当 a 和 b 都为真时,a && b 的结果才为真,否则为假
    cout << "bo1 && bo2 的结果是: " << (bo1 && bo2) << endl;
    cout << "bo1 && bo3 的结果是: " << (bo1 && bo3) << endl;
    cout << "bo2 && bo4 的结果是: " << (bo2 && bo4) << endl;
    // 逻辑或运算符 ||
    // 只要 a 或者 b 中有一个为真,a || b 的结果就为真,只有当 a 和 b 都为假时,结果才为假
    cout << "bo1 || bo2 的结果是: " << (bo1 || bo2) << endl;
    cout << "bo1 || bo3 的结果是: " << (bo1 || bo3) << endl;
    cout << "bo2 || bo4 的结果是: " << (bo2 || bo4) << endl;
    /*
    
    !bo1 的结果是: 0
    !!bo1 的结果是: 1
    !bo2 的结果是: 1
    !!bo2 的结果是: 0
    bo1 && bo2 的结果是: 0
    bo1 && bo3 的结果是: 1
    bo2 && bo4 的结果是: 0
    bo1 || bo2 的结果是: 1
    bo1 || bo3 的结果是: 1
    bo2 || bo4 的结果是: 0
    
    */
    return 0; 
}    

 运行结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gyro_Zeppeliiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值