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. 10.14 2020 实验 7:OpenDaylight 实验——Python 中的 REST API 调用

    一.实验目的  对 Python 调用 OpenDaylight 的 REST API 方法有初步了解.   二.实验任务  本实验需要用另一种方法完成上一个实验相同的功能,即通过 Python 程序 ...

  2. 面试题:int[] arr 和 int... arr在参数列表中是一回事儿吗?

    public class Exer { public static void main(String[] args) { Base1 b1 = new Sub1(); b1.add(1,2,3); } ...

  3. Adams:导出动画

    1 首先模型在adams里能正常运动,点击start simulation仿真一遍. 2 然后在界面上按F8进入Plotting界面. 3 在左上角把Plotting换成Animation. 4 然后 ...

  4. Tensorflow learning notebook

    How does tensorflow work 原著blog https://jacobbuckman.com/#posts

  5. python实现简单猜数字游戏

    #!/usr/bin/env python import os import random import sys import time def yanse(s): print('\033[25;31 ...

  6. Matlab - 在Figure中调整X轴到x=0,y=0处

    原图 调整 选中图像后打开属性编辑器,将X轴位置修改为原点. 结果

  7. 学习记录--C++文件读入与存储

    C++中对文件操作需要包含头文件<fstream> 操作文件的三大类:1.ofstream写操作 2.ifstream读操作 3.fstream读写操作 一.写文件步骤 1.包含头文件 # ...

  8. 学习记录--C++组合+依赖+依赖倒置

    组合关系:表示类之间的关系是整体与部分的关系.即has a / contains a的关系 在面向对象程序设计中,将一个复杂对象分解为简单对象的组合. 在代码中,体现为将一个或多个类的对象作为另一个类 ...

  9. luffy项目全局配置

    一:media文件夹配置 settings.dev下配置media文件夹,暴露资源 media_path=BASE_DIR.parentMEDIA_ROOT=Path(media_path).join ...

  10. mysql索引类型详解

    转载网址: http://c.biancheng.net/view/7897.html