C++中的运算符

一、算数运算符

1.1 加减乘除取模

#include <iostream>
using namespace std;

int main()
{
	//加减乘除
	int a1 = 10;
	int b1 = 5;
	cout << "a1 + b1 = " << a1 + b1 << endl;
	cout << "a1 - b1 = " << a1 - b1 << endl;
	cout << "a1 * b1 = " << a1 * b1 << endl;
	cout << "a1 / b1 = " << a1 / b1 << endl; //结果是整数,除不尽时舍弃小数部分

	int a2 = 10;
	int b2 = 20;
	cout << "a2 / b2 = " << a2 / b2 << endl; //结果是浮点数,除不尽时保留小数部分

	//两个小数相除,结果也是浮点数
	double c1 = 10.5;
	double d1 = 3.2;
	cout << "c1 / d1 = " << c1 / d1 << endl;

	//余数运算 取模运算时除数不能为0
	int e1 = 10;
	int f1 = 3;
	cout << "e1 % f1 = " << e1 % f1 << endl; //余数是1,表示10除以3的余数是1
	//两个小数不能取模运算,会报错
	//只有整型变量才能取模运算



	system("pause");
	return 0;

}

1.2 位运算

#include <iostream>
using namespace std;

int main()
{
	//1.前置递增
	int a = 10;
	++a;//让变量+1
	cout<<  "a = " << a << endl; //输出11
	//2.后置递增
	int b = 10;
	b++;//让变量+1
	cout << "b = " << b << endl; //输出11

	//前置和后置递增的区别:
	//前置递增 先让变量+1 然后再进行表达式运算
	int a2 = 10;
	int b2 = ++a2 * 10;
	cout << "b2 = " << b2 << endl; //输出110
	cout << "a2 = " << a2 << endl; //输出11
	//后置递增 先进行表达式运算 然后再让变量+1
	int a3 = 10;
	int b3 = a3++ * 10;
	cout << "b3 = " << b3 << endl; //输出100
	cout << "a3 = " << a3 << endl; //输出11

	//3.前置递减
	int c = 10;
	--c;//让变量-1
	cout << "c = " << c << endl; //输出9
	//4.后置递减
	int d = 10;
	d--;//让变量-1
	cout << "d = " << d << endl; //输出9

	//前置和后置递减的区别:
	//前置递减 先让变量-1 然后再进行表达式运算
	int c2 = 10;
	int d2 = --c2 * 10;
	cout << "d2 = " << d2 << endl; //输出90
	cout << "c2 = " << c2 << endl; //输出9
	//后置递减 先进行表达式运算 然后再让变量-1
	int c3 = 10;
	int d3 = c3-- * 10;
	cout << "d3 = " << d3 << endl; //输出100
	cout << "c3 = " << c3 << endl; //输出9

system("pause");
return 0;


}

二、赋值运算符

作用:用于将表达式的值赋值给变量

#include <iostream>
using namespace std;

int main() {
	// 赋值运算符
	//	=
	int a = 10;
	a = 20;
	cout << a << endl;
	//	+=
	a = 10;
	a += 5; //a = a + 5;
	cout << a << endl;
	//	-=
	a = 10;
	a -= 5; //a = a - 5;
	cout << a << endl;	
	//	*=
	a = 10;
	a *= 5; //a = a * 5;
	cout << a << endl;

	//  /=
	a = 10;
	a /= 5; //a = a / 5;
	cout << a << endl;

	//  %=
	a = 10;	
	a %= 5; //a = a % 5;
	cout << a << endl;


	system("pause");
	return 0;
}

三、比较运算符

作用:用于表达式的比较,并返回一个真值或假值

#include <iostream>
using namespace std;

int main() {
	//比较运算符

	//等于(==)
	int a = 10;
	int b = 20;
	cout << (a == b) << endl; //输出0,因为a和b的值不相等
	//不等于(!=)
	cout << (a!= b) << endl; //输出1,因为a和b的值不相等

	//大于(>)
	cout << (a > b) << endl; //输出0,因为a的值不大于b的值

	//小于(<)
	cout << (a < b) << endl; //输出1,因为a的值小于b的值

	//大于等于(>=)
	cout << (a >= b) << endl; //输出0,因为a的值不大于等于b的值
	//小于等于(<=)		
	cout << (a <= b) << endl; //输出1,因为a的值小于等于b的值
	system("pause");
	return 0;

}

四、逻辑运算符

作用:用于根据表达式的值返回真值或假值

#include <iostream>
using namespace std;

int main() {
	// 逻辑运算符
	// !  非运算符,用来反转操作数的逻辑值。
	int a = 10;
	//在C++中 除了0都为真
	cout << !a << endl; // 输出 0,因为 a 的值是 10,非运算符将其变为 0。
	cout << !!a << endl; // 输出 1,因为 !a 的值为 0,再取非运算符,结果为 1。 
	// && 与运算符,只有两个操作数都为真,结果才为真。
	int b = 10;
	cout << (a && b) << endl; // 输出 1,因为 a 和 b 都为真。 
	a = 0;
	b = 10;
	cout << (a && b) << endl; // 输出 0,因为 a 为假,所以结果为假。
	// || 或运算符,只要两个操作数有一个为真,结果就为真。
	int c = 0;
	cout << (a || c) << endl; // 输出 1,因为 a 为真。
	c = 10;
	cout << (a || c) << endl; // 输出 1,因为 a 为真,所以结果为真。
	// 注意:当两个操作数都为假时,或运算符的结果为假。
	system("pause");
	return 0;
}

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

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

相关文章

安装zlmediakit和wvp-pro

通过docker安装zlmediakit&#xff0c;并单独启动wvp-pro.jar - zlmediakit安装 zlmediakit安装比较依赖环境和系统配置&#xff0c;所以这里直接使用docker的方式来安装。 docke pull拉取镜像 docker pull zlmediakit/zlmediakit:master使用下边命令先运行起来 sudo docke…

【深度学习实战(12)】训练之模型参数初始化

在深度学习模型的训练中&#xff0c;权重的初始值极为重要。一个好的初始值&#xff0c;会使模型收敛速度提高&#xff0c;使模型准确率更精确。一般情况下&#xff0c;我们不使用全0初始值训练网络。为了利于训练和减少收敛时间&#xff0c;我们需要对模型进行合理的初始化。 …

图文教程 | 2024年最新Typora激活使用教程合集

前言 汇总一下网上的三种方法。 &#x1f4e2;博客主页&#xff1a;程序源⠀-CSDN博客 &#x1f4e2;欢迎点赞&#x1f44d;收藏⭐留言&#x1f4dd;如有错误敬请指正&#xff01; 关于安装教程&#xff1a;http://t.csdnimg.cn/SCIQ8http://t.csdnimg.cn/SCIQ8自行跳转安装 一…

Ugee手写板Ex08 S在不同软件中的设置

手写笔的结构 功能对应于鼠标的作用笔尖鼠标左键上面第一个键鼠标右键&#xff08;效果有时候也不完全等同&#xff09;上面第二个键鼠标中键 以下测试的软件版本 软件版本windows10WPS2024春季16729Office2007SimpleTex0.2.5Ex08 S驱动版本4.2.4.231109 WPS-word ①点击审…

Zabbix 监控软件(一)

通常我们服务搭建成功 但不清楚服务器的运行状况&#xff0c;这时候就需要会使用监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数据去了解上线发布的结果&#xff0c;和网站的健康状态。 利用一个优秀的监控软件&#xff0c;我们可以: ●通过一个友好的界…

互联网技术知识点总览——操作系统知识点框架图

简介 本文对操作系统的知识点整体框架进行梳理和分享如下&#xff1a;

智能生活新体验:小米香薰加湿器技术解码

在现代家居生活中&#xff0c;科技与舒适性日益交织&#xff0c;智能家居产品成为提升生活品质的重要工具。小米香薰加湿器作为一款集科技与生活美学于一体的产品&#xff0c;其独特的设计和多功能性受到了广泛欢迎。今天&#xff0c;我们就来详细拆解这款融合了科技与香薰元素…

如何搭建线下陪玩系统(本地伴游、多玩圈子)APP小程序H5多端前后端源码交付,支持二开!

一、卡顿的优化方法 1、对陪玩系统源码中流媒体传输的上行进行优化&#xff0c;通过提升推流端的设备性能配置、推流边缘CDN节点就近选择等方式解决音视频数据源流的卡顿。 2、对陪玩系统源码中音视频数据的下载链路进行优化&#xff0c;通过选择更近更优质的CDN边缘节点来减少…

OpenHarmony实战开发-如何实现发布图片评论功能。

介绍 本示例将通过发布图片评论场景&#xff0c;介绍如何使用startAbilityForResult接口拉起相机拍照&#xff0c;并获取相机返回的数据。 效果图预览 使用说明 通过startAbilityForResult接口拉起相机&#xff0c;拍照后获取图片地址。 实现思路 1.创建CommentData类&…

Docker Desktop打开一直转圈的解决办法

安装Docker Desktop之前确保你的Hyper-V已经打开 开启后需要重新安装重新安装重新安装这是最关键的一步&#xff0c;博主自己看了很多教程&#xff0c;最后试着重装了一下解决了 安装DockerDesktop的时候我的电脑根本就没有Hyper-V这个功能选项&#xff0c;可能是这个问题 如…

RLHF强化学习对其算法:PPO、DPO、ORPO

参考&#xff1a; https://blog.csdn.net/baoyan2015/article/details/135287298 https://cloud.tencent.com/developer/article/2409553 最新的llama3是PPO、DPO两种方法使用 人类反馈强化学习 (RLHF)&#xff0c;它利用人类偏好和指导来训练和改进机器学习模型&#xff1a; …

ColBERT和ColBERTv2:兼具Bi-encoder和cross-encoder优势的多向量排序模型

文章目录 简介ColBERTColBert 原理ColBERT如何训练ColBERT 如何使用离线索引用ColBERT 实现top-k Re-ranking用ColBERT 实现top-k 端到端的检索 ColBERTv2ColBERTv2原理SupervisionRepresentation IndexingRetrieval 总结参考资料 简介 ColBERT是一种多向量排序模型&#xff0…

centos7安装mysql5.7笔记

1 配置yum仓库 1.1更新密钥 #更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 1.2 下载使用wget命令下载MySQL的repo文件 #下载使用wget命令下载MySQL的repo文件 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2 使用…

我为什么想成为一名程序员

#为什么你选择成为一名程序员# 目录 原因&#xff1a; 后续选择&#xff1a; 结尾&#xff1a; 原因&#xff1a; 本人是一个00后&#xff0c;出生在农村当时经济相对来说比较落后&#xff0c;村里面基本上都没几个人有手机。当时有些小伙伴他们拿着自己大人的手机在那里玩…

CS61B sp21fall Project02 Gitlet

Project02 Gitlet 一、项目简介二、Git和Gitlet2.1 Git简介2.2 Gitlet简介 三、框架设计3.1 Blobs3.2 Trees3.3 Commits 四、.Gitlet文件结构设计4.1 .git文件架构4.1.1 重点介绍index&#xff08;VSCode中无法查看&#xff0c;会乱码&#xff09;objects&#xff08;VSCode中无…

Navicat导入sql文件图文教程

本文使用的MySQL工具为:Navicat.默认已经连接数据库!! 步骤: 1.右键自己的数据库,选择新建数据库. 2.输入数据库名称&#xff0c;字符集选择“utf8”&#xff0c;排序规则选择“ utf8_general_ci”,确定. 3.双击新建好的“数据库”。右键点击“运行SQL文件”。 4.选择本地的s…

2024年安装tf tfa tfh

目的&#xff1a; 在win10上&#xff0c;anaconda内&#xff0c;同时安装tensorflow tensorflow_hub tensorflow_addons。需要注意3个版本相互对应。 本文最后找到一种方法&#xff1a;先用pip安装tensorflow2.14版本&#xff0c;再次使用pip安装剩余两个时&#xff0c;就会自…

姑苏寻韵~庆开放原子开源大赛 OpenTiny 前端 Web 应用开发挑战赛路演圆满落幕。

春日已至&#xff0c;姑苏古城迎来了一场编程的盛宴——开放原子开源大赛OpenTiny前端Web应用开发挑战赛。历时三个月的激烈角逐&#xff0c;OpenTiny与众多开发者携手共赴这场智慧的较量。决赛路演于4月14日在苏州&#xff08;太湖&#xff09;产业软件园圆满落下帷幕~ 开放原…

圣地亚哥 Toler 小学利用School AI帮助每个学生都有自己的聊天机器人,提高学习兴趣和效率

圣地亚哥 Toler 小学利用 AI 程序 SchoolAI 平台为学生创建个性化的聊天机器人&#xff0c;帮助他们更好地学习和提问。这个 AI 程序让学生可以在几秒钟内得到问题的答案&#xff0c;激发了他们提出更多问题的好奇心。 管理、调节和指导学生如何通过任务控制使用人工智能。 当…

JUC(java.util.concurrent) 的常见类

Callable 接口 Callable 的用法 Callable 是一个 interface&#xff08;类似之前的 Runnable&#xff0c;用来描述一个任务&#xff0c;但是没有返回值&#xff09;也是描述一个任务的&#xff0c;有返回值。方便程序猿借助多线程的方式计算结果. 例如&#xff1a;创建线程…
最新文章