目录
前言
本篇文章是对运算符的具体讲解。
一、运算符的概念与分类
概念:
运算符就是一种告诉编译器执行特定的数学或逻辑操作的符号,用来表示针对数据的特定操作,也称之为操作符。在计算机编程中,运算符用于操作数据,执行各种数学和逻辑运算,并产生结果。
分类:
1.根据分类对象的多少可以分为单目运算符(又名一元运算符)、双目操作符(又名二元操作符)、三目操作符(又名三元操作符)。
2.根据运算作用不同又可以分为:算术操作符、关系操作符、逻辑操作符、位运算符、赋值运算符、杂项操作符等。
二、算术运算符
含义:
算术运算符是对数值类型变量进行运算的,属于上述的双目操作符,结合性是从左到右的,算术优先级就是我们所知的 “ * 、/ 、% ”>“ +、 -”。
需要注意的是:
a++(a--) 与 ++a(--a)的区别,前者为先赋值后运算,后者为先运算后赋值。当其作为一个独立的语言使用时,是等价的。但是当它出现在语句中就会有所不同。
下面通过一个实例代码来帮助大家更好的理解:
#include <stdio.h>
int main()
{
int y;
int x = 10;
y = x++;
printf("先赋值后运算:\n");
printf("y 的值是 %d\n", y );
printf("x 的值是 %d\n", x );
x = 10;
y = x--;
printf("y 的值是 %d\n", y );
printf("x 的值是 %d\n", x );
printf("先运算后赋值:\n");
x = 10;
y = ++x;
printf("y 的值是 %d\n", y );
printf("x 的值是 %d\n", x );
a = 10;
c = --a;
printf("y 的值是 %d\n", y );
printf("x 的值是 %d\n", x );
return 0;
}
程序运行的结果如下:
三、关系运算符
含义:
关系运算符的值只能是0或1。当运算符的值为真时,结果值都为1;反之,都为0;关系运算符也属于双目运算符,结合性为从左到右,优先级为“ > 、 < 、 >= 、 <= ” > " == 、 != "。
下面通过一个实例代码来帮助大家更好的理解:
#include <stdio.h>
int main()
{
int x = 20;
int y = 10;
int c ;
if( x == y )
{
printf("x 等于 y\n" );
}
else
{
printf("x 不等于 y\n" );
}
if ( x < y )
{
printf("x 小于 y\n" );
}
else
{
printf("x 不小于 y\n" );
}
if ( x > y )
{
printf("x 大于 y\n" );
}
else
{
printf("x 不大于 y\n" );
}
int t;
t = x;
x = y;
y = t;
if ( x <= y )
{
printf("x 小于或等于 y\n" );
}
if ( y >= x )
{
printf("y 大于或等于 x\n" );
}
return 0;
}
程序运行的结果如下:
四、逻辑运算符
含义:
用于连接多个条件的运算符,结果也是为真(1)或假(0),结合性为从右到左。
下面通过一个实例代码来帮助大家更好的理解:
#include <stdio.h>
int main()
{
int x = 20;
int y = 10;
if ( x && y )
{
printf("条件1为真\n" );
}
if ( x || y )
{
printf("条件2为真\n" );
}
x = 0;
y = 10;
if ( x && y )
{
printf("条件3为真\n" );
}
else
{
printf("条件3为假\n" );
}
if ( !(x && y) )
{
printf("条件4为真\n" );
}
return 0;
}
程序运行的结果如下:
五、赋值运算符
含义:
赋值运算符就是将某个值赋给某个指定的变量,结合性为从右到左。
下面通过一个实例代码来帮助大家更好的理解:
#include <stdio.h>
int main()
{
int a = 21;
int c ;
c = a;
printf(" = 的运算符实例,c 的值 = %d\n", c );
c += a;
printf("+= 的运算符实例,c 的值 = %d\n", c );
c -= a;
printf("-= 的运算符实例,c 的值 = %d\n", c );
c *= a;
printf("*= 的运算符实例,c 的值 = %d\n", c );
c /= a;
printf("/= 的运算符实例,c 的值 = %d\n", c );
c <<= 2;
printf("<<= 的运算符实例,c 的值 = %d\n", c );
c >>= 2;
printf(">>= 的运算符实例,c 的值 = %d\n", c );
c &= 2;
printf("&= 的运算符实例,c 的值 = %d\n", c );
c ^= 2;
printf("^= 的运算符实例,c 的值 = %d\n", c );
c |= 2;
printf("|= 的运算符实例,c 的值 = %d\n", c );
return 0;
}
程序运行的结果如下:
六、运算符的优先级
含义:
运算符的优先级往往会影响一个表达式的运算的结果,比如最常见的就是乘除运算的优先级大于加减运算。
总结
本篇文章详细地讲了C语言的运算符,希望能够帮到大家!
以后还会给大家展现更多关于C语言的其他重要的基础知识,感谢大家支持懒大王!
希望这篇博客能给各位朋友们带来帮助,最后懒大王请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!