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

操作符详解

C语言操作符详解
 
C语言拥有丰富的操作符,用于执行各种运算和操作。操作符是构造C语言表达式的基础,通过操作符可以对数据进行处理、比较和逻辑运算等。
 
1. 算术操作符(之前已经讲过了)
 
C语言提供了基本的算术操作符,用于进行常见的数学运算:
 
- 加法(+):将两个操作数相加。例如: int a = 3 + 5;  ,结果  a  的值为  8 。
 
- 减法(-):从第一个操作数中减去第二个操作数。例如: int b = 7 - 4;  ,结果  b  的值为  3 。
 
- 乘法(*):将两个操作数相乘。例如: int c = 6 * 2;  ,结果  c  的值为  12 。
 
- 除法(/):如果两个操作数都是整数,则执行整数除法,结果为商的整数部分。例如: int d = 7 / 3;  ,结果  d  的值为  2 。如果至少有一个操作数是浮点数,则执行浮点数除法,例如: float e = 7.0 / 3;  ,结果  e  的值为  2.333333 。
 
- 取模(%):计算两个整数相除的余数,操作数必须是整数。例如: int f = 7 % 3;  ,结果  f  的值为  1 。
 
2. 赋值操作符(之前讲过了)
 
赋值操作符(=)用于将右侧表达式的值赋给左侧的变量。
 

     将2赋值给x

还存在复合赋值操作符,如  += 、 -= 、 *= 、 /= 、 %=  等,它们是赋值操作符与算术操作符的结合。例如:
 

x*=2等价于x=x*2
  

 
3. 比较操作符
 
比较操作符用于比较两个值,结果为真(1)或假(0)。C语言提供了以下比较操作符:
 
- 等于(==):判断两个操作数是否相等。例如: int a = 5; int b = 3; (a == b)  的结果为  0 。



- 不等于(!=):判断两个操作数是否不相等。例如: (a != b)  的结果为  1 。


 
- 大于(>):判断第一个操作数是否大于第二个操作数。例如: (a > b)  的结果为  1 。


 
- 小于(<):判断第一个操作数是否小于第二个操作数。例如: (b < a)  的结果为  1 。


 
- 大于等于(>=):判断第一个操作数是否大于或等于第二个操作数。例如: (a >= 5)  的结果为  1 。
 


- 小于等于(<=):判断第一个操作数是否小于或等于第二个操作数。例如: (b <= 3)  的结果为  1 。


 
4. 逻辑操作符
 
逻辑操作符用于进行逻辑运算,结果也是真(1)或假(0)。C语言提供了以下逻辑操作符:
 
- 逻辑与(&&):只有当两个操作数都为真时,结果才为真。例如: int m = 5; int n = 3; (m > 0 && n > 0)  的结果为  1 。
 
- 逻辑或(||):只要两个操作数中有一个为真,结果就为真。例如: (m > 0 || n < 0)  的结果为  1 。
 
- 逻辑非(!):对操作数进行取反,真变为假,假变为真。例如: !(m > 10)  的结果为  1 ,因为  m > 10  为假。
 
5. 位操作符
 
位操作符用于对整数的二进制位进行操作:
 
- 按位与(&):对两个操作数的每一位进行与运算。例如: int a = 5; int b = 3;  , a  的二进制是  0101 , b  的二进制是  0011 ,则  a & b  的结果为  0001 ,即  1 。

运算方法是:


 
- 按位或(|):对两个操作数的每一位进行或运算。例如: a | b  的结果为  0111 ,即  7 。


 
- 按位异或(^):对两个操作数的每一位进行异或运算(相同为0,不同为1)。例如: a ^ b  的结果为  0110 ,即  6 。


 
- 按位取反(~):对操作数的每一位进行取反。例如: ~a  的结果为  1010 (如果是8位表示),即  -6 (有符号数的补码表示)。


 
- 左移(<<):将操作数的二进制位向左移动指定的位数,右侧补0。例如: a << 1  , a  为  5 (二进制  0101 ),左移1位后结果为  1010 ,即  10 。


 
- 右移(>>):将操作数的二进制位向右移动指定的位数,对于有符号数,左侧补符号位;对于无符号数,左侧补0。例如: a >> 1  , a  为  5 (二进制  0101 ),右移1位后结果为  0010 ,即  2 。


 
6. 自增自减操作符
 
自增(++)和自减(--)操作符用于将变量的值增加1或减少1:
 
- 前置自增(++i):先将变量的值增加1,然后使用增加后的值。例如: int i = 3; int j = ++i;  ,先执行  i = i + 1 , i  变为  4 ,然后  j  被赋值为  4 。
 
- 后置自增(i++):先使用变量的值,然后将变量的值增加1。例如: int k = 3; int l = k++;  ,先将  k  的值  3  赋给  l ,然后  k  变为  4 。
 
- 前置自减(--i) 和 后置自减(i--) 与自增操作符类似,只是将变量的值减少1。

 


 
7. 条件操作符(三元操作符)
 
条件操作符(? :)是C语言中唯一的三元操作符,其形式为: 表达式1 ? 表达式2 : 表达式3  。如果  表达式1  的值为真(非0),则返回  表达式2  的值;否则返回  表达式3  的值。例如:
 

  

 
 
8. 逗号操作符
 
逗号操作符(,)用于将多个表达式连接起来,从左到右依次计算每个表达式的值,最后返回最右侧表达式的值。例如:
 

  

 
 
理解和熟练运用这些操作符是编写高效、正确的C语言程序的关键。不同的操作符有不同的优先级和结合性,在复杂表达式中需要注意它们的运算顺序,必要时可以使用括号来明确运算优先级。

 

 

相关文章:

  • 求递增子序列LIS的两种方法
  • PHP语法基础
  • C++ Primer Plus 编程练习题 第四章 复合类型
  • 星越L_行李舱空间拓展讲解
  • 智能血糖仪语音提示播报-高品质音质WT2003H芯片方案
  • 广东省首批服务机器人应用技术员三级职业技能等级认定及申请条件
  • 设备预测性维护:企业降本增效的关键密码​
  • DeFi开发的深度解析与展望
  • flutter 图片资源路径管理
  • Android jetpack 之LiveData 结合ViewModel的简单使用
  • FX-std::list
  • rv1106 PWM控制
  • C语言为例谈数据依赖性
  • Android 7 及以上,Fiddler 抓 https 包
  • 容器适配方法模拟Stack和Queue
  • Ansible命令行模式常用模块使用案例(二)
  • Keil创建stm32f103c8t6标准库
  • c++常用的算术生成算法
  • 深度学习项目--基于DenseNet网络的“乳腺癌图像识别”,准确率090%+,pytorch复现
  • RGV调度算法
  • 网站设计中超链接怎么做/网络销售就是忽悠人
  • 沈阳网站设计制作公司/app拉新推广一手接单平台
  • 网站建设公司怎么做业务/现在的网络推广怎么做
  • 网站建设需求指引/搜索引擎优化的简写是
  • 彩钢做网站能赚钱吗/网络营销服务公司有哪些
  • 做商业网站赚钱吗/如何去推广一个app