C++中的运算符和表达式

让我来给大家详细讲解一下C++中的运算符和表达式。

运算符

在编程中,我们需要使用各种运算符对数据进行各种操作,C++提供了以下几种运算符:

算术运算符

算术运算符用于基本的算术操作,如加减乘除和取模。具体如下:

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模(求余数)

示例代码如下:

#include <iostream>

int main() {
    int x = 10, y = 3;
    std::cout << "x + y = " << x + y << std::endl;
    std::cout << "x - y = " << x - y << std::endl;
    std::cout << "x * y = " << x * y << std::endl;
    std::cout << "x / y = " << x / y << std::endl;
    std::cout << "x % y = " << x % y << std::endl;
    return 0;
}

输出结果如下:

x + y = 13
x - y = 7
x * y = 30
x / y = 3
x % y = 1

关系运算符

关系运算符主要用于比较两个值的大小或者是否相等。具体如下:

运算符 描述
== 等于(如果比较两个操作数相等,返回 true)
!= 不等于(如果比较两个操作数不相等,返回 true)
> 大于(如果左操作数大于右操作数,返回 true)
< 小于(如果左操作数小于右操作数,返回 true)
>= 大于等于(如果左操作数大于或等于右操作数,返回 true)
<= 小于等于(如果左操作数小于或等于右操作数,返回 true)

示例代码如下:

#include <iostream>

int main() {
    int x = 10, y = 3;
    bool result = x == y;
    std::cout << "x == y : " << result << std::endl;
    result = x != y;
    std::cout << "x != y : " << result << std::endl;
    result = x > y;
    std::cout << "x > y : " << result << std::endl;
    result = x < y;
    std::cout << "x < y : " << result << std::endl;
    result = x >= y;
    std::cout << "x >= y : " << result << std::endl;
    result = x <= y;
    std::cout << "x <= y : " << result << std::endl;
    return 0;
}

输出结果如下:

x == y : 0
x != y : 1
x > y : 1
x < y : 0
x >= y : 1
x <= y : 0

逻辑运算符

逻辑运算符主要用于连接两个或多个条件,得到一个 true 或 false 的结果。具体如下:

运算符 描述
&& 逻辑与(如果两个操作数都非零,则条件为真)
|| 逻辑或(如果两个操作数中有任意一个非零,则条件为真)
! 逻辑非(取反)

示例代码如下:

#include <iostream>

int main() {
    int x = 10, y = 3;
    bool result = x > y && x < 20;
    std::cout << "x > y && x < 20 : " << result << std::endl;
    result = x > y || x < 5;
    std::cout << "x > y || x < 5 : " << result << std::endl;
    result = !(x > y);
    std::cout << "!(x > y) : " << result << std::endl;
    return 0;
}

输出结果如下:

x > y && x < 20 : 1
x > y || x < 5 : 1
!(x > y) : 0

赋值运算符

赋值运算符主要用于给变量赋值,具体如下:

运算符 描述
= 简单的赋值运算符
+= 加且赋值
-= 减且赋值
*= 乘且赋值
/= 除且赋值
%= 取模且赋值
<<= 左移且赋值
>>= 右移且赋值
&= 按位与且赋值
^= 按位异或且赋值
|= 按位或且赋值

示例代码如下:

#include <iostream>

int main() {
    int x = 10, y = 3;
    x += y;
    std::cout << "x += y : " << x << std::endl;
    x -= y;
    std::cout << "x -= y : " << x << std::endl;
    x *= y;
    std::cout << "x *= y : " << x << std::endl;
    x /= y;
    std::cout << "x /= y : " << x << std::endl;
    x %= y;
    std::cout << "x %= y : " << x << std::endl;
    return 0;
}

输出结果如下:

x += y : 13
x -= y : 10
x *= y : 30
x /= y : 10
x %= y : 1

其他运算符

在C++中还有很多其他的运算符,如:

  • 位运算符
  • 条件运算符
  • 逗号运算符等

可以参考相关资料进行学习。

表达式

表达式是由运算符和操作数组成的组合,用于计算一个值。表达式可以是一个变量、常量、函数调用、运算符和操作数组合成的形式。对于一个简单的表达式,可以包含以下四种运算符:

  • 一元运算符:只对一个操作数进行操作的运算符,如取反运算符。
  • 二元运算符:对两个操作数进行操作的运算符,如加法运算符。
  • 三元运算符:对三个操作数进行操作的运算符,如条件运算符。
  • 括号运算符:用于改变运算符执行优先级的运算符,如圆括号。

示例代码如下:

#include <iostream>

int main() {
    int x = 10, y = 3;
    double z = 3.14;
    std::cout << "x / y + z = " << x / y + z << std::endl;
    std::cout << "(x + y) * z = " << (x + y) * z << std::endl;
    std::cout << "z / y = " << z / y << std::endl;
    return 0;
}

输出结果如下:

x / y + z = 6.14
(x + y) * z = 31.419999999999998
z / y = 1.04667

以上就是C++中运算符和表达式的详细讲解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中的运算符和表达式 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • C++ sleep()和usleep()的区别

    C++ sleep()和usleep()的区别 在C++的编程中,为了控制程序的执行节奏,经常需要使用时间控制函数。其中较常用的是sleep()和usleep(),它们的使用场景和功能有所不同,下面详细讲解它们的区别。 sleep() sleep()是C++标准库中的函数之一,位于头文件 “unistd.h” 中。它用于令程序进入休眠状态,以某种指定的时间为…

    C 2023年5月22日
    00
  • C语言编程入门之程序头文件的简要解析

    C语言编程入门之程序头文件的简要解析 什么是头文件 头文件(Header Files)通常是一些包含函数定义、变量声明等的文本文件,其内容可以被多个源文件引用(#include)以便让其内部定义的函数和变量可以在引用这个头文件的源文件中被使用。 头文件的分类 头文件可以分为两类: 1. 系统头文件 系统头文件是由编译器提供的,主要包含一些常用的函数库、数据类…

    C 2023年5月23日
    00
  • Lua中的运算符简明总结

    Lua中的运算符可以用来进行各种数学运算以及逻辑判断。下面是一个简明总结: 算术运算符 符号 描述 示例 + 加法 a + b – 减法 a – b * 乘法 a * b / 除法 a / b % 取模(求余数) a % b ^ 乘方 a ^ b 示例1:使用算术运算符计算两个数的和、差、积、商、余数和乘方 a = 10 b = 5 print("…

    C 2023年5月22日
    00
  • Python特殊属性property原理及使用方法解析

    好的。首先,我们来讲解一下Python中用于面向对象编程的特殊属性property的原理及使用方法。 Python特殊属性property原理及使用方法解析 什么是property? 在Python中,一个对象的属性(包括实例属性和类属性)可以通过一组方法来操作。例如,对于一个Person类,可以通过p.name来获取或设置其姓名属性。但是,有些属性是需要一…

    C 2023年5月22日
    00
  • C语言学生成绩管理系统小设计

    C语言学生成绩管理系统小设计攻略 1. 系统需求分析 为了设计一个学生成绩管理系统,我们需要先明确系统的需求,包括以下几个方面: 系统能够输入学生信息,包括学生的姓名和学号; 系统能够输入学生课程成绩; 系统能够计算学生课程成绩的平均分并展示; 系统能够按照平均分对学生进行排序并输出; 系统能够按照学号或者姓名进行查询相应学生成绩; 系统能够修改学生成绩信息…

    C 2023年5月23日
    00
  • 从历史讲起JavaScript基因里的函数式编程实例

    下面就是从历史讲起JavaScript基因里的函数式编程实例的完整攻略。 什么是JavaScript基因里的函数式编程 在了解JavaScript基因里的函数式编程之前,我们需要先了解什么是函数式编程。 函数式编程(Functional Programming)是一种编程范式,它将计算机运算当成数学中的函数运算,并且避免了改变状态和可变数据。函数式编程的特点…

    C 2023年5月22日
    00
  • loadavg数据异常引发问题起源分析

    当我们使用Linux系统时,经常会使用命令top查看系统状态。其中有一项很重要的指标就是load average(平均负载)。load average是指单位时间内系统运行队列中的平均进程数,是衡量系统负荷程度的最基本指标之一。 但是在实际应用中,常常会遇到load average数据异常的问题。这会导致系统运行缓慢,处理能力减弱,甚至会导致系统崩溃。那么如…

    C 2023年5月22日
    00
  • C语言的优缺点是什么?

    C语言是一种高效性和可移植性强的程序设计语言,被广泛应用在操作系统、数据库、编译器等系统级软件的开发中。同时,C语言也是学习其他高级编程语言的必经之路。下面分别从优点和缺点两个方面详细讲解C语言。 C语言的优点 高效性:C语言是一种基于编译器的语言,编译器可以将C语言编写的代码编译成机器语言,因此C语言的执行效率非常高,在大规模和复杂计算场景下表现优异。 可…

    C 2023年4月27日
    00
合作推广
合作推广
分享本页
返回顶部