IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言——操作符详解(上) -> 正文阅读

[C++知识库]C语言——操作符详解(上)

C语言——操作符详解(上)

操作符的分类

C语言中的操作符主要分为算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。我将分成三篇文章为大家详细介绍以上所有操作符。

操作符详解:

算术操作符

算术操作符主要有以下五种 + - * / %。下面为部分代码示例
+

#include<stdio.h>
int main()
{
	int a = 20;
	int b = 10;
	printf("%d\n", a + b);
	return 0;
}

运行结果:
在这里插入图片描述
-

#include<stdio.h>
int main()
{
	int a = 20;
	int b = 10;
	printf("%d\n", a - b);
	return 0;
}

运行结果:
在这里插入图片描述
*

#include<stdio.h>
int main()
{
	int a = 20;
	int b = 10;
	printf("%d\n", a * b);
	return 0;
}

运行结果:
在这里插入图片描述
%

#include<stdio.h>
int main()
{
	int a = 20;
	int b = 10;
	printf("%d\n", a % b);
	return 0;
}

运行结果:
在这里插入图片描述
/

#include<stdio.h>
int main()
{
	int a = 20;
	int b = 10;
	printf("%d\n", a / b);
	return 0;
}

运行结果:
在这里插入图片描述
算术操作符的注意事项:

  1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
  2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。如:
#include<stdio.h>
int main()
{
	int a = 20;
	float b = 3.0;
	printf("%.2f\n", a / b);
	return 0;
}

运行结果:
在这里插入图片描述
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。

移位操作符

移位操作符主要包含有:<<( 左移操作符) >> (右移操作符)
注意:移位操作符的主要对象为整数类型
在学习移位操作符之前,我们需要先了解进制的表达形式,整数的2进制表达形式有3种,分别为原码、反码、补码。内存中存储的起始是:补码的二进制。所以在参与移位操作的时候,移动后都是补码。
按照一个数的正负,直接写出它的二进制表示形式得到的就是原码。
正数
正数的原码、反码、补码是相同的
负数
负数的反码和补码需要通过计算得到结果
①负数的反码是原码的符号位不变,其他位按位取反,就是反码
②负数的补码是反码+1
③0表示为正,1表示为负

由于整型为4个字节,占32个bit。
eg:

int a=10;
//原码00000000000000000000000000001010
//反码00000000000000000000000000001010
//补码00000000000000000000000000001010
int a=-10;
//原码:10000000000000000000000000001010
//补码:11111111111111111111111111110101
//反码:11111111111111111111111111110110

左移操作符

左移操作符的移位规则为:左边抛弃,右边补0

#include <stdio.h>
int main()
{
	int a = 10;
	int b = a << 1;
	printf("%d\n", b);
	return 0;
}

详解过程:
在这里插入图片描述
运行结果:
在这里插入图片描述
对于负数来说‘

#include <stdio.h>
int main()
{
	int a = -10;
	int b = a << 1;
	printf("%d\n", b);
	return 0;
}

详解过程:
在这里插入图片描述
运行结果:
在这里插入图片描述

右移操作符

右移操作符分为两种,分别是:
①、逻辑移位:左边用0填充,右边丢弃
②、算术移位:左边用原该值的符号位填充,右边丢弃

#include <stdio.h>
int main()
{
	int a = -10;
	int b = a >>1;
	printf("%d\n", b);
	return 0;
}

运行结果:
在这里插入图片描述

位操作符

位操作符分别有:

& //按位与
| //按位或
^ //按位异或

他们也是针对二进制位进行计算的
注:他们的操作数必须是整数。
①、 &
规则为:对应的二进制位有0,则为0,两个同时为1,才为1

#include<stdio.h>
int main()
{
	int a = 2;
	int b = -1;
	printf("%d\n", a & b);
	return 0;
}

运行结果:
在这里插入图片描述
②、|
规则为:对应的二进制位有1则为1,两个同时为0则为0

#include<stdio.h>
int main()
{
	int a = 3;
	int b = -5;
	printf("%d\n", a | b);
	return 0;
}

运行结果:
在这里插入图片描述

③、^
规则为:按2进制位异或,对应的二进制位:相同为0,相异为1

#include<stdio.h>
int main()
{
	int a = 3;
	int b = -5;
	printf("%d\n", a ^ b);
	return 0;
}

运行结果:
在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:47:31  更:2022-12-25 10:50:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/24 6:14:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码