C语言基础知识:操作符详解(附操作符优先级及结合性一览表)(上)

简介: C语言基础知识:操作符详解(附操作符优先级及结合性一览表)

一.操作符的分类

1.算数运算符

算数运算符很简单,就是我们平时用的加减乘除再加个取模操作符( +  -  *  /  %)。

需要注意的是 % 操作符,它是一个双目操作符,使用它需要两个操作数,且这两个操作数都必须得是整数;

/ 如果没作说明,则两数相除得到得就是商,例如 5/2=2,5.0/2.0=2.5。这也是初学者常常忽略的地方,使用时要特别注意。

2.移位操作符

<<  左移操作符 : 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)例子:

>> 右移操作符:将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,即左边补符号位,右边丢弃。

注意移位操作符的操作数只能是整数,且不要移动负数位,这个标准是未定义的

如:2<<-1  x

3.位操作符

& 按位与:两个操作数的对应的二进制位如果都是1,则为1,其他都为0。

例:

| 按位或:两个操作数的对应的二进制位如果有1个1,计算结果就为1,两个都是0,才是0;

^ 按位异或:两个操作数的对应的二进制位如果相同则为0,不相同则为1.

规律:a^a=a;

          a^0=0;

4.赋值操作符

就是一个等于号 ( = ),在C语言中一个等于号表示的是赋值,两个等于号才是判断等于,这点也经常被忽略。

复合运算符:+=  -=  *=  /=  %=.....  理解的方法 a+=1  ==  a=a+1

5.单目操作符

! 逻辑反操作:用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假;

例:!(A && B) 为真;

-   负值;

+  正值;

&  取地址运算符;

*  间接访问操作符也叫解引用操作符;

这个操作符和 & 操作符经常应用在指针中。

sizeof   :计算操作数的类型长度,单位是字节,返回值是无符号整型;

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

-- 和 ++ :他们都分为前置++(--)和后置++(--);

前置++(--)是先++,再赋值;

后置++(--) 是先赋值,再++(--);

例子:

(类型) 强制类型转换;

能将一个类型强制转换成另一个类型,具体使用方法请看下图:

注意这里的类型转换是不符合四舍五入规则的

6.关系操作符

>       >=      <=        

!=   用来测试“ 不想等 ”

==  用来测试“ 相等 ”

7.逻辑操作符

&&  逻辑与:相当于“ 且 ”,两边都为真时,才为真;

例:1&&0 为假;

||   逻辑或:相当于“ 或 ”,只要有一边为真,则为真;

例:1||0  为真;

注意:区分逻辑与 && 和按位与 &;

          区分逻辑或  ||  和按位或  |;

1&2==0

1&&2==1

1|0==1

1||0==1

目录
相关文章
|
11天前
|
存储 网络协议 C语言
【C语言】位操作符详解 - 《开心消消乐》
位操作符用于在位级别上进行操作。C语言提供了一组位操作符,允许你直接操作整数类型的二进制表示。这些操作符可以有效地处理标志、掩码、位字段等低级编程任务。
53 8
|
11天前
|
C语言
【C语言】符号优先级详解 -《谁与争锋 ! 》
理解C语言中的运算符优先级和结合性是编写正确代码的关键。本文详细介绍了C语言中的各种运算符、它们的优先级和结合性,并通过示例展示了如何正确使用这些运算符。掌握这些知识,将有助于编写出逻辑严谨、结构清晰的C语言程序。
42 8
|
11天前
|
C语言
【C语言】逻辑操作符详解 - 《真假美猴王 ! 》
C语言中有三种主要的逻辑运算符:逻辑与(`&&`)、逻辑或(`||`)和逻辑非(`!`)。这些运算符用于执行布尔逻辑运算。
49 7
|
4月前
|
存储 C语言 索引
【C语言篇】操作符详解(下篇)
如果某个操作数的类型在上⾯这个列表中排名靠后,那么⾸先要转换为另外⼀个操作数的类型后执⾏运算。
80 0
|
2月前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
44 10
|
2月前
|
编译器 C语言
共用体和结构体在 C 语言中的优先级是怎样的
在C语言中,共用体(union)和结构体(struct)的优先级相同,它们都是用户自定义的数据类型,用于组合不同类型的数据。但是,共用体中的所有成员共享同一段内存,而结构体中的成员各自占用独立的内存空间。
|
2月前
|
存储 编译器 C语言
【C语言】简单介绍进制和操作符
【C语言】简单介绍进制和操作符
170 1
|
2月前
|
存储 编译器 C语言
初识C语言5——操作符详解
初识C语言5——操作符详解
184 0
|
存储 C语言
如何深入掌握C语言操作符及表达式求值(详解)(三)
本文章主要讲解点: ​​​​​​​各种操作符的介绍 表达式求值
如何深入掌握C语言操作符及表达式求值(详解)(三)
|
C语言
如何深入掌握C语言操作符及表达式求值(详解)(一)
本文章主要讲解点: ​​​​​​​各种操作符的介绍 表达式求值
如何深入掌握C语言操作符及表达式求值(详解)(一)