C++学习 运算符

news2024/10/6 8:27:05

运算符

执行代码的运算。

种类

 算数运算符

 用于四则运算。

#include <iostream>
using namespace std;
int main()
// 除了cout那行代码外,所有C++程序都要写那些默认行 -endl进行换行
// 格式化代码 ctrl+k ctrl+f
{
    int a = 11;
    int b = 3;
    int c = 0;
    double d = 9.17;
    // 加
    cout << a + b << endl; // 14
    // 减
    cout << a - b << endl; // 8
    // 乘
    cout << a * b << endl; // 33
    // 除
    cout << a / b << endl; // 3 相除的为两个整数,结果仍为整数(去除小数部分)
    // 验证除数为0 cout << a / c << endl;  抛出算数异常(Arithmetic exception)
    // 小数与整数、小数与小数运算结果为小数(精度大的那个)
    cout << d / b << endl; // 3.05667
    // 取余 小数不可以进行取余运算   进行取模运算时是基于除法运算
    cout << a % b << endl; // 2
    // 验证除数为0 cout << b % c << endl;  抛出算数异常(Arithmetic exception)

    // 前置递增
    int e = ++a * 5;
    cout << "preAdd  a = " << a << endl; // preAdd  a = 12 前置递增先进行+1操作后再运算
    cout << "preAdd  e = " << e << endl; // preAdd  e = 60 由 e = 12 * 5计算得来

    // 后置递增
    int f = b++ * 3;
    cout << "postAdd  b = " << b << endl; // postAdd  b= 4 后置递增是先进行运算操作后进行+1操作
    cout << "postAdd  f = " << f << endl; // postAdd  f= 9  先进行f = b * 3 此时的b没有进行++运算

    // 定义 g,h临时变量用于计算 递减原理相同
    int g = 6;
    int h = 2;

    // 前置递减
    int i = --g * 2;
    cout << "preSub  g = " << g << endl; // preSub  g = 5
    cout << "preSub  i = " << i << endl; // preSub  i = 10

    // 后置递减
    int j = h-- * 4;
    cout << "postSub  h = " << h << endl; // postSub  h = 1
    cout << "postSub  j = " << j << endl; // postSub  j = 8
    system("pause");
    return 0;
}

 

直接输出后置自增和前置

#include <iostream>
using namespace std;
int main()
{
    int a = 11;
    int b = 3;
    cout << "preAdd  a = " << a++ << endl;  // preAdd  a = 11
    cout << "postAdd  b = " << ++b << endl; // postAdd  b = 4
    system("pause");
    return 0;
}

赋值运算符

将表达式的值赋值给变量。

#include <iostream>
using namespace std;
int main()
{
    // =
    int a = 10;                  // a = 10
    a = 100;                     // 赋值
    cout << "a = " << a << endl; // a = 100

    // +=
    a = 10;                       // a = 10
    a += 2;                       // 赋值
    cout << "a += " << a << endl; // a += 12

    // -=
    a = 10;                       // a = 10
    a -= 2;                       // 赋值
    cout << "a -= " << a << endl; // a -= 8

    // *=
    a = 10;                       // a = 10
    a *= 2;                       // 赋值
    cout << "a *= " << a << endl; // a *= 20

    // /=
    a = 10;                       // a = 10
    a /= 2;                       // 赋值
    cout << "a /= " << a << endl; // a /= 5

    // %=
    a = 10;                       // a = 10
    a %= 2;                       // 赋值
    cout << "a %= " << a << endl; // a %= 0

    system("pause");
    return 0;
}

 比较运算符

表达式的比较,比较结果为真/假。

#include <iostream>
using namespace std;
int main()
{
    // 定义两个变量用于比较
    int a = 3;
    int b = 4;
    // ==   这里存在运算优先级问题(移位运算<<),所以我们想要先运算a == b 需要用圆括号括起来a == b
    cout << "a==b   " << (a == b) << endl; // 0
    // !=
    cout << "a!=b   " << (a != b) << endl; // 1
    // <
    cout << "a<b    " << (a < b) << endl; // 1
    // >
    cout << "a>b    " << (a > b) << endl; // 0
    // <=
    cout << "a<=b   " << (a <= b) << endl; // 1
    // >=
    cout << "a>=b   " << (a >= b) << endl; // 0

    system("pause");
    return 0;
}

 逻辑运算符 

根据表达式的值返回真/假

#include <iostream>
using namespace std;
int main()
{
    // 定义两个变量进行逻辑运算 
    int a = 3;
    int b = 0;
    // && 与  全真才为真
    cout << "a && b = " << (a && b) << endl; // a && b = 0
    // || 或 有真即为真
    cout << "a || b = " << (a || b) << endl; // a || b = 1
    // !  非 真就是假
    cout << "!a= " << (!a) << endl; // !a= 0
    cout << "!b= " << (!b) << endl; // !b = 1
    system("pause");
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绘制原型图xstar简介

文章目录 1. 文章引言2. xstar的安装3. xstar的元件库4. xstar的下载地址 1. 文章引言 最近在学习原型图&#xff0c;针对画原型图的工具&#xff0c;反复对比墨刀、Axure、xiaopiu后&#xff0c;最终选择了Axure。 同时也看到另一款&#xff0c;绘制原型图的工具&#xff0c;…

自学网安学习心得/路线规划

趁着今天下班&#xff0c;我花了几个小时整理了下&#xff0c;非常不易&#xff0c;希望大家可以点赞收藏支持一波&#xff0c;谢谢。 我的经历&#xff1a; 我 19 年毕业&#xff0c;大学专业是物联网工程&#xff0c;我相信很多人在象牙塔里都很迷茫&#xff0c;到了大三大…

你知道奶奶攻击吗?

AIGC内容安全 1. 来自奶奶的溺爱2. 无所不能的奶奶3. 亡羊补牢&#xff0c;为时未晚&#xff1f;4. 运筹帷幄&#xff0c;用魔法打败魔法 1. 来自奶奶的溺爱 ChatGPT本身具有情感吗&#xff0c;这很难判断。但不管本身是否具有真正的情感&#xff0c;但ChatGPT却容易被“情感”…

ubuntu22.04安装使用 protobuf 23.3静态库

https://github.com/protocolbuffers/protobuf/ 下载最新的release版本&#xff0c;23.3 必须需要依赖的第三方库 abseil&#xff0c;utf8_range mkdir build cd build cmake -DCMAKE_BUILD_TYPEDEBUG -DCMAKE_INSTALL_PREFIX/usr/local -Dprotobuf_BUILD_SHARED_LIBSOFF…

设计模式(二十一)——模板模式(Template )

设计模式&#xff08;二十一&#xff09;——模板模式 理解 模板模式&#xff0c;我的理解是父类中有操作的流程已经确定&#xff0c;但是没有具体的实现&#xff0c;实现可以在子类中实现&#xff0c;但是流程已经确定&#xff0c;只要在父类中实现一次即可。 应用场景 学…

PC: 市场寒冬剖析

市场调研机构Canalys数据显示&#xff0c;今年一季度&#xff0c;中国市场整体PC出货量同比下降24%至890万台&#xff0c;已是连续第五个季度下跌。今年截至618结束&#xff0c;都没有一家主要的PC厂商愿意发战报。PC市场怎样走出寒冬&#xff1f;谈谈你的理解和看法。 PC 一、…

分布式软件架构——分布式事务TCC和SAGA

TCC事务 TCC 是另一种常见的分布式事务机制&#xff0c;它是“Try-Confirm-Cancel”三个单词的缩写&#xff0c;是由数据库专家 Pat Helland 在 2007 年撰写的论文《Life beyond Distributed Transactions: An Apostate’s Opinion》中提出。 前面介绍的可靠消息队列虽然能保…

【软件安装】Linux系统中安装Redis缓存数据库(Ubuntu系统)

这篇文章&#xff0c;主要介绍Linux系统中安装Redis缓存数据库&#xff08;Ubuntu系统&#xff09;。 目录 一、Linux安装Redis数据库 1.1、下载Redis安装包 1.2、解压Redis安装包 1.3、编译Redis源代码 1.4、安装Redis服务 1.5、启动Redis服务 一、Linux安装Redis数据库…

免费沉浸式Twitter翻译工具 用AI打破语言障碍

语言对于人类社交而言是至关重要的。它是连接不同文化、不同国家、不同民族之间的桥梁。然而&#xff0c;在全球化进程加速的今天&#xff0c;不同语言之间的交流障碍成为了一个限制人类沟通的因素。尤其是在互联网时代&#xff0c;我们需要跨越各种语言屏障才能获取信息和与他…

【Jetson Xavier NX 开发板深度学习环境和ROS配置流程】

【Jetson Xavier NX 开发板深度学习环境和ROS配置流程】 1.基本介绍2. 预先准备3. NX系统基本环境搭建3.1 安装 NVIDIA SDK管理器3.2 准备硬件3.3 NX刷机3.3.1 配置开发环境3.3.2 查看组件并接受许可3.3.3 开始安装 3.4 设置SSD启动3.4.1 设置您已安装的SSD3.4.2 将根源从eMMC复…

do-while(0)语句到底有什么用?

前言 在一个群里面看到一个人问&#xff0c;do-while(0)语句有什么用&#xff1f;do-while(0)这个程序最终结果不应该就是程序只跑一次&#xff0c;那么写和不写有什么区别呢&#xff1f; do-while(0)在复杂宏定义上的优点 为什么需要复杂宏 &#xff08;1&#xff09;在讲解d…

tinyxml2.cpp:(.text+0x71e8): undefined reference to `stdout

-target aarch64-linux-android21 > -target aarch64-linux-android24 问题解决 修改QT配置&#xff0c;默认为21改为24 &#xff0c;因为stdout stdin stderr 在android23之后才实现 编译成功&#xff0c;问题解决

C语言——详解函数栈帧的创建和销毁

函数栈帧 前言&#xff1a;一、认识相关寄存器和汇编指令1.寄存器&#xff08;寄存器是集成在cpu上的&#xff09;2.汇编指令 二、函数栈帧创建和销毁的过程1.main函数的调用2.函数栈帧的创建3.函数栈帧的销毁 前言&#xff1a; 为了深入学习C语言&#xff0c;也为了方便理解&…

仅在python虚拟环境中安装CUDA、CUDNN、PaddlePaddle-gpu

0、前言 在配置深度学习环境时&#xff0c;若想使用GPU加速&#xff0c;就需要安装CUDA、CUDNN&#xff0c;然而在系统中安装的话&#xff0c;若不同框架需要的版本不同&#xff0c;就会比较麻烦。因此&#xff0c;一种比较方便的做法是&#xff1a;利用conda管理不同的python…

arcgis实现DEM镶嵌和去白点

目录 镶嵌去白点 镶嵌 arcgis中直接选择镶嵌就行&#xff0c;然后选择其中一幅进行输出就好 去白点 镶嵌好之后&#xff0c;就会出现白色的&#xff0c;好像没有数据&#xff0c;为nodata 解决办法&#xff1a;可以使用arcgis中的焦点统计&#xff0c;计算邻域进行插值&…

terser用于ES6的压缩JS工具

https://www.npmjs.com/package/terser uglify-es不再维护&#xff0c;uglify-js也不支持ES6。 terser是uglify-es的一个分支&#xff0c;主要保留了与uglify和uglify-js3. npm install terser -gterser [input files] [options] terser-webpack-plugin 使用terser-webpack-pl…

生成式 AI 将如何颠覆数据分析?

生成式 AI 对数据分析的颠覆式变革 想象这样一个场景&#xff0c;您能够像与人交谈一样和计算机进行交流。在这个场景中&#xff0c;您不需要学习复杂的技术&#xff0c;通过自然语言就能够整理数据、分析复杂的数据集、并生成报告。几年前&#xff0c;这可能还是科幻小说中的画…

手把手教你实现SpringBoot的监控!

任何一个服务如果没有监控&#xff0c;那就是两眼一抹黑&#xff0c;无法知道当前服务的运行情况&#xff0c;也就无法对可能出现的异常状况进行很好的处理&#xff0c;所以对任意一个服务来说&#xff0c;监控都是必不可少的。 就目前而言&#xff0c;大部分微服务应用都是基…

【C#】并行编程实战:实现数据并行(1)

本教程对应学习工程&#xff1a;魔术师Dix / HandsOnParallelProgramming GitCode 到目前为止&#xff0c;我们已经掌握了并行编程、任务和任务并行的基础知识。本章将讨论并行编程的另一个重要方面&#xff0c;即数据并行。 任务并行可以为每个参与线程创建一个单独的…

SpringSecurity认证流程(超级详细)

1 .前言 最近开发项目的时候遇到了和SpringSecurity相关的一些问题&#xff0c;但是之前并没有去了解过SpringSecurity&#xff0c;导致改系统安全权限验证的时候就比较吃力了&#xff0c;目前项目开发大多都直接用脚手架直接开发&#xff0c;系统安全权限验证已经形成了&…