C语言——运算符、运算符优先级和求值顺序

前言

表达式(expression)由运算符和运算对象组成(运算对象是运算符操作的对象)

一、赋值运算符:=

  • = —— 赋值运算符,如 int num = 8 就是将8赋给整型变量 num
  • == —— 相等运算符,即等号的表示方法
  • += -= *= /= %=等 —— 例如 a += 1 即为 a = a + 1

二、算数运算符:+ - * / %

对于除法运算符:/

  • 整数除法会截断计算结果的小数部分,不会四舍五入结果

​ 如 5 除以 3 的实际结果有小数部分;在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断

  • 负数的整数除法是直接丢弃小数部分,叫做”趋零截断“

​ 如结果 -3.8 应为 -3

对于求模运算符:%

  • 求模运算符只能用于整数,不能用于浮点数

  • 运算结果的正负与第 1 个运算对象一致

​ 如 11 % 5 得 1 ;11 % - 5 得 1;-11 % -5 得 -1;-11 % 5 得 -1;

三、自增运算符 ++ 和 自减运输算符 –

++ 和 – 同理

变量名 ++;

先用后增,即先使用变量本身得值,使用完或者语句结束后,这个变量的值加 1

++ 变量名;

先增后用,即变量先加 1,然后再使用

例如:

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a = 10;
    
	printf("%d\n", a++);//10;打印的结果为10,语句结束后,a自增
	
    //此时,a的值为11
	
    printf("%d\n", ++a);//12;a先自增1,然后打印,结果为12
	
    //此时,a的值为12
	
    printf("%d\n", a);//12
    
    return 0;
}

四、关系运算符:> < == >= <= !=

注意: 关系运算表达式的值的表示:真 —— 1、假 —— 0

五、逻辑运算符:&& || !

&& —— 逻辑与

|| —— 逻辑或

! —— 逻辑非

六、逗号运算符:,

表达式1, 表达式2, 表达式3,....

  • 从左至右依次执行,但最后一个表达式的结果才是整个表达式的结果
  • 是优先级最低的运算符

七、条件运算符(三目运算符):( ? : )

表达式1?表达式2:表达式3

如果 表达式1 为真,则返回 表达式2 的值,否则返回 表达式3 的值

条件运算符也可以用 if else 语句替换

例如:

max = a > b ? a : b ;

//这条语句相当于

if(a>b)
    max=a;
else
    max=b;

八、运算符优先级与求值顺序

在这里插入图片描述

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青春无限坑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值