首页 > 编程语言 >深入了解C++运算符

深入了解C++运算符

时间:2024-06-20 23:30:33浏览次数:14  
标签:cout 示例 int C++ 运算符 深入 main 赋值

C++是功能强大的编程语言,提供了丰富的运算符集合。运算符是用于执行各种操作的符号或关键字,包括数学运算、比较、逻辑操作、位操作等。本文将详细介绍C++中的各种运算符,并通过示例说明其用法。

一、算术运算符

算术运算符用于执行基本的数学运算,包括加、减、乘、除和取余。

运算符描述示例
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%取余a % b

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    
    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;
    
    return 0;
}

二、比较运算符

比较运算符用于比较两个值,并返回布尔值(true或false)。

运算符描述示例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    
    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;
    
    return 0;
}

三、逻辑运算符

逻辑运算符用于执行布尔逻辑运算。

运算符描述示例
&&逻辑与(AND)a && b
``
!逻辑非(NOT)!a

示例:

#include <iostream>
using namespace std;

int main() {
    bool a = true, b = false;
    
    cout << "a && b: " << (a && b) << endl;
    cout << "a || b: " << (a || b) << endl;
    cout << "!a: " << (!a) << endl;
    
    return 0;
}

四、位运算符

位运算符用于按位操作整数类型的值。

运算符描述示例
&按位与(AND)a & b
``按位或(OR)
^按位异或(XOR)a ^ b
~按位取反(NOT)~a
<<左移a << 2
>>右移a >> 2

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 3;  // a = 0101, b = 0011
    
    cout << "a & b: " << (a & b) << endl;  // 输出 1 (0001)
    cout << "a | b: " << (a | b) << endl;  // 输出 7 (0111)
    cout << "a ^ b: " << (a ^ b) << endl;  // 输出 6 (0110)
    cout << "~a: " << (~a) << endl;        // 输出 -6 (按位取反)
    cout << "a << 1: " << (a << 1) << endl; // 输出 10 (1010)
    cout << "a >> 1: " << (a >> 1) << endl; // 输出 2 (0010)
    
    return 0;
}

五、赋值运算符

赋值运算符用于给变量赋值或更新变量的值。

运算符描述示例
=赋值a = b
+=加后赋值a += b
-=减后赋值a -= b
*=乘后赋值a *= b
/=除后赋值a /= b
%=取余后赋值a %= b
&=按位与后赋值a &= b
`=`按位或后赋值
^=按位异或后赋值a ^= b
<<=左移后赋值a <<= 2
>>=右移后赋值a >>= 2

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 5;
    
    a += 3;
    cout << "a += 3: " << a << endl;  // 输出 8
    
    a -= 2;
    cout << "a -= 2: " << a << endl;  // 输出 6
    
    a *= 2;
    cout << "a *= 2: " << a << endl;  // 输出 12
    
    a /= 3;
    cout << "a /= 3: " << a << endl;  // 输出 4
    
    a %= 3;
    cout << "a %= 3: " << a << endl;  // 输出 1
    
    return 0;
}

六、其他运算符

6.1 递增和递减运算符

递增和递减运算符用于增加或减少变量的值。

运算符描述示例
++前置或后置递增++aa++
--前置或后置递减--aa--

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 5;
    
    cout << "++a: " << ++a << endl;  // 输出 6
    cout << "a++: " << a++ << endl;  // 输出 6
    cout << "a: " << a << endl;      // 输出 7
    
    cout << "--a: " << --a << endl;  // 输出 6
    cout << "a--: " << a-- << endl;  // 输出 6
    cout << "a: " << a << endl;      // 输出 5
    
    return 0;
}

6.2 条件运算符(三元运算符)

条件运算符用于根据条件的真假选择值。

运算符描述示例
? :条件表达式a ? b : c

示例:

#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 10;
    
    int max = (a > b) ? a : b;
    
    cout << "max: " << max

 << endl;  // 输出 10
    
    return 0;
}

6.3 逗号运算符

逗号运算符用于在一个表达式中包含多个操作。

运算符描述示例
,逗号运算符a = (b++, b+5)

示例:

#include <iostream>
using namespace std;

int main() {
    int a, b = 3;
    
    a = (b++, b + 5);
    
    cout << "a: " << a << endl;  // 输出 9
    cout << "b: " << b << endl;  // 输出 4
    
    return 0;
}

6.4 类型转换运算符

类型转换运算符用于将一种数据类型转换为另一种数据类型。

运算符描述示例
static_cast普通类型转换static_cast<int>(3.14)
dynamic_cast用于转换多态类型dynamic_cast<Derived*>(base_ptr)
const_cast用于去除const或volatile属性const_cast<char*>(str)
reinterpret_cast用于重新解释位模式reinterpret_cast<int*>(ptr)

示例:

#include <iostream>
using namespace std;

int main() {
    double pi = 3.14;
    int int_pi = static_cast<int>(pi);
    
    cout << "int_pi: " << int_pi << endl;  // 输出 3
    
    return 0;
}

七、总结

运算符是C++编程的基本构建块,通过合理使用各种运算符,可以编写出高效、清晰的代码。本文介绍了算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符以及其他一些常用的运算符,并通过代码示例展示了它们的具体用法。

掌握这些运算符的使用,对于提高编程能力和编写高质量代码至关重要。如果你有任何问题或建议,欢迎在评论区讨论。

标签:cout,示例,int,C++,运算符,深入,main,赋值
From: https://blog.csdn.net/2401_85655834/article/details/139844839

相关文章

  • 计算机科学:深入探讨 Windows x86 仿真层 Prism
    引言在计算技术飞速发展的今天,硬件和软件之间的兼容性问题一直是一个重要的课题。Windowsx86仿真层Prism是微软为解决这一问题而推出的重要技术。本文将详细介绍Windowsx86仿真层Prism的背景、技术实现和应用场景,并探讨其未来发展方向。什么是Windowsx86仿真......
  • 《深入理解计算机系统》
    深入理解计算机系统读书先看书之序言:明确他面向的读者——本书是一个导论课本,是面向程序员的,所以并不是那么深入(因为程序员也不需要了解那么多)所以这对于初学者来说是比较容易的,合适的入门之选第一章:计算机系统漫游相当于是一个粗略的介绍,导言,但是短小精干1.1信息就是位+......
  • C++数据格式化6 - uint转换成二六进制字符串
    1.关键词2.strfmt.h3.strfmt.cpp4.测试代码5.运行结果6.源码地址1.关键词C++数据格式化字符串处理std::stringintbin跨平台2.strfmt.h#pragmaonce#include<string>#include<cstdint>#include<sstream>#include<iomanip>namespacecutl{......
  • C++数据格式化5 - uint转换成十六进制字符串&二进制的data打印成十六进制字符串
    1.关键词2.strfmt.h3.strfmt.cpp4.测试代码5.运行结果6.源码地址1.关键词关键字:C++数据格式化字符串处理std::stringinthex跨平台应用场景:int型的数据打印成十六进制字符串二进制的data打印成十六进制字符串。2.strfmt.h#pragmaonce#include<......
  • 2024华为OD机试真题- 计算三叉搜索树的高度-(C++/Java/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述定义构造三叉搜索树规则如下:每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是:1.如果数小于节点的数减去500,则将数插入节点的左子树2.如果数大于节点的......
  • 深入分析Edge浏览器的插件兼容性:拥抱开放网络生态
    微软Edge浏览器自推出以来,一直在积极扩展其插件生态系统,以提高用户的浏览体验。插件兼容性是Edge浏览器用户体验的关键因素之一,它决定了用户能够无缝使用多少现有的Chrome扩展。本文将深入探讨Edge浏览器的插件兼容性,分析其优势、挑战以及未来的发展方向。1.插件兼容性的......
  • 视觉革命:深入解析OpenAI Sora文生视频技术
    视觉革命:深入解析OpenAISora文生视频技术在数字内容创作和人工智能的交汇点上,OpenAISora文生视频技术正引发一场视觉革命。通过将自然语言处理与生成视频技术相结合,Sora不仅为创作者提供了全新的表达方式,更为各行各业开创了无限可能。一、什么是OpenAISora?OpenAISora......
  • C++程序编译 错误提示和评测状态
    编译常见错误提示1.[Error]expected';'before'cout'。在cout前面,缺少一个分号。2.[Error]'arr'wasnotdeclaredinthisscope。未定义变量名arr。3.[Error]ldreturned1exitstatus。重复运行错误(上一个运行的程序,输入窗口没有关掉)。  或者main写错了。......
  • 「C++」复杂模拟【壹】
    建议开启目录食用阅读本文之前建议您先看这里,如果您已经看完了,那么就可以放心大胆的学习本文了。我认为其实本文的难度还是比较大的,今天我们题是来自山东省省选,所以建议大家谨慎阅读,如果您是专业程序员当我没说。OK,那么事不宜迟,咱们来看第一题[SDOI2010]猪国杀题目描述游戏......
  • 《C++ Primer》导学系列:第 6 章 - 函数
    6.1函数基础6.1.1基本概念函数是C++程序的基本组成单元,用于将代码组织成可以复用的模块。函数通过函数名进行调用,并且可以接受参数和返回值。函数的定义包括函数头和函数体,其中函数头描述了函数的接口,函数体包含了具体的实现代码。函数的定义函数的定义通常包括返回类型......