• C语言从入门到精通之【其他运算符】


    sizeof运算符和size_t

    sizeof运算符以字节为单位返回运算对象的大小。

    例如 :sizeof(int)

    打印转换说明,使用C99新增的**%zd转换说明 – 如果编译器不支持%zd,请将其改
    %u%lu**。

    C 语言规定,sizeof 返回 size_t 类型的值。这是一个无符号整数类型,但它不是新类型。

    求模运算符

    求模运算符(modulus operator)用于整数运算。求模运算符给出其左侧整数除以右侧整数的余数(remainder)。

    例如:13%5=3(读作“13求模5”)

    递增/递减 运算符

    递增运算符就是将运算对象加1,它有两种形式:第1种方式,++出现在其作用的变量前面,这是前缀模式;第2种方式,++出现在其作用的变量后面,这是后缀模式。两种模式的区别在于递增行为发生的时间不同。

    i和j的初值都是5,经过i++,++j之后,结果都是6,那为何C语言创建了这两种形式?

    原因之一是,紧凑结构的代码让程序更为简洁,可读性更高。这些运算符让程序看起来很美
    观。

    例如:

    int i = 5;
    while (i > 0) {
      i--;
      //do something
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    写成这样更简洁

    int i = 5;
    while (i-- > 0) {
      //do something
    }
    
    • 1
    • 2
    • 3
    • 4

    区别

    看这个例子,a-- > 0的话,是先判断a>0了,再将a减1。而--b是先将b的值减1,再进行判断。这就是前面说的递增行为发生的时间不同

    优先级

    递增运算符和递减运算符都有很高的结合优先级,只有圆括号的优先级 比它们高。因此,xy++表示的是(x)(y++),而不是(x+y)++。

    不要自作聪明

    如果一次用太多递增运算符,自己都会糊涂。涉及到优先级问题的时候,如果搞不清,不想记,直接用括号就好了。代码可读性也会更高,毕竟就算你知道,看你代码的那个人也不一定知道优先级顺序,但是你写成括号的,那看代码的人就一定知道先算什么。

  • 相关阅读:
    [Latex] \bibitem{} | .bbl 格式参考文献转换与获得
    【C++项目】高并发内存池第七讲性能分析
    【Leetcode】179. 最大数
    Vim 从何而来?
    2022年R1快开门式压力容器操作考试模拟100题及答案
    黑豹程序员-架构师学习路线图-百科:AJAX
    闭包、闭包应用场景
    Mybatis-plus学习笔记
    使用Java继承UDF类或GenericUDF类给Hive3.1.2编写UDF实现编码解码加密解密并运行在USDP大数据集群
    python---25---取出指定时间段的日志并写入文件中
  • 原文地址:https://blog.csdn.net/qq_41922569/article/details/134483071