C语言——运算符及表达式
运算符
运算符的分类
C语言的运算符范围很宽,除了控制语句和输入输出以外的几乎所有的基本操作都可以作为运算符处理。通过查阅课本可知运算符的分为以下13类:
我下面主要要讲述的是算术运算符、赋值运算符、以及逗号运算符;
算数运算符
算术运算符总共有+(加法运算符) 、-(减法运算符) 、*(乘法运算符) 、/(出发运算符) 、%(求余运算符) 五种,要想了解算数运算符及运算符的使用必须先要了解运算符的优先级和结合性;
那么什么时候会用到运算符的的优先级呢?
就是在不同优先级的运算符混合在一起使用的时候高优先级的会先结合;
结合性,所谓结合性就是运算符的结合方向,不同的运算符都有着不同的结合方向,当同一优先级的运算符混合时运算符会按照结合性结合。
运算符的优先级和结合性如下表所示:
算数运算符的用法和数学上了类似,需要注意的是求余运算符(%):
求余运算的规则:
1、求余运算中运算数不能是小数,必须是整数;
2、除数不能为零;
3、结果的符号取决于左操作数;
那何为左操作数呢?
左操作数也就是左值,通俗来说就是能够放在表达式左边的变量,左值的定义是可定位的变量也就是可以在内存空间中找到相应的内存空间。
和左值相反的是右值,右值是不可定位的也就是在内存空间中找不到相应的空间;
常见求余运算符的用法:%2用于求偶数和奇数;%N可以取出在0~N - 1范围内的数,等等;
在产生一定范围内的随机数时也可以用到求余运算符,例如:
#include <stdio.h>
int main(void)
{
int i = 0;
srand(time(NULL));
for(i = 0; i < 10; ++i