C语言之运算符用法(补充前面运算符中的不足)

简介: C语言之运算符用法(补充前面运算符中的不足)

设定:int X=20,Y=10

1、算术运算符

59576d52eb3b483d8030aec362b453de.png


注:自增和自减运算符只能用于变量,不可用于常量或表达式。另,++X与X++是不同的(–亦同)。以语句a[x]=100;为例:

a[X++]=100;执行之后得到:a[20]== 100、X== 21。//即,先执行该语句,X再自加1。

a[++X]=100;执行之后得到:X== 21、a[21]== 100。//即,X先自加1,再执行该语句。

再注:关于 '/ '运算符,两个实数相除,得到的是一个双精度实数;两个整数相除,结果为整数,舍弃小数部分。但是如果两个数中有一个为负数,舍入的方向是不固定的。如 -5/3,有的系统结果是 -1,有的是 -2。但多数C编译系统采取“向零取整”的方法,即取整后向零靠拢。

2、关系运算符

44053cc6bcaa45ad9a253099ffeedea4.png

3、逻辑运算符

f3fd79d4cf4f4c349d862a55d5aeca49.png

注:C语言一般0为假,非0为真

注:关于||运算符,如果左边的为真,则右边的表达式就不会被执行了,比如 x=y=1, t=++x||++y,的到的结果是t=1,x=2,y=1。因为++x为真,所以无论++y结果如何,表达式++x||++y的结果都为真。

设定: A=5== 00000101

   B=10== 00001011

4、赋值运算符

注:第三行 C-=A 应该是相当于 C=C-A,另第二行 多了一个 x

3be03024c0ef4f9a96b726d24b779a70.png

5、位运算符

12ad12fbf367493bbec2df9047a4d903.png

注:左移运算符左移一位相当于乘二,其效率比乘以2的效率高。左移其右边自动补零,右移其左边补符号位

其他运算符


6、补充

求字节数运算符:sizeof

强制类型转换运算符:(类型)

下标运算符:[ ]

函数调用运算符:( )

7、优先级简记

初等运算符(() [] -> .) > 单目运算符 > 算术运算符 > 关系运算符 >( && > ||)> 条件运算符 > 赋值运算符 > 逗号运算符

8、 一览表

57f521109f9c4218ad583606266c9b12.png

本章终


相关文章
|
2月前
|
C语言
C语言判断逻辑的高阶用法
在C语言中,高级的判断逻辑技巧能显著提升代码的可读性、灵活性和效率。本文介绍了六种常见方法:1) 函数指针,如回调机制;2) 逻辑运算符组合,实现复杂条件判断;3) 宏定义简化逻辑;4) 结构体与联合体组织复杂数据;5) 递归与分治法处理树形结构;6) 状态机管理状态转换。通过这些方法,可以更高效地管理和实现复杂的逻辑判断,使代码更加清晰易懂。
226 88
|
2月前
|
C语言
C语言判断和运算符联系
在 C 语言中,判断与运算符紧密相关,主要体现在条件表达式的使用上。
191 87
|
2月前
|
安全 C语言
C语言运算符的使用注意点
在C语言中,正确使用运算符能提升代码的可读性和效率。本文介绍了八大注意事项:运算符优先级和结合性影响运算顺序;自增/自减运算符分前缀和后缀形式;逻辑运算符有短路特性;位运算符直接操作二进制位需谨慎;条件运算符简洁但避免复杂嵌套;类型转换避免意外结果;使用括号明确运算顺序。掌握这些要点有助于编写更安全高效的代码。
181 72
|
30天前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
37 3
|
1月前
|
C语言
C语言条件运算符详解
C语言条件运算符,也称为三元运算符,是一种简化if-else语句的表达式,形式为:条件?表达式1:表达式2。当条件为真时,计算并返回表达式1的值;否则计算并返回表达式2的值。它可用于快速实现简单的条件分支逻辑。
|
2月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
46 4
|
2月前
|
程序员 C语言
【C语言基础考研向】06运算符与表达式
本文介绍了C语言中的运算符分类、算术运算符及表达式、关系运算符与表达式以及运算符优先级等内容。首先概述了13种运算符类型,接着详细说明了算术运算符的优先级与使用规则,以及关系运算符和表达式的真假值表示,并给出了C语言运算符优先级表。最后附有课后习题帮助巩固理解。
104 10
|
2月前
|
存储 编译器 C语言
【C语言基础考研向】07逻辑运算符与赋值运算符
本文介绍了C语言中的逻辑运算符与逻辑表达式、赋值运算符以及求字节运算符`sizeof`。逻辑运算符包括`!`(逻辑非)、`&&`(逻辑与)和`||`(逻辑或),其优先级规则与数学运算符类似。通过示例展示了如何用这些运算符判断闰年及逻辑非的运算方向。此外,文章还解释了左值与右值的概念及其在赋值运算中的应用,并介绍了复合赋值运算符的使用方法,如加后赋值`+=`和乘后赋值`*=`。最后,通过`sizeof`运算符示例展示了如何获取变量的字节大小。
|
3月前
|
C语言
C语言------运算符与表达式
这篇文章是C语言运算符与表达式的实训教程,通过多个示例程序展示了如何使用算术运算符、关系运算符、逻辑运算符以及条件语句来解决实际问题,并介绍了如何通过函数库简化复杂数学运算。
C语言------运算符与表达式
|
3月前
|
存储 缓存 编译器
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(下篇)
scanf处理⽤⼾输⼊的原理是,⽤⼾的输⼊先放⼊缓存,等到按下回⻋键后,按照占位符对缓存进⾏解读。 解读⽤⼾输⼊时,会从上⼀次解读遗留的第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件的字符为⽌。
149 2