3 运算符

**作用:**用于执行代码的运算

本章我们主要讲解以下几类运算符:

运算符类型 作用
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于根据表达式的值返回真值或假值

3.1 算术运算符

作用:用于处理四则运算

算术运算符包括以下符号:

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
前置递减 a=2; b=–a; a=1; b=1;
后置递减 a=2; b=a–; a=1; b=2;

示例1:

//加减乘除
int main() { int a1 = 10;
int b1 = 3; cout << a1 + b1 << endl;
cout << a1 - b1 << endl;
cout << a1 * b1 << endl;
cout << a1 / b1 << endl; //两个整数相除结果依然是整数 int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl; int a3 = 10;
int b3 = 0;
//cout << a3 / b3 << endl; //报错,除数不可以为0 //两个小数可以相除
double d1 = 0.5;
double d2 = 0.25;
cout << d1 / d2 << endl; system("pause"); return 0;
}

总结:在除法运算中,除数不能为0

示例2:

//取模
int main() { int a1 = 10;
int b1 = 3; cout << 10 % 3 << endl; int a2 = 10;
int b2 = 20; cout << a2 % b2 << endl; int a3 = 10;
int b3 = 0; //cout << a3 % b3 << endl; //取模运算时,除数也不能为0 //两个小数不可以取模
double d1 = 3.14;
double d2 = 1.1; //cout << d1 % d2 << endl; system("pause"); return 0;
}

总结:只有整型变量可以进行取模运算

示例3:

//递增
int main() { //后置递增
int a = 10;
a++; //等价于a = a + 1
cout << a << endl; // 11 //前置递增
int b = 10;
++b;
cout << b << endl; // 11 //区别
//前置递增先对变量进行++,再计算表达式
int a2 = 10;
int b2 = ++a2 * 10;
cout << b2 << endl; //后置递增先计算表达式,后对变量进行++
int a3 = 10;
int b3 = a3++ * 10;
cout << b3 << endl; system("pause"); return 0;
}

总结:前置递增先对变量进行++,再计算表达式,后置递增相反

3.2 赋值运算符

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

赋值运算符包括以下几个符号:

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

示例:

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;
}

3.3 比较运算符

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

比较运算符有以下符号:

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
< 小于 4 < 3 0
> 大于 4 > 3 1
<= 小于等于 4 <= 3 0
>= 大于等于 4 >= 1 1

示例:

int main() {

	int a = 10;
int b = 20; cout << (a == b) << endl; // 0 cout << (a != b) << endl; // 1 cout << (a > b) << endl; // 0 cout << (a < b) << endl; // 1 cout << (a >= b) << endl; // 0 cout << (a <= b) << endl; // 1 system("pause"); return 0;
}

注意:C和C++ 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。

3.4 逻辑运算符

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

逻辑运算符有以下符号:

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

**示例1:**逻辑非

//逻辑运算符  --- 非
int main() { int a = 10; cout << !a << endl; // 0 cout << !!a << endl; // 1 system("pause"); return 0;
}

总结: 真变假,假变真

**示例2:**逻辑与

//逻辑运算符  --- 与
int main() { int a = 10;
int b = 10; cout << (a && b) << endl;// 1 a = 10;
b = 0; cout << (a && b) << endl;// 0 a = 0;
b = 0; cout << (a && b) << endl;// 0 system("pause"); return 0;
}

总结:逻辑与运算符总结: 同真为真,其余为假

**示例3:**逻辑或

//逻辑运算符  --- 或
int main() { int a = 10;
int b = 10; cout << (a || b) << endl;// 1 a = 10;
b = 0; cout << (a || b) << endl;// 1 a = 0;
b = 0; cout << (a || b) << endl;// 0 system("pause"); return 0;
}

逻辑或运算符总结: 同假为假,其余为真

更多信息请关注公众号:

[C++基础入门] 3、 运算符的更多相关文章

  1. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  2. 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结

    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...

  3. 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题

    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...

  4. 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级

    031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...

  5. 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符

    030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...

  6. 029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符

    029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑& ...

  7. 028 01 Android 零基础入门 01 Java基础语法 03 Java运算符 08 逻辑“或”运算符

    028 01 Android 零基础入门 01 Java基础语法 03 Java运算符 08 逻辑"或"运算符 本文知识点:Java中的逻辑"或"运算符 逻辑& ...

  8. 027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑“与”运算符

    027 01 Android 零基础入门 01 Java基础语法 03 Java运算符 07 逻辑"与"运算符 本文知识点:Java中的逻辑"与"运算符 逻辑运 ...

  9. 026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构

    026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构 本文知识点:Java中的if-else条件结构语句 上文回顾--if条件结构 如果 ...

  10. 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构

    025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...

随机推荐

  1. 过滤器函数 filtes 的使用总结

    // import parseTime, formatTime and set to filter /** * Show plural label if time is plural number * ...

  2. lcd 驱动程序框架分析

    在嵌入式产品中,lcd的用途可谓很大,很多产品都会用到lcd作为人机交互的接口,在linux内核中当然也有lcd的驱动,内核中都是做好了框架,用平台设备来添加和管理不同的lcd驱动程序,因为每款arm ...

  3. tableau连接mysql

    1.下载驱动地址:https://dev.mysql.com/downloads/connector/odbc/ 2.选择MSI Installer自动安装自动配置 3.本地127.0.0.1(其他I ...

  4. jquery的y一些实用方法

    jquery的在线手册 jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code.. ...

  5. podman 入门实战

    一入编程深似海,从此节操是路人. 最近使用podman,就想着写一篇总结性的笔记,以备后续参考.就如同写代码,不写注释,过了一段时间可能会想这是我写的吗?不会吧,还要理一下逻辑才能读懂,不利于后期维护 ...

  6. Javaweb学习笔记第十五弹--Listente概述、AJAX、Axiox、JSON

    Listener(监听器) 可以在application.session和request三个对象创建 Javaweb提供了8个监听器,其中较为典型的是ServletContextListener监听器 ...

  7. .NET/C#操作Redis的简单方法

    本文属于Redis初级应用,只起初步引路作用,高手们可略过. 支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linu ...

  8. openwrt 刷回梅林或者原厂固件

    路由器刷了openwrt固件后,访问不了CFE恢复模式了.本人最近用腾达AC18路由器,刷了AC68U的梅林改版固件.但是后面再用CFE刷了openwrt固件之后,发现wifi不能用,所以又想刷回梅林 ...

  9. vue双向监听proxy

    console.log('判断页面是否有滚动条', this.hasScrollbar) const that = this that.count = 0 // 计数 that.scrollProxy ...

  10. 在java中new一个对象的流程是什么?

    Dog dog=new Dog()背后执行过程 这个涉及到字节码文件结构,类加载机制,堆,栈的认识等知识点. 在执行new的时候可以大致分为二个过程,初始化以及实例化,初始化就是类的加载过程,首先我们 ...