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

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

C语言中操作符详解上

  • 放在最前面的
  • 1、算术操作符
    • (1.1)分类
    • (1.2)举例说明(上代码)
        • (a)+ (加法运算符)
            • 加法运算符的输出结果展示
        • (b)- (减法运算符)
            • 减法运算符的输出结果展示
        • (c)* (乘法运算符)
            • 乘法运算符的输出结果展示
        • (d)/ (除法运算符)
            • 除法运算符的输出结果展示1
            • 除法运算符的输出结果展示2
        • (e)% (取余/求模 运算符)
            • 取余/求模 运算符的输出结果展示
        • 总结:
  • 2、移位操作符
    • (2.1)补充:
    • (2.2)分类
    • (2.3)举例说明(上代码)
        • 左移
            • 原理图:
            • 运行结果:
        • 算术右移
            • 原理图:
            • 运行结果:
  • 3、位操作符(位是指的是 二进制位)
    • 提醒:
    • (3.1)分类(主要有三种)
    • (3.2)举例说明(上代码)
        • (a)按位 与
            • 原理图:
            • 运行结果:
        • (b)按位 异或
            • 原理图:
            • 运行结果:
        • (c)按位 或
            • 原理图:
            • 运行结果:
  • END

放在最前面的

🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼
🎉🎉我的C语言初阶合集:C语言初阶合集,希望能帮到你!!!😍 😍
👋🏼🎉🎊创作不易,欢迎大家留言、点赞加收藏!!! 🥳😁😍

1、算术操作符

(1.1)分类

1、+  (加法运算符) 
2、-  (减法运算符) 
3、*  (乘法运算符)
4、/  (除法运算符)
5、%  (取余/求模 运算符)

(1.2)举例说明(上代码)

(a)+ (加法运算符)
#include<stdio.h>int main()
{//加法运算符int a = 0;a = 1 + 2;//输出printf("a = %d\n", a);return 0;
}
加法运算符的输出结果展示

(b)- (减法运算符)
#include<stdio.h>int main()
{//减法运算符int a = 0;a = 20 - 10;//输出printf("a = %d\n", a);return 0;
}
减法运算符的输出结果展示

(c)* (乘法运算符)
#include<stdio.h>int main()
{//减法运算符int a = 0;a = 20 - 10;//输出printf("a = %d\n", a);return 0;
}
乘法运算符的输出结果展示

(d)/ (除法运算符)
  • 代码1
#include<stdio.h>//对于/操作符如果两个操作数都为整数,执行整数除法int main()
{//除法运算符int a = 0;//对于 / 操作符如果两个操作数都为整数,执行整数除法a = 20 / 10;//输出printf("a = %d\n", a);return 0;
}
除法运算符的输出结果展示1

  • 代码2
#include<stdio.h>//对于 / 操作符如果两个操作数只要有浮点数,执行的就是浮点数除法。int main()
{//除法运算符float a = 0.0f;a = 20 / 10.0;//输出printf("a = %f\n", a);return 0;
}
除法运算符的输出结果展示2

(e)% (取余/求模 运算符)
#include<stdio.h>int main()
{//(取余/求模 运算符)int a = 0;//% 操作符的两个操作数必须为整数。返回的是整除之后的余数。a = 20 % 11;//输出printf("a = %d\n", a);return 0;
}
取余/求模 运算符的输出结果展示

总结:

除了 %((取余/求模 运算符)操作符之外,其他的几个操作符(加法、减法、乘法和除法运算符) 可以作用于 整数 和 浮点数;


2、移位操作符

(2.1)补充:

🚀探索C语言里的数字魔法🔮 —— 二进制🔍、八进制🌈、十进制💰、十六进制✨,你想了解的都在这里!
点击下面的链接,一起揭开它们的神秘面纱吧!
🔗👉 C语言常见进制 (二进制、八进制、十进制、十六进制)详解 🚀

🎉 探索C语言神秘世界:原码、反码和补码大揭秘!🔍点击下面的链接,一起揭开它们的神秘面纱吧!
🔗👉 C语言原码、反码和补码的详解🚀

(2.2)分类

1、<< (左移操作符)
左边丢弃,右边补0


2、>> (右移操作符)
右移操作符可再分为两种

2.1、算术右移(常用的!编译器常采用的!)
右边丢弃,左边补原来的 符号位(正数 的符号位是 0,负数 的符号位是 1) 。
2.2、逻辑右移(不怎么用)
右边丢弃,左边直接补 0

(2.3)举例说明(上代码)

左移
#include<stdio.h>int main()
{//定义一个整型变量 a,并进行赋值int a = 6;//输出 a 的值printf("a = %d\n", a);//整型变量 a 左移 一位a = a << 1;//输出 a 左移 一位的值printf("a << 1 = %d\n", a);return 0;
}
原理图:

运行结果:

算术右移
#include<stdio.h>int main()
{//定义一个整型变量 a,并进行赋值int a = 6;//输出 a 的值printf("a = %d\n", a);//整型变量 a 算术右移 一位a = a >> 1;//输出 a 算术右移 一位的值printf("a >> 1 = %d\n", a);return 0;
}
原理图:

运行结果:

3、位操作符(位是指的是 二进制位)

提醒:

注:它们的操作数必须是整数。 也是针对二进制位(内存里的补码)进行计算的!

嘿小伙伴们!👋🏼 如果有人对C语言里的原码📜、反码🔄和补码🧩还感到一头雾水🤯,别急!😌 点击下面的链接🔗,让我们一起复习一下,把这些让人头疼的概念搞定吧!💪💡
C语言原码、反码和补码的详解
👋 如果有人对C语言里的常见进制(二进制🔍、八进制🌈、十进制🔟、十六进制🌟)还感到有点儿懵🤔,别害羞!赶紧点击下面的链接🔗,我们一起把这几个进制的小秘密揭开吧!🔍✨

C语言常见进制 (二进制、八进制、十进制、十六进制)详解

(3.1)分类(主要有三种)

位操作符 符号含义运算规则
1、&按位与对应的 二进制位有0,则为0,两个同时为1,才为1。
2、^按位 异或对应的 二进制位:相同为0,相异为1

3、 符号: |
含义: 按位 或(由于编辑器的原因,在表格上显示不了)
运算规则: 对应的二进制位 有1,则为1;两个同时为0,才为0。

(3.2)举例说明(上代码)

(a)按位 与
#include<stdio.h>int main()
{//定义一个整型变量 a,并进行赋值int a = 6;//定义一个整型变量 b,并进行赋值int b = 1;//变量 a 和 变量 b 进行按位与操作,并将结果赋值给整型变量 retint ret = a & b;//输出 a & b 的结果 retprintf("a & b = %d\n", ret);return 0;
}
原理图:

运行结果:

(b)按位 异或
#include<stdio.h>int main()
{//定义一个整型变量 a,并进行赋值int a = 6;//定义一个整型变量 b,并进行赋值int b = 1;//变量 a 和 变量 b 进行按位 异与操作,并将结果赋值给整型变量 retint ret = a ^ b;//输出 a ^ b 的结果 retprintf("a ^ b = %d\n", ret);return 0;
}
原理图:

运行结果:

(c)按位 或
#include<stdio.h>int main()
{//定义一个整型变量 a,并进行赋值int a = 6;//定义一个整型变量 b,并进行赋值int b = 1;//变量 a 和 变量 b 进行按位 与操作,并将结果赋值给整型变量 retint ret = a | b;//输出 a | b 的结果 retprintf("a | b = %d\n", ret);return 0;
}
原理图:

运行结果:

END

每天都在学习的路上!
On The Way Of Learning

“文章已读完📖,你是不是也和我一样有很多感触呢😃?无论是对文章内容的评价👍、建议🙌,还是你自己的相关经历故事📝,都可以毫不犹豫地在评论区留言哦😘。你的每一条留言都是对我最大的支持和鼓励💪,也会让这个交流空间更加丰富多彩🌈🎉!”


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

相关文章:

  • Python代码解析:处理JSON数据并导入Neo4j数据库
  • 004-Kotlin界面开发快速入水之TicTacToe
  • 快速解锁Rust Slice特性
  • 《CLR via C#》读书笔记--CLR的执行模型
  • 【工具分享】777勒索病毒解密工具
  • 阿里云k8s-master部署CNI网络插件遇到的问题
  • ExceptionHandler的实践
  • 搭子小程序定制开发:全新找搭子之旅
  • 2024年高校辅导员考试题库及答案
  • 工具导航网址
  • 理解Web登录机制:会话管理与跟踪技术解析(四)-拦截器Interceptor、异常处理
  • oracle服务器意外宕机数据库启动失败故障处理记录
  • 丹摩征文活动 | 带你玩转开源模型,一起来部署SD3+ComfyUI文生图模型
  • 开源项目工具:LeanTween - 为Unity 3D打造的高效缓动引擎详解(比较麻烦的API版)之二———补间动画控制API系列
  • 【DL】YOLO11 OBB目标检测 | 模型训练 | 推理
  • openlunar 通过uio驱动直接修改映射内存读写权限
  • 方正阀门实控人去年分红近亿元:仍募资补流2500万,市场服务费疑点重重
  • 【人工智能】ChatGPT多模型感知态识别
  • 丹摩征文活动|详解 DAMODEL(丹摩智算)平台:为 AI 开发者量身打造的智算云服务
  • PyQt5实战——翻译的实现,成功爬取微软翻译(可长期使用)经验总结(九)
  • 初识网络编程TCP/IP
  • vue反向代理配置及宝塔配置
  • 【从零开始】5. 向量数据库选型与搭建
  • 在python中,什么是库?
  • 微服务架构面试内容整理-Archaius
  • 丹摩征文活动|FLUX.1图像生成模型:AI工程师的创新实践