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. 图的基本操作 (c语言)

    图的基本操作:创建 删除 遍历 创建:邻接矩阵和邻接表 十字链表 下面代码是邻接矩阵的定义和邻接表的创建 遍历:深度优先遍历(一条路走到黑) 广度优先遍历(树的层次遍历) 具体代码: #include ...

  2. MySQL数据库性能优化的八种方式

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  3. 在VS中使用Wind数据终端API的经验(一)

    因工作需要,使用vs2019来调用Wind金融终端API数据接口.具体步骤按照wind的帮助文档一步步做下来.这里提一下和帮助文档不同的地方. Windows Console APP下,编译项目后出现 ...

  4. PHP接受json数据

    PHP接受json数据 获取请求的参数 $input = file_get_contents("php://input"); $input = json_decode($input ...

  5. 更新kubeadm kubernets平台证书

    证书过期失效: Unable to connect to the server: x509: certificate has expired or is not yet valid 更新证书: 1.查 ...

  6. Hive启动留下的RunJar进程不能使用Kill -9 杀不掉怎么办?

    1.问题示例 [Hadoop@master Logs]$ jps 3728 ResourceManager 6976 RunJar 7587 Jps 4277 Master 3095 NameNode ...

  7. Python第六章实验报告

    一.实验内容:<零基础学Python>第六章实例和实战,以及一道作业题 二.实验环境:IDLE Shell 3.9.7 三.实验目的和要求:掌握定义和调用函数.变量的作用域.匿名函数.参数 ...

  8. 【Leetcode】 剑指offer:链表(简单)--Day02

    剑指Offer 06. 从尾到头打印链表 可借助栈. 或先遍历列表得到元素数,开辟数组空间倒序填入. 剑指 Offer 24. 反转链表 可借助栈: class Solution { public L ...

  9. .Net中跨域问题的解决方案

    开发中前端与后端完全分离并分开发布,遇到跨域问题,一通百度之后,解决方案如下: 把下面的代码放在web.config文件中的 System.WebServer 节点下 <httpProtocol ...

  10. (3)这是一个简单的html页面,请保持为字符串,完成后面的计算要求。

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...