计算机一个很基础的应用就是辅助我们进行各种大规模或者复杂度较大的计算。而运算符在这些应用中就起到了关键作用。
按照惯例,我们从一个例子开始看起:
#include <stdio.h>
int main()
{
int x = 3;
double y = 4.2;
double z = 8;
double sumXY = x+y;
//try to replace it with +,-,*,/,%
printf("The sum of x and y is %lf\n",sumXY);
//try to use z++, z--, ++z, --z
printf("The z value is: %lf\n",z);
z=z+1; //same as z+=1;
printf("The z value is: %lf\n",z);
printf("The z value is: %lf\n",z++);
printf("The z value is: %lf\n",z);
printf("The z value is: %lf\n",++z);
printf("The z value is: %lf\n",z);
//try to use >,<,>=,<=,==,!=
printf("Does x equal to y? %d\n",x==y);
//try to use &&,||,!
printf("%d\n", x>2 || y>10);
return 0;
}
1. 赋值:就是等号了,左边是变量,右边是值。主要,右边也可以是另一个变量,比如你想把y的值赋给x,那就可以写成x=y;
2. 加减乘除求余:跟数学上的一样,分别对应+,-,*,/,%
3. 括号:嗯就是括号。可以影响一个式子的运算顺序。一般只用小括号就好,层层嵌套。
4. 自加自减:这个比较有意思。可以尝试看上面的代码,猜猜看跟z相关的这几行分别打印出来的是什么然后再跑一遍这个代码看看跟你想的一不一样。自加自减的原则就是如果是++a或者--a,那么表示先让a=a+1(或a=a-1),然后再运行这一行代码。如果是a++或者a--,则是相反,运行完了这行代码,再运行a=a+1(或a=a-1)。
当然了,有时候你想加其他的数又不想写太多代码,那就可以写成a+=10; 它跟a=a+10;是一样的。这个简略写法在变量名很长的时候特别方便。
5. 比较符号:>,<,>=,<=,==,!= 分别对应大于,小于,大于等于,小于等于,等于,不等于
6. 还有一类常用的运算符通常用来做判断,返回一个是或者否的布尔值:与运算(&&), 或运算(||), 以及否运算(!)。可以把它们分别放进去上面的程序中观察输出的结果是否与你想象的一样。
7. 运算符优先级:
既然有这么多运算符,在计算机实际运行的过程中肯定要有个优先顺序。详见以下链接:
https://www.tutorialspoint.com/cprogramming/c_operators_precedence
8. 本章代码:
operatorDemo.c