大家好,欢迎来大家参考我的文章,学习任何一门语言都非常需要强大的实践能力,理论知识,学习C语言是个很漫长的过程,学习到后面还需要算法数据结构的支撑,再到后面大家就可以尝试一些比赛:蓝桥杯...检验自己的实力,这是我的第二篇文章,我呢一直在以白话文方式,少使用编程语言术语,让更好理解C语言的过程内容,谢谢支持!

C语言的运算符

简单记忆:!>算术运算符>关系运算符>&&>||>赋值运算符

在C语言中运算符号存在优先级与结合性

在C语言中除了单目运算,赋值运算和条件运算符是右结合外,其他运算符都是左结合。

运算符类

运算符

运算形式

结合方向



算术运算符

  +,-

*(乘),/(除),%(余)


++(加加),--(减减)


双目运算



单目运算


自左向右



自右向左


关系运算符

>,<,>=,<=

!=(不等于),== 


双目运算


自左向右

1,运算符形式:单目双目是以运算操作符号的单个和双个来确定;

例如:

 >(大于号)  a>b 用到两个操作符

++ : a++ 用到一个操作符

2,自左向右:

例如:

x-y+z  //先执行x-y,再执行+z   (x-y)+z

3,自右向左:

例如:

x=y=z  //先执行y=z,再执行x=y    x=(y=z)

int i=3,y;
y=-i++;

因为++的右结合性,所以y=-i++等价于y=(-i++),所以y值为-3,而i的值为4.

例如:

++i // i+1=b;    
--i // a+b=c;
    // 先加1或减一后运算
    
i++ // a+b=i;
    // i+1=c;
i-- // 先运算后加一或减一    

练习

分析程序:

#include<staio.h>
int main()
{
int x=3,y,z;
y=x++;
z=++x;
printf("x=%d,y=%d,z=%d\n",x,y,z);
return 0;
}

最好手写推算一下:

最终结果:

C语言   运算符_运算符