从0开始学C++ 第五课:C++ 运算符和表达式

发布时间:2024年01月22日

第五课:C++ 运算符和表达式

学习目标
  1. 理解算术运算符的作用。
  2. 学习赋值运算符和复合赋值运算符。
  3. 掌握比较运算符和逻辑运算符的使用。
  4. 学习如何构建简单的表达式。
学习内容与代码示例

1. 算术运算符:

算术运算符用于在数学表达式中执行常见的数学运算。

代码示例与注释:

#include <iostream>

int main() {
    int a = 9;
    int b = 2;

    // 算术运算
    std::cout << "a + b = " << (a + b) << std::endl;  // 加法
    std::cout << "a - b = " << (a - b) << std::endl;  // 减法
    std::cout << "a * b = " << (a * b) << std::endl;  // 乘法
    std::cout << "a / b = " << (a / b) << std::endl;  // 整数除法
    std::cout << "a % b = " << (a % b) << std::endl;  // 求余(模运算)

    return 0;
}

预期输出:

a + b = 11
a - b = 7
a * b = 18
a / b = 4
a % b = 1
解释
  • a + b 计算两个数的和。
  • a - b 计算两个数的差。
  • a * b 计算两个数的乘积。
  • a / b 在这里执行的是整数除法,因为a和b都是整数,结果也是整数。
  • a % b 计算a除以b的余数,只适用于整数。

2. 赋值运算符和复合赋值运算符:

赋值运算符用于在变量中存储值,复合赋值运算符是结合了赋值和其他操作的简写形式。

代码示例与注释:

#include <iostream>

int main() {
    int c = 10; // 使用赋值运算符将10赋给c
    c += 5; // 等同于 c = c + 5
    std::cout << "c 的值现在是:" << c << std::endl;

    return 0;
}

预期输出:

c 的值现在是:15
解释
  • c += 5 是复合赋值运算符的一个例子,它将c的当前值与5相加,并将结果存回c中。

3. 比较运算符和逻辑运算符:

比较运算符用于比较两个值,逻辑运算符用于组合多个条件。

代码示例与注释:

#include <iostream>

int main() {
    int x = 5, y = 10;
    bool result;

    // 比较运算符
    result = (x == y); // 检查x是否等于y
    std::cout << "x 等于 y: " << result << std::endl;

    // 逻辑运算符
    result = (x < y) && (x > 0); // 检查x是否小于y且大于0
    std::cout << "x 小于 y 且 x 大于 0: " << result << std::endl;

    return 0;
}

预期输出:

x 等于 y: 0
x 小于 y 且 x 大于 0: 1
解释
  • x == y 比较x和y是否相等,结果为false(在C++中用0表示)。
  • (x < y) && (x > 0) 使用逻辑与&&运算符来确定x是否小于y且大于0,结果为true(在C++中用1表示)。

通过这节课,学生应该能够理解和使用C++中的基本运算符来构建简单的表达式。这是学习编程中非常重要的基础知识,因为运算符和表达式在后续的程序逻辑构建中扮演着核心角色。

全部运算符与表达式示例

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 3;
    int result;

    // 算术运算符
    result = a + b; // 加法
    result = a - b; // 减法
    result = a * b; // 乘法
    result = a / b; // 除法
    result = a % b; // 取模

    // 赋值运算符
    result = b;   // 简单赋值
    result += a;  // 加后赋值
    result -= a;  // 减后赋值
    result *= a;  // 乘后赋值
    result /= a;  // 除后赋值
    result %= a;  // 取模后赋值

    // 比较运算符
    bool isEqual = (a == b); // 相等比较
    bool isNotEqual = (a != b); // 不等比较
    bool isGreaterThan = (a > b); // 大于比较
    bool isLessThan = (a < b); // 小于比较
    bool isGreaterOrEqual = (a >= b); // 大于或等于比较
    bool isLessOrEqual = (a <= b); // 小于或等于比较

    // 逻辑运算符
    bool andResult = (a > b) && (b > 0); // 逻辑与
    bool orResult = (a > b) || (b < 0); // 逻辑或
    bool notResult = !(a == b); // 逻辑非

    // 位运算符
    result = a & b; // 位与
    result = a | b; // 位或
    result = a ^ b; // 位异或
    result = ~a; // 位取反
    result = a << 1; // 左移
    result = a >> 1; // 右移

    // 条件(三元)运算符
    result = (a > b) ? a : b; // 如果a大于b,则result为a,否则为b

    cout << "Result: " << result << endl;

    return 0;
}

文章来源:https://blog.csdn.net/weixin_44738632/article/details/135726103
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。