[C++基础学习]----02-C++运算符详解

前言

       C++中的运算符用于执行各种数学或逻辑运算。下面是一些常见的C++运算符及其详细说明:下面详细解释一些常见的C++运算符类型,包括其原理和使用方法。

正文

01-运算符简介

        算术运算符

        a、加法运算符(+):对两个数值进行相加。

        b、减法运算符(-):从左操作数中减去右操作数。

        c、乘法运算符(*):将两个数相乘。

        d、除法运算符(/):将左操作数除以右操作数,得到商。

        e、取模运算符(%):返回两个数相除的余数。

        关系运算符

        a、等于运算符(==):判断两个操作数是否相等。

        b、不等于运算符(!=):判断两个操作数是否不相等。

        c、大于运算符(>)、小于运算符(<):用于比较操作数的大小关系。

        d、大于等于运算符(>=)、小于等于运算符(<=):用于比较操作数的大小关系。

        逻辑运算符:

        a、与运算符(&&):在两个条件都为真时返回真。

        b、或运算符(||):在两个条件中至少有一个为真时返回真。

        c、非运算符(!):对操作数进行逻辑取反。

        赋值运算符:

        a、赋值运算符(=):将右操作数的值赋给左操作数。

        b、复合赋值运算符(+=、-=、*=、/=、%=):将左操作数和右操作数进行相应运算后再赋值给左操作数。

        位运算符:

        a、与运算符(&):对二进制数进行位与运算。

        b、或运算符(|):对二进制数进行位或运算。

        c、异或运算符(^):对二进制数进行位异或运算。

        d、左移运算符(<<):将二进制数左移指定位数。

        e、右移运算符(>>):将二进制数右移指定位数。

02-算术运算符-加减乘除运算

        加减乘除运算具体具体使用代码案例如下:

#include<iostream>
using namespace std;

int main() {

	// 加减乘除
	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 / b1 << endl; // 两个整数相除,结果依然为整数,将小数部分直接删除

	// 取模运算  本质,就是取余数  ,取模时也相当于做除法,因此除数也不能为0,小数不能做取模运算
	cout << a1 % b1 << endl;

	int a2 = 10;
	int b2 = 20;
	cout << a2 % b2 << endl; // 当除数比被除数大时,余数为被除数本身

	system("pause");
	return 0;
}
03-算术运算符-前置后置递增运算

        前置后置递增运算具体使用代码案例如下:

#include<iostream>
using namespace std;

int main() {

	// 1、 前置递增
	int a = 10;
	++a;  // 让变量加1
	cout << "a ="<<a << endl;

	// 2、 后置递增
	int b = 10;
	b++;  // 让变量加1
	cout << "b =" << b << endl;

	// 3、前置和后置的区别,都是让变量加1,那么区别在哪

	// 前置递增。先让变量加1,然后再进行表达式运算
	int a2 = 10;
	int b2 = ++a2 * 10;
	cout <<"a2 = " <<a2<< endl;
	cout << "b2 = " << b2 << endl;

	// 后置递增。先进行表达式运算,然后再让变量加1
	int a3 = 10;
	int b3 = a3++ * 10;
	cout << "a3 = " << a3 << endl;
	cout << "b3 = " << b3 << endl;


	system("pause");
	return 0;
}
04-赋值运算符

        赋值运算符具体使用代码案例如下:

#include<iostream>
using namespace std;

int main() {

	// 赋值运算符
	// =
	int a = 10;
	a = 100;
	cout << "a =" << a << endl;

	// +=
	a = 10;
	a += 2;  // a = a+2
	cout << "a =" << a << endl;

	// -=
	a = 10;
	a -= 2;  // a = a-2
	cout << "a =" << a << endl;
	
	// *=
	a = 10;
	a *= 2;  // a = a*2
	cout << "a =" << a << endl;

	// /=
	a = 10;
	a /= 2;  // a = a/2
	cout << "a =" << a << endl;

	// %=
	a = 10;
	a %= 2;  // a = a%2
	cout << "a =" << a << endl;

	system("pause");
	return 0;
}

05-比较运算符

        比较算符具体使用代码案例如下:

#include<iostream>
using namespace std;

int main() {

	// 比较运算符

	// ==
	int a = 10;
	int b = 20;
	cout << (a==b) << endl;  // 带括号是做了一个优先级处理,先进行比较,再进行换行

	// !=
	cout << (a != b) << endl;

	// >
	cout << (a > b) << endl;

	// <
	cout << (a < b) << endl;

	// >=
	cout << (a >= b) << endl;

	// <=
	cout << (a <= b) << endl;

	system("pause");
	return 0;
}
06-逻辑运算符

        逻辑算符具体使用代码案例和运行结果如下:

#include<iostream>
using namespace std;

int main() {

	// 逻辑运算符  非  !
	int a = 10;	
	cout << !a << endl;   // 0	 
	cout << !!a << endl;  // 1

	// 逻辑运算符  与  &&  两个都为真才为真,有一个假,则为假

	int a1 = 10;
	int b1 = 20;
	cout << (a1 && b1) << endl;

	int a2 = 0;
	int b2 = 20;
	cout << (a2 && b2) << endl;

	// 逻辑运算符  与  &&  两个都为假的才为假,有一个真,则为真
	int a3 = 0;
	int b3 = 0;
	cout << (a3 || b3) << endl;

	int a4 = 0;
	int b4 = 20;
	cout << (a4 || b4) << endl;

	system("pause");
	return 0;
}

总结

        运算符在C++中起着至关重要的作用,能够完成各种数学、逻辑和位运算,帮助程序实现各种复杂的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/578319.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

4.27日学习打卡----初学Redis(四)

4.27日学习打卡 目录&#xff1a; 4.27日学习打卡一. Redis的配置文件二. Redis构建Web应用实践环境搭建redis的优点引入本地缓存Google 开源工具GuavaGuava实现本地缓存 一. Redis的配置文件 在Redis的解压目录下有个很重要的配置文件 redis.conf &#xff0c;关于Redis的很多…

达梦(DM) SQL日期操作及分析函数

达梦DM SQL日期操作及分析函数 日期操作SYSDATEEXTRACT判断一年是否为闰年周的计算确定某月内第一个和最后一个周末某天的日期确定指定年份季度的开始日期和结束日期补充范围内丢失的值按照给定的时间单位查找使用日期的特殊部分比较记录 范围处理分析函数定位连续值的范围查找…

如何通过安全数据传输平台,保护核心数据的安全传输?

在数字化的浪潮中&#xff0c;企业的数据安全传输显得尤为关键。随着网络攻击手段的日益复杂&#xff0c;传统的数据传输方式已不再安全&#xff0c;这就需要我们重视并采取有效的措施&#xff0c;通过安全数据传输平台来保护核心数据。 传统的数据传输面临的主要问题包括&…

Bun 入门到精通(一)

Bun 是什么&#xff1f; Bun 是用于 JavaScript 和 TypeScript 应用程序的多合一工具包。它作为一个名为 bun 的可执行文件提供。 其核心是 Bun 运行时&#xff0c;这是一个快速的 JavaScript 运行时&#xff0c;旨在替代 Node.js。它是用 Zig 编写的&#xff0c;并由 JavaSc…

数字文旅重塑旅游发展新格局:以数字化转型为突破口,提升旅游服务的智能化水平,为游客带来全新的旅游体验

随着信息技术的迅猛发展&#xff0c;数字化已成为推动各行各业创新发展的重要力量。在旅游业领域&#xff0c;数字文旅的兴起正以其强大的驱动力&#xff0c;重塑旅游发展的新格局。数字文旅以数字化转型为突破口&#xff0c;通过提升旅游服务的智能化水平&#xff0c;为游客带…

C#基础|OOP、类与对象的认识

哈喽&#xff0c;你好&#xff0c;我是雷工&#xff01; 所有的面向对象的编程语言&#xff0c;都是把我们要处理的“数据”和“行为”封装到类中。 以下为OOP的学习笔记。 01 什么是面向对象编程&#xff08;OOP&#xff09;&#xff1f; 设计类&#xff1a;就是根据需求设计…

论文精读InstructPix2Pix: Learning to Follow Image Editing Instructions

InstructPix2Pix: Learning to Follow Image Editing Instructions 我们提出了一种根据人类指令编辑图像的方法:给定输入图像和告诉模型该做什么的书面指令&#xff0c;我们的模型遵循这些指令来编辑图像。 为了获得这个问题的训练数据&#xff0c;我们结合了两个大型预训练模…

输入输出重定向,追加重定向(Linux)

文章目录 一、输出重定向二、追加重定向三.输入重定向总结 一、输出重定向 我们在使用echo内容时&#xff0c;会把内容显示在显示器上。 echo自动换行。 我们如果输入 echo “hello linux” >file.txt 我们运行一下就会发现系统中多了一个file.txt的文件&#xff0c;如果这…

C语言 基本数据类型及大小

一、基本数据类型 1.整型int 整型的关键字是int&#xff0c;定义一个整型变量时&#xff0c;只需要用int来修饰即可。也分为短整型和长整型。 2.浮点型 浮点型又分单精度浮点型float和双精度浮点型double。 3.字符型char 前面的整型和浮点型都是用于存放数字。字符型&…

代理IP纯净度,对用户居然这么重要!

在网络应用和数据采集等领域&#xff0c;代理IP被广泛使用&#xff0c;而代理IP的纯净度则直接影响其性能和可用性。代理IP的纯净度主要涉及到代理IP在网络传输过程中的稳定性、匿名性和安全性。今天就带大家一起了解代理IP纯净度对用户的重要性。 第一&#xff0c;保护用户的隐…

什么是物理机什么是虚拟机 2024年6款适用于Windows的虚拟机软件推荐 crossover Parallels Desktop Mac运行exe

虚拟化是创建虚拟版本的过程&#xff0c;例如桌面、服务器或网络。它在物理上并不存在&#xff0c;但似乎确实存在。这种环境的虚拟版本可用于多种用途&#xff0c;包括测试和开发、灾难恢复和工作负载整合。虚拟化软件&#xff0c;也称为虚拟机 (VM) 软件&#xff0c;是一种允…

机器学习理论基础—贝叶斯分类器

机器学习理论基础—贝叶斯分类器 贝叶斯决策论 概述&#xff1a;贝叶斯决策论是概率框架下实施决策的基本方法&#xff0c;对分类任务来说&#xff0c;在所有相关概率都已知的理想情形下&#xff0c;贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。 定义 …

HarmonyOS开发案例:【 自定义弹窗】

介绍 基于ArkTS的声明式开发范式实现了三种不同的弹窗&#xff0c;第一种直接使用公共组件&#xff0c;后两种使用CustomDialogController实现自定义弹窗&#xff0c;效果如图所示&#xff1a; 相关概念 [AlertDialog]&#xff1a;警告弹窗&#xff0c;可设置文本内容和响应回…

LangChain入门:24.通过Baby AGI实现自动生成和执行任务

随着 ChatGPT 的崭露头角,我们迎来了一种新型的代理——Autonomous Agents(自治代理或自主代理)。 这些代理的设计初衷就是能够独立地执行任务,并持续地追求长期目标。 在 LangChain 的代理、工具和记忆这些组件的支持下,它们能够在无需外部干预的情况下自主运行,这在真…

Mac下使用homebrew管理多版本mysql同时启动

Mac下使用homebrew管理多版本mysql同时启动 思路 给每个版本分配不同的数据目录和配置文件即可 本文尝试了使用 brew 安装管理多个MySQL版本&#xff0c;同时运行、直接切换 安装 如果已有数据文件请自行备份以及使用 安装 mysql 5.7 brew install mysql5.7在 /opt/home…

银狐样本分析

银狐病毒 概述 msi在安装过程中执行恶意脚本&#xff0c;在C盘释放载荷ee.exe&#xff0c;ee.exe解密执行shellcode&#xff0c;shellcode通过多种手段执行反调试操作&#xff0c;添加Windows Defender的排除路径&#xff0c;解密字符串获取url后建立连接下载文件并解密&…

从递归角度串联二叉树-图论-动态规划

一、深度理解二叉树的前中后序遍历 二叉树遍历框架如下&#xff1a; void traverse(TreeNode* root) {if (root nullptr) {return;}// 前序位置traverse(root->left);// 中序位置traverse(root->right);// 后序位置 }先不管所谓前中后序&#xff0c;单看 traverse 函数…

Linux系统安全与应用【二】

目录 1.开关机安全控制 1.2 实例&#xff1a;GRUB 菜单设置密码 2.终端登录安全控制 2.1 限制root只在安全终端登录 ​3.弱口令检测 3.1 Joth the Ripper,JR​编辑 4.网络端口扫描 4.1 nmap命令 1.开关机安全控制 1.1 GRUB限制 限制更改GRUB引导参数 通常情况下在系统…

【源码】WBF多语言交易所/申购+自发币平台币+币币+杠杆+合约/附带安装教程/带VUE工程源码

【源码介绍】 WBF多语言交易所/申购自发币平台币币币杠杆合约/附带安装教程/带VUE工程源码 【源码说明】 带VUE工程源码最新申购&#xff0c;自发币平台币&#xff0c;币币&#xff0c;法币&#xff0c;杠杆&#xff0c;合约多语言交易所&#xff0c;附带pc和手机VUE&#x…

本地认证的密码去哪了?怎么保证安全的?

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff1f;密文存在哪个文件下?该文件是否可以打开&#xff0c;并且查看到密文&#xff1f; 系统将输入的明文密码通过hash算法转为哈希值&#xff0c;且输入的值会在内存中立即删除无法查看。 然后将密文存放在C:…