2-C语言的运算符和表达式

语句:A=B;

表达式:A=B

两者区别就是有没又分号

运算符

1.算术运算符
  • + (加法)

  • - (减法)

  • * (乘法)

  • / (除法)

  • % (取模,即求余数)

  • ++ (自增,使变量值增加1)

  • -- (自减,使变量值减少1)

注意:整数相除结果会是整数,如果想要得到一个实型(浮点型)可以在最前面*1.0进行类型转换。

注意:%(取余)符号,在C语言中要求两个操作数都是整数,并且不能对0进行取余操作。

常见错误

  1. 除以零:尝试除以零会导致运行时错误。

  2. 整数除法:当两个整数相除时,结果也是整数,小数部分会被截断。

  3. 自增自减位置i++++i 的区别,前者是后增,后者是前增。

2.逻辑运算符

逻辑运算符用于表示程序中的逻辑关系,主要有以下几种:

  • ! (逻辑非):用来表示逻辑上的取反。

    • 用法示例:!(1 > 0) // 表示对表达式的结果进行取反操作。如果表达式为真,则取反为假;如果为假,则取反为真。
  • && (逻辑与):用来表示逻辑上的"并且"。

    • 用法示例:1 > 0 && 1 > 2 // 表示两个式子中只要有一个式子逻辑不成立,那么整个表达式就为假。
  • || (逻辑或):用来表示逻辑上的"或者"。

    • 用法示例:1 > 0 || 2 > 0 // 表示两个式子中只要有一个式子的逻辑成立,那么整个表达式就为真。

注意事项

  • 惰性运算(Short-circuit evaluation):在逻辑运算中,如果可以通过部分表达式提前知道整个表达式的结果,那么剩余的表达式就不会再进行计算。这种操作称为惰性运算。

    • 逻辑或(||):如果第一个表达式为真,则不再计算第二个表达式,因为整个表达式的结果已经确定为真。

    • 逻辑与(&&):如果第一个表达式为假,则不再计算第二个表达式,因为整个表达式的结果已经确定为假。

这种特性在编写程序时非常有用,特别是当你需要避免在已知结果的情况下执行可能引发错误的代码时。例如,你可以在访问对象成员之前检查对象是否为null,从而避免空指针异常。

前缀自增和后缀自增的求值顺序在标准中有明确的规定,前缀自增会先于后缀自增执行。

cpp 复制代码
#include<stdio.h>
int main(){
    int i = 2;
    printf("%d\n",i++ + ++i);//6
    return 0;
}

//1.先执行++i->i变成3 i=再执行i++ 但是他是先计算,再自增,所以先执行**i++ + 3,**所以i++整体为3,所以结果是6.

3.位运算符

tips:判断一个数的二进制最低位是否为1

4.赋值运算符
5.复合赋值远算符
6.条件远算符

tips:C语言中怎么区分或者说辨别出表达式这种东西?

  1. 包含运算符 :如 +-*/ 等。

  2. 函数调用 :如 sqrt(9)

  3. 赋值语句 :如 a = 3

  4. 括号内的代码 :如 (2 + 2)

  5. 条件运算符 :如 a > b ? x : y

语句:A=B;

表达式:A=B

两者区别就是有没又分号

7.逗号运算符
8.指针运算符
9.自增运算符

......

其他
相关推荐
大模型码小白7 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
段一凡-华北理工大学9 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe9 小时前
C++——多态
开发语言·c++
心平气和量大福大10 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
从零开始的代码生活_11 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸11 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
GIS阵地12 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
程序员Rock12 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机
yaoxin52112312 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
groundhappy13 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python