运算类型_C语言快速入门与计算机二级备考

表达式

  • 表达式由一系列运算符算子组成,用来计算一个值

运算符

  • 算术运算符

    进行运算的动作,例如:加法运算符+;赋值运算符=

    • +-*/ 分别代表加减乘除

    • % 代表取余数:c=a%b 代表a被b除了之后的余数赋予c

  • 复合赋值

    赋值运算符= 可以与其它的运算符结合起来,构成复合运算符

    复合运算将会先做右边的运算,再将其与左侧变量进行=左侧的运算,最后将值赋予左边的变量

    int a=10;
    a += 20;
    //这行代码等价于 a=a(这里的a是原来的值10)+20
    //最终结果是a=30
    
  • 递增递减运算符

    ++-- 属于单目运算符,且算子必须是变量,作用是给变量+1或-1

    count ++
    count += 1
    count = count+1
    //这三行代码意义一致
    
    ++a//前缀形式:a+1之后的结果值
    a++//后缀形式:a+1以前的原值
    //无论那种形式,a的值都已经+1了
    

运算符优先级

    1. ()内最高

    2. +- ! ++ -- 单目运算符,自右向左运算

      例如:a*-b 会先取b的负数,再与a相乘

    3. */% 先乘除

    4. +- 后加减

    5. < <= > >= 判断大小

    6. == != 判断相等

    7. &&

    8. ||

    9. = += -= *= /= %= 赋值复合运算符,自右向左运算

  • 一种计数数组平均数的方法:avg += x[i]/N

  • 算子:参与运算的值,例如:

    • 一个常数
    • 一个变量:运算的数据需要一个地方存放,这个地方称为变量
    • 一个函数的返回值

其他运算类型

关系运算

  • 以两个值之间的关系是否成立为判断条件

  • 计算两个值之间的关系在C中是一种运算,称关系运算

  • 关系运算只有两个结果:符合关系运算符预期为1,不符为0

  • 关系运算符
    1. == 等于(单个=是赋值运算符号)
    2. != 不等于
    3. > >= 大于 大于或等于
    4. < <= 小于 小于或等于
  • 运算优先级
    • 所有关系运算优先级都比算术运算低,但比赋值优先级高

    • printf("%d",7>=3+4);
      //输出的结果是1
      //由于算术运算符的优先级更高,所以会先计算3+4=7
      //7等于7,所以符合>=运算符,输出1
      
      int r = 10>0;
      //r被赋值1
      //赋值运算的优先级低,先计算10>0,该式成立
      
    • 判断是否相等的运算符优先级较低

      连续的运算符依照从左往右的顺序运算


逻辑运算

  • 对逻辑量进行的运算,结果只有0(假)或1(但是在判断过程中只要是非0都为真)
  • 逻辑量是关系运算或逻辑运算的结果
逻辑运算符
  • 逻辑非 !a 如果a是ture 结果就是false,反之亦然

  • 逻辑与 &&a && b 如果a与b都是true 结果就是true,有一个是false 则结果是false

    这个运算符可用于表达区间:a大于4且小于6应写成x>4 && x<6

  • 逻辑或 ||a || b 如果a或b有一个是true 结果就是true,两个都是false 则结果才是false

  • 如果左边的式子足以判断,那么就不再进行右边的运算


条件运算

  • 条件运算的格式为:变量= (条件)?条件满足时的值:条件不满足时的值

  • 例如:

    count=(count>20)?count-10:count+10;
    //这样的代码相当于:
    if(count>20)
    	count=count-10;
    else
    	count=count+10;
    
  • 条件运算符的优先级高于赋值运算符,但是低于其它运算符

  • 条件运算符可以嵌套,自右向左结合


逗号运算

  • 逗号用来连接两个表达式,以最右边表达式的值作为它的结果,

    例如:i=(3+4,5+6),结果是i=11

    主要在for中使用,可以放下多个表达式,例如:for(i=0,j=)

  • 逗号优先级在所有运算符中最低,表示式自左向右顺序执行,返回最后的式值

posted on   无术师  阅读(2)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

统计

点击右上角即可分享
微信分享提示