首页 > 编程语言 >C++学习笔记六:运算符(五种基本运算操作,优先级和结合性)

C++学习笔记六:运算符(五种基本运算操作,优先级和结合性)

时间:2023-12-11 16:23:41浏览次数:36  
标签:value 优先级 int C++ 运算符 number2 result number1

这一章对操作符进行简单的总结:

1.五种基本运算类型:加减乘除,取余

add, substract, multiply, divide, modulus

int number1{2};
int number2{7};
int result = number1 + number2;
result = number2 - number1 ;
result = number1 - number2;
result = number1 * number2;
result = number2 / number1; // result:3
result = number2 % number1; 

注意:两个int类型相除只会得到int类型的取整

 

2.优先级与结合性

https://en.cppreference.com/w/cpp/language/operator_precedence

 

3.前置和后置的++与--

后置的++/--先输出或者赋值原变量,之后再改变原变量

前置的++/--先改变原变量,再做改变后变量的赋值和输出

std::cout << "======Postfix increment and decrement======"<< std::endl;
value = 5;
std::cout << "The value is (incrementing) : " << value++ << std::endl; // 5
std::cout << "The value is : " << value << std::endl; // 6
std::cout << std::endl;
value = 5; //Reset value to 5
std::cout << "The value is (decrementing) : " << value-- << std::endl; //5
std::cout << "The value is : " << value << std::endl; // 4

std::cout << "======Prefix increment and decrement======"<< std::endl;
value = 5;
++value;
std::cout << "The value is (prefix++) : " << value << std::endl; // 6
value = 5;
std::cout << "The value is (prefix++ in place) : " << ++value << std::endl; // 6
std::cout << std::endl;

 

4.复合运算符

复合运算符同时完成运算和赋值的操作。

int value {45};
value +=5;
value -=5;
value *=2;
value /= 3;
value %= 11;

 

5.比较运算符

int number1 {20};
int number2 {20};

std::cout << std::boolalpha ; // Make bool show up as true/false instead of 1/0
//Stress the need for parentheses here
std::cout << "number1 < number2 : " << (number1 < number2) << std::endl;
std::cout << "number1 <= number2 : " << (number1 <= number2) << std::endl;
std::cout << "number1 > number2 : " << (number1 > number2) << std::endl;
std::cout << "number1 >= number2 : " << (number1 >= number2) << std::endl;
std::cout << "number1 == number2 : " << (number1 == number2) << std::endl;
std::cout << "number1 != number2 : " << (number1 != number2) << std::endl;

在输出比较结果的时候记得加上括号。<<的优先级高于比较运算符。

 

6.逻辑运算符

AND && 全真才真

OR || 一真即真

NOT !

这三个逻辑运算符联合使用记得优先级:NOT>AND>OR

bool a {true};
bool b {true};
bool c {false};

std::cout << std::boolalpha;
std::cout << (!a || b && c) << std::endl;
// !a: false, b && c: false, result: false

 

标签:value,优先级,int,C++,运算符,number2,result,number1
From: https://www.cnblogs.com/zspaiprogram/p/17894703.html

相关文章

  • C++ Qt开发:PushButton按钮组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QPushButton按钮组件的常用方法及灵活运用。QPushButton是Qt框架中用于创建按钮的组件类,是QW......
  • java中的三目运算符
    格式:变量=condition?value1:value2condition是一个布尔表达式,如果为true,则返回value1,否则返回value2比如:变量a的赋值,如果x>y,则a=1,否则,a=2用ifelse代码如下:1importjava.util.Random;2publicclassTest3{3publicstaticvoidmain(String[]args){4......
  • C++U4-第08课-队列
    队列:顺序队列 队列基本操作 选择题1 选择题2 程序阅读题     打疫苗 【算法分析】用数组实现队列,按题意模拟即可。【参考代码】#include<iostream>usingnamespacestd;stringq[1010];intf,r;//f前端,指向队头,r后端,指向队尾的后......
  • C++U5-09-二叉树2
    二叉树(二)二叉树遍历是一种重要的操作,它在许多应用场景中被广泛使用。以下是一些常见的应用场景:查找和搜索:二叉树遍历可以用于查找特定元素或者进行搜索操作。通过遍历整棵树,可以找到目标元素并进行相应的处理。例如,在二叉搜索树中查找某个特定值,或者在字典树中搜索以某个前缀......
  • C++U3-第4课-结构体应用
    上节课作业分析讲解:链接:https://pan.baidu.com/s/15b4fJq1Xxd2X6uB9CJuVXw?pwd=r9nt提取码:r9nt结构体应用 sort排序函数回顾 结构体排序结构体排序,排序的时候给cmp函数传递的是新创建的结构体类型,所以函数里形参类型就是结构体的类型 例题1#include<iostream>......
  • Hadoop 配置的优先级
    从低到高1.默认配置默认文件文件存放在Hadoop的jar包中的位置core-default.xmlhadoop-common-3.3.6.jar/core-default.xmlhdfs-default.xmlhadoop-hdfs-3.3.6.jar/hdfs-default.xmlyarn-default.xmlhadoop-yarn-common-3.3.6.jar/yarn-default.xmlmapred-d......
  • C++(std::shared_ptr)
    std::shared_ptr是C++标准库中的一个智能指针类,用于管理动态分配的内存。它提供了一种共享拥有权(sharedownership)的机制,通过引用计数来跟踪指向同一块内存的所有std::shared_ptr实例。当最后一个std::shared_ptr被销毁时,它会自动释放所拥有的内存。基本用法:#include<me......
  • C++中的虚函数和纯虚函数详细讲解
    1.虚函数1.1概念(1)定义一个函数为虚函数,不代表函数为不被实现的函数。(2)定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。1.2简介假设我们有下面的类层次classA{public:virtualvoidfoo(){cout<<"A::foo()iscalled"<<endl;}};c......
  • C++基础 -3- 匿名空间,命名空间跨文件使用
    ———————匿名空间,命名空间跨文件———————匿名空间仅限本文件使用 ......
  • Qt/C++音视频开发59-使用mdk-sdk组件/原qtav作者力作/性能凶残/超级跨平台
    一、前言最近一个月一直在研究mdk-sdk音视频组件,这个组件是原qtav作者的最新力作,提供了各种各样的示例demo,不仅限于支持C++,其他各种比如java/flutter/web/android等全部支持,性能上也是杠杠的,目前大概是在V0.23版本,大部分软件发布基本上都是在1.0版本才是比较稳定的,不过目前用下来......