【C】操作符详解

这篇具有很好参考价值的文章主要介绍了【C】操作符详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


今天给大家带来一篇关于C语言操作符的详细介绍,在C语言中操作符主要有以下几种:

1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
6.关系操作符
7.逻辑操作符
8.逗号表达式
9.条件操作符
9.下标引用,函数调用和结构成员

接下来给大家详细介绍!

算术操作符

+ - * / %

其中加法和减法和数学中的一样,乘法在C语言中是*表示的,剩下的也和数学中是一样的。
在C语言中除法分为整数除法和小数除法,整数除法/两遍都得是整数,而小数除法/两边只要有一个小数就可以了。列如:

#include <stdio.h>

int main()
{
	printf("%d\n", 2 / 3);
	printf("%lf\n", 2 / 3.0);
	printf("%lf\n", 2.0 / 3.0);
	printf("%lf\n", 2.0 / 3);
	return 0;
}

代码运行结果:
【C】操作符详解,c语言,开发语言
还有一个%取余操作符,就是求余数,这个操作符需要注意的事,符号两边都必须是整数,不可以是浮点数!

移位操作符

<< 左移操作符
>> 右移操作符

移位操作符操作的是我们的二进制位,所以在这里给大家补充一个知识点,原码、反码、补码。
对于一个有符号的整数来说,二进制为的最高位为符号位。
正数的原码、反码、补码都相同。
负数的原码就是按二进制的形式写出来就行。反码就是符号位不变,剩下的按位取反,补码就等于反码加1。

左移操作符就是所有的二进制位向左移动,左边的丢弃,右边补0。
右移运算分为两种:

  1. 逻辑移位 左边用0填充,右边丢弃
  2. 算术移位 左边用原该值的符号位填充,右边丢弃

代码演示

#include <stdio.h>

int main()
{
	printf("%d\n", 5 >> 1);
	printf("%d\n", 5 << 1);
	return 0;
}

代码运行结果:
【C】操作符详解,c语言,开发语言
对于移位运算符,不要移动负数位,这个是标准未定义的。

位操作符

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

位操作符操作的也是二进制位。
&操作符,两个数二进制位对应的都是1才是1,只要有0就是0。
| 操作符,两个数二进制位对应的都是0才是0,只要有1就是1。
^操作符,两个数二进制位相同为0,相异为1。
代码演示:

#include <stdio.h>

int main()
{
	printf("%d\n", 1 & 2);
	printf("%d\n", 1 | 2);
	printf("%d\n", 1 ^ 2);
	printf("%d\n", 1 ^ 2 ^ 1);
	printf("%d\n", 1 ^ 1 ^ 2);

	return 0;
}

运行结果
【C】操作符详解,c语言,开发语言
从运行结果我们也可以看出,^操作符满足交换律。

赋值操作符(=)

赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以给自己重新赋值。

复合赋值操作符

+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=

这些运算符都可以写成复合的效果。
例如a+=b就等价于a=a+b。

单目操作符

! 逻辑反操作

- 负值

+ 正值

& 取地址

sizeof 操作数的类型长度(以字节为单位)

~ 对一个数的二进制按位取反

– 前置、后置–
++ 前置、后置++*
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换

sizeof(数组名)计算的是整个数组所占空间的大小
这里重点讲一下前置++和后置++,–跟它同理。
前置++,变量先加1在使用。
后置++,先使用变量的值,在加1。
解引用操作符可以拿到指针指向的那个内容。

关系操作符

>
>=
<
<=
!= 用于测试“不相等”

== 用于测试“相等

这些关系运算符比较简单,没什么可讲的。

逻辑操作符

&& 逻辑与
|| 逻辑或

&&两边都为真才为真,否则为假,如果左边为假,右边就不进行运算了。
|| 两边都为假才为假,都则为真,如果左边为真,右边就不进行运算了。

逗号表达式

exp1, exp2, exp3, …expN

逗号表达式,会从左向右依次计算,最后一个表达式的值为最终表达式的值。
代码演示

#include <stdio.h>

int main()
{
	int num = 0;
	num = (3 + 2, 2 + 4, 5 + 5);
	printf("%d\n", num);
	return 0;
}

运行结果
【C】操作符详解,c语言,开发语言

条件操作符

exp1 ? exp2 : exp3

这个操作符,如果exp1为真,就运算exp2为最终结果,否则exp3为最终结果。
比如我们求两个数最大值:

max = (a > b ? a : b);

下标引用,函数调用和结构成员

1.[ ] 下标引用操作符
操作数:一个数组名 + 一个索引值
2.( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员
. 结构体.成员名。
-> 结构体指针->成员名。

操作符的优先级

【C】操作符详解,c语言,开发语言

今天的分享就到这里结束了,感谢大家的关注和支持。文章来源地址https://www.toymoban.com/news/detail-521627.html

到了这里,关于【C】操作符详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言---操作符详解

    算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号操作符 下标引用、函数调用和结构成员。 移位操作符,移动的是二进制位。 警告:对于移位运算符,不要移动负位数,这个是标准定义的。 3.1.1、原码、反码、补码介绍 整数

    2024年02月07日
    浏览(30)
  • 【c语言操作符系列1】^(异或操作符)讲解和多种例题详解

    目录 一、^ 是什么(^称为异或) 二、^的规律(特点) 三、可利用^秒杀的常见例题(重点) 1、消失的数字  2、不一样的人生密码 3、交换两个数(不能创建中间变量) 4、找出只出现一个的两个数字 是一种操作符, 针对二进制异或而言的 ,两个数对应的二进制位相同,异或

    2024年02月16日
    浏览(57)
  • C语言操作符详解(下)

    在C语言操作符详解(上)中,已经详细系统的介绍了各种操作符及其使用场景。 接下来,本文将逐步介绍编译器执行这些代码背后所做的事情、操作符优先级、结合性以及求值顺序! 表达式求值的顺序一部分是由 操作符的优先级和结合性决定。 同样,有些表达式的操作数在

    2024年02月05日
    浏览(30)
  • c语言:操作符详解(上)

    算术操作符: + 、- 、* 、/ 、% 移位操作符: 位操作符: | ^ 赋值操作符: = 、+= 、 -= 、 *= 、 /= 、%= 、= 、= 、= 、|= 、^= 单目操作符: !、++、–、、*、+、-、~ 、sizeof、(类型) 关系操作符: 、= 、 、= 、 == 、 != 逻辑操作符: 、|| 条件操作符:? : 逗号表达式: , 下标引用:

    2024年03月16日
    浏览(31)
  • 【 c 语言 】赋值操作符详解

    🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 引言: 在C语言编程中,赋值操作符是我们日常编程中不可或缺的一部分。它不仅是初始化变量、修改

    2024年04月09日
    浏览(28)
  • 初阶C语言——详解操作符(1)

    Hello,我们又见面了,最近不知道大家是否在持续输出代码呢?代码能力是否提高了呢?今天让我们来一起学习操作符,操作符在我们学习语言中很重要,我们要知道每个操作符的作用和用法,下面开始我们的学习。 操作符分类: 算术操作符 移位操作符 位操作符 赋值操作符

    2024年02月12日
    浏览(28)
  • 初阶C语言-操作符详解(上)

    “不飞则已,一飞冲天;不鸣则已,一鸣惊人。” 今天,我们一起来学习一下操作符的相关知识。 算术操作符 + - * / % 移位操作符 位操作符 | ^ 赋值操作符 = += -= *= /=... 单目操作符 ! sizeof ++ -- ... 关系操作符 = = == != 逻辑操作符 || 条件操作符 ? : 逗号表达式 , 下标引用、函数

    2024年02月13日
    浏览(27)
  • C语言最全操作符详解✌️

    C语言的一系列操作符中,其中一组叫双目操作符,也叫算数操作符。分别是:+,–,*,/,%。 ①+和– +和–的用途与数学中基本一致,用来做加法和减法。例如: 我们可以发现,他们之所以叫双目操作符,是因为他们的左边和右边一共有两个操作数。 ②* *运算符也与数学

    2024年02月21日
    浏览(29)
  • 初阶C语言-操作符详解(下)

    🌞 “等春风得意,等时间嘉许!” 接下来,我们把操作符没学完的继续学完! 📖我们来看一下下面这段代码: 关系操作符: = = !=(用于测试不相等) ==(用于测试相等) 注:不要把 == 和 = 混起来❗ ✅ == 用于测试相等, = 用于赋值。 📖逻辑操作符: (逻辑与操作符)

    2024年02月13日
    浏览(29)
  • 爱上C语言:操作符详解(上)

    🚀 作者:阿辉不一般 🚀 你说呢: 生活本来沉闷,但跑起来就有风 🚀 专栏:爱上C语言 🚀 作图工具:draw.io ( 免费开源的作图网站) 如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!! 大家好啊😉!今

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包