当前位置: 首页 > news >正文

算数操作符、赋值操作符、单目操作符、强制类型转换

一、算术操作符(+-*/%

+ - * / %操作符都是双⽬操作符,有**两个操作数**的符号就叫做双目操作符

   10   +   4|        ||        |
操作数1   操作数2// - % / * 以此类推

•操作符也被叫做:运算符

1. 符号+、符号 - 和 符号*

+ -* 分别用来完成加法减法乘法

在这里插入图片描述

2.符号/

•运算符/ ⽤来完成除法

2.1 整数除法

在这里插入图片描述

2.2浮点数(小数)除法

•下⾯⽰例中,尽管变量 a 的类型是 float (浮点数),但是 7 / 2 得到的结果是 3.000000,⽽不是3.500000 。原因就在于 C 语⾔⾥⾯的整数除法是整除只会返回整数部分丢弃⼩数部分在这里插入图片描述

•当我们希望得到的结果是浮点数,那么两个运算数之间必须至少有一个是浮点数!](https://i-blog.csdnimg.cn/direct/3493078dc4d4480a85930c8d247960ad.png)

3.符号%

•运算符 % 表⽰求模(余)运算,即返回两个整数相除的余值
•运算符%只能⽤于整数不能⽤于浮点数

3.1正数 和 负数 求模规则

•正数求模的规则与平常的运算一致
在这里插入图片描述

•负数求模的规则是,结果的正负号第⼀个运算数的正负号决定
在这里插入图片描述

二、赋值操作符 = 和 复合赋值操作符

1.赋值操作符=

•赋值操作符= 是⼀个随时可以给变量赋值的操作符
•在变量创建的时候给⼀个初始值叫初始化,在变量创建好后,再给⼀个值,这叫赋值,要注意区分初始化和赋值的概念

1  int a = 0; // 这是初始化
2  int b = 12; //这是初始化 
3  a = 12; //这是赋值,这里使用的是赋值操作符

2.连续赋值

1 int q = 2;
2 int w = 4;
3 int e = 0;
4 e = q = w - 2;// 连续赋值

•连续赋值写出的代码不容易理解,建议拆开来写,这样⽅便观察代码的执⾏细节,我们可以这样写

1 int q = 2;
2 int w = 4;
3 int e = 0;
4 e = q;
5 q = w - 2;

3.复合赋值符(+=-=*=/=%=

•符号+=

1 int a = 2;
2 int b = 4;
3  a = a + b;
4 //可以写成
5 a += b;

-= *= /= %= 同理

1 int a = 20;
2 int b = 2;
3 a -= b; //与 a = a - b;同理
4 a *= b; //与 a = a * b;同理
5 a /= b; //与 a = a / b;同理
6 a %= b; //与 a = a % b;同理

三、单目操作符(++--+-

•操作符只有⼀个操作数,被称为单⽬操作符。 ++、–、+(正)、-(负) 就是单⽬操作符

1.符号 ++

•在原先的值+1
在这里插入图片描述

1.1 前置++

•先+1,后使用

1 int a = 2;
2 int b = 0;
3  b = ++a;
4 // 相当于
5 a = a + 1;
6 b = a;
7 //那么 b 就等于 3

在这里插入图片描述
• 用 printf 演示(printf函数与++--符号有个有趣的特性https://blog.csdn.net/Siri_s12/article/details/144295304?spm=1001.2014.3001.5501)
在这里插入图片描述
++ 先运行a = 2 + 1 = 3,然后输出

1.2后置++

•先使用,再 +1

1 int a = 2;
2 int b = 0;
3  b = a++;4 // 相当于
5 b = a;
6 a = a + 1;
7 //那么 b 就等于 2

在这里插入图片描述
• 用 printf 演示(printf函数与++--符号有个有趣的特性https://blog.csdn.net/Siri_s12/article/details/144295304?spm=1001.2014.3001.5501)

在这里插入图片描述
•第一个printf函数先输出 a = 2 后,++运行 a = 2 + 1 = 3,所以第二个 printf输出的是3

2.符号--

•在原先的值-1

2.1前置--

•先 -1,再使用

1 int a = 2;
2 int b = 0;
3  b = --a;
4 // 相当于
5 a = a - 1;
6 b = a;
7 //那么 b 就等于 1

在这里插入图片描述
• 用 printf 演示(printf函数与++--符号有个有趣的特性https://blog.csdn.net/Siri_s12/article/details/144295304?spm=1001.2014.3001.5501)
在这里插入图片描述
-- 先运行 a = 2 - 1 = 1,然后输出

2.2后置--

•先使用,再-1

1 int a = 2;
2 int b = 0;
3  b = a--;4 // 相当于
5 b = a;
6 a = a - 1;
7 //那么 b 就等于 2

在这里插入图片描述
• 用 printf 演示(printf函数与++--符号有个有趣的特性https://blog.csdn.net/Siri_s12/article/details/144295304?spm=1001.2014.3001.5501)
在这里插入图片描述
•第一个printf函数先输出 a = 2 后,--运行 a = 2 - 1 = 1,所以第二个 printf输出的是1

3.符号+ 和符号-

+是正号,-是负号,都是单⽬操作符
•运算符 + 对正负值没有影响,是⼀个完全可以省略的运算符,但是写了也不会报错

1 int a = +2;
2 //相当于
3 int a = 2

•运算符 - ⽤来改变⼀个值的正负号(用法与日常数学相同),负数的前⾯加上 - 就会得到正数,正数的前⾯加上 - 会得到负数

1 int a = 2;
2 int b = -a;
3 int c = -2;
4 printf("b=%d c=%d\n", b, c);//这⾥的b和c都是-2
5 int a = -2;
6 int b = -a;
7 printf("b=%d\n", b); //这⾥的b是2

四、强制类型转换 (类型)

•先看一段代码
在这里插入图片描述
a的是int类型, 5.21是double类型,两边的类型不⼀致,编译器会报警告
•为了消除这个警告,我们可以使⽤强制类型转换
在这里插入图片描述
•这时编译器就不会报错了
•将 5.21 强制类型转换为int类型,这种强制类型转换只取整数部分
•强制类型转换都是万不得已的时候使⽤,如果不需要强制类型转化就能实现代码,最好不过。


http://www.mrgr.cn/news/94891.html

相关文章:

  • 宇数科技激光雷达L2
  • Linux中的基本指令(下)
  • 【Python 算法零基础 1.线性枚举】
  • 11 Collection集合、Map集合:分类、功能、遍历、底层原理,Stream流:获取、中间方法、终结方法 (黑马Java视频笔记)
  • C++进阶——AVL树的实现
  • unity基础——Navigation导航系统
  • windows ai本地化 部署常用Ollama软件详解
  • 4.JVM-垃圾回收介绍
  • Git——分布式版本控制工具使用教程
  • 流量分析实践
  • 函数(函数的概念、库函数、自定义函数、形参和实参、return语句、数组做函数参数、嵌套调用和链式访问、函数的声明和定义、static和extern)
  • AirtestIDE用法
  • 大数据学习(69)-数据架构
  • 蓝桥杯嵌入式赛道复习笔记2(按键控制LED灯,双击按键,单击按键,长按按键)
  • LeetCode Hot 100:1.两数之和、49.字母异位词分组、128.最长连续序列、283.移动零、11.盛水最多的容器
  • 11.anaconda中的jupyter使用、及整合dataspell
  • 【华为OD-E卷 -122 字符统计及重排 100分(python、java、c++、js、c)】
  • 微服务》》Kubernetes (K8S)安装
  • 【蓝桥杯每日一题】3.16
  • 使用Dependency Walker和Beyond Compare快速排查dll动态库损坏或被篡改的问题