iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言的运算符你了解吗
  • 348
分享到

C语言的运算符你了解吗

2024-04-02 19:04:59 348人浏览 独家记忆
摘要

目录前言一、算数运算符(数学运算) + -* / %二、逻辑运算符(判断真假)|| &&> >= < <=!? : 

前言

自学笔记,没有历史知识铺垫(省略百度部分)C语言运算符的使用

一、算数运算符(数学运算) 

+ -

左右数据同一数据类型

* / %

注意

乘/除法在很多CPU中无法实现,或者需要多个CPU周期去实现嵌入式开发中,乘/除法可能需要第三方乘法库才能实现乘/除法可能导致程序的移植性变差

%取模 场景:

获取范围数值时,如:int result=(x%100)+1; 则result值的范围为[1.100]得到m进制的个位数,如8进制个位数: int a=x%8;介于取模的特性,可以用在循环数组结构中获取下标,0,1,2,3,0,1,2,3,0,1,2…

二、逻辑运算符(判断真假)

|| &&

逻辑或 逻辑与

> >= < <=

大于 大于等于 小于 小于等于

!

? : 三元运算符

三元运算符

三、位运算符(重点) 

<< 左移

运算场景:
左移1位,数据=数据2
m左移n位,m=m2ⁿ

>> 右移

运算场景:
右移1位,数据=数据/2
m右移n位,m=m/2ⁿ

注意:
signed和unsigned的右移动是不同的
signed修饰的变量的右移做while条件且变量为负数时,while会进入死循环(因为最高位=1,是符号位,永远无法右移为0)

& | ^ ~ 与 或 异或 取反

& 与
bit中任意一位与0相&,该位都为0
场景:

屏蔽清零器 a=a | (~(0x1<<n))

int a=0x1234;
//屏蔽低8位
a=a& 0xff00;

int a=0x1234;
//清零器,清除bit第五位的高电平,转为低电平,其他位不变
a=a & (~(0x1<<5));

| 或
bit中任意一位与1相|,该位都为1
场景:

保留/设置:设置高电平的方法,如设置指定位为高电平,其他位不变 a=a | (0x1<<n)

int a=3;
//使用左移可以更方便快速的让第五位bit处于高电平,而且不影响其他位(嵌入式中bit最右边通常读作第0位)
a= a| (0x1<<5)

^ 异或
相同为0,不同为1
1.通常用于数据加密算法,AES SHA1等
2.数据交换(排序中的一种方法)

a=a^b;

b=a^b;
a=a^b;

~ 取反
按位取反

四、赋值运算符

= += -= &= ...
赋值运算实际上是组合运算的缩写,非原子性操作,volatile内存可见特性会失效(实际上执行了两步,只靠volatile无法解决)

五、内存访问符号

 () 限制符/函数访问符

1.限制符


(a+b)*c

1.函数访问符


void fun();

[] 内存访问ID符

内存访问ID符(C语言中并不局限于数组的访问,通过指针可以访问整个内存空间)


a[0]
a[1]

{} 函数体限制符

函数体限制符

-> 地址访问符 

.变量访问符 

&取址符


&a;

*取值符


*a;

总结

本章主要为C语言运算符的使用

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C语言的运算符你了解吗

本文链接: https://www.lsjlt.com/news/133724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言的运算符你了解吗
    目录前言一、算数运算符(数学运算) + -* / %二、逻辑运算符(判断真假)|| &&> >= < <=!? : ...
    99+
    2022-11-12
  • C++的运算符你真的了解吗
    目录前言1 算术运算符2 赋值运算符3 比较运算符4 逻辑运算符总结前言 运算符的作用:用于执行代码的运算 主要有: 1 算术运算符 用于处理四则运算 对于前置递增:将递增运算前...
    99+
    2022-11-13
  • C++重载运算符你真的了解吗
    目录1.重载运算符的必要性2.重载运算符的形式与规则3.重载运算符的运算4.转义运算符总结运算符实际上是一个函数,所以运算符的重载实际上是函数的重载,。编译程序对运算符的重载的选择,...
    99+
    2022-11-13
  • c语言有开根号运算符吗
    这篇文章主要介绍“c语言有开根号运算符吗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“c语言有开根号运算符吗”文章能帮助大家解决问题。在c语言中,没有开根号运算符,开根号使用的是内置函数“sqrt(...
    99+
    2023-07-05
  • C 语言的弱符号与弱引用你了解吗
    目录C语言中的__attribute__((weak)) 与 attribute ((weakref())弱符号弱符号的作用与示例弱引用测试代码1:测试代码2:总...
    99+
    2022-11-13
  • C语言运算符的重载详解
    目录运算符重载的规则 1. 运算符重载为成员函数2. 运算符重载为非成员函数        ...
    99+
    2022-11-13
  • C语言的字符空间与非字符空间你了解吗
    目录前言一、字符空间与非字符空间概念二、字符空间三、非字符空间四、void * 非字符空间形参化总结前言 自学笔记,没有历史知识铺垫(省略百度部分)C语言字符空间与非字符空间 一、字...
    99+
    2022-11-12
  • C语言的strcpy函数你了解吗
    目录strcpy函数原型参数讲解返回值详解函数详解第二个注意点:目标空间必须足够大,以确保能存放源字符串第三个注意点:目标空间必须可变总结strcpy 拷贝字符串到目标地址 函数原...
    99+
    2022-11-13
  • C语言的结构体你了解吗
    目录结构体内存对齐结构体传参结构体实现位段什么是位段位段在内存中的存储位段的问题总结结构体内存对齐 当我们创建一个结构体变量时,内存就会开辟一块空间,那么在创建结构体变量时内存到底是...
    99+
    2022-11-13
  • C语言算术运算符整理
    下表列出了C语言中的算术运算符。 运算符操作-减法+加法*乘法/除法%模量--递减++增量 当应用/到整数或字符时,任何余数都将被截断。 例如,5/2将在整数除法中等于2。模数运算符...
    99+
    2023-03-09
    c语言运算符
  • C语言的多级指针你了解吗
    目录前言一、多级指针概念二、多级指针的使用1.二维指针总结前言 自学笔记,没有历史知识铺垫(省略百度部分)C语言了解多级指针的使用 一、多级指针概念 指向指针的指针 即:存放地址的...
    99+
    2022-11-12
  • c语言中的移位运算符
    移位运算符在程序设计中,是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。 c语言中提供了两种移位运算符: 左移运算符:<< 右移运算符:>&...
    99+
    2022-11-12
  • C语言的常量,字符串,转义字符,注释你都了解吗
    目录四种常量:字符串:转义字符注释总结四种常量: 1.字面常量 如数字100,‘a’ 2.const修饰的常变量 const int n = 10 //常变量...
    99+
    2022-11-13
  • python的运算符与表达式你真的了解吗
    目录一、表达式二、运算符1、算术运算符2、赋值运算符3、比较运算符4、逻辑运算符5、成员关系运算6、对象实例测试7、位运算8、一元运算 :三、python运算符优先级 1、...
    99+
    2022-11-12
  • C语言中的柔性数组你了解吗
    目录1.什么是柔性数组2.柔性数组应该如何使用3.柔性数组的替代方案及内存分布对比4.柔性数组有哪些优点总结1.什么是柔性数组 柔性数组就是大小可以变化的数组。 注意跟C99中的变长...
    99+
    2023-05-15
    C语言柔性数组使用 C语言 柔性数组 C语言 数组
  • C/C++编程语言中的指针(pointer)你了解吗
    目录1What2用法示例2.1示例总结1 What 指针,是 C/C++ 编程语言中的一个重要概念。指针通常可以理解为内存地址,而指针变量就是用来存放内存地址的变量。在同一 CPU ...
    99+
    2022-11-13
  • C语言的分支和循环语句你了解吗
    目录1、什么是语句?2、分支语句(选择结构)2.1、if语句2.2、switch语句2.2.1、switch语句中的break2.2.2default子句3、循环语句3.1、whil...
    99+
    2022-11-13
  • 一篇文章带你了解c++运算符重载
    目录友元函数重载:复合赋值Operator pairings自增自减运算符的重载c++20,spaceship operator总结友元函数 一种全局函数,可以在类里声明,其他地方定...
    99+
    2022-11-12
  • C语言运算符与表达式
    目录表达式函 数 概 述赋值运算符与赋值表达式变量赋初值自动类型转换强制类型转换算数运算符与表达式算术运算符算术表达式优先级与结合性自增自减运算符关系运算符与表达式优先级与结合性逻辑...
    99+
    2022-11-13
  • 如何使用C语言运算符
    这篇文章主要介绍“如何使用C语言运算符”,在日常操作中,相信很多人在如何使用C语言运算符问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用C语言运算符”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!&n...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作