算术操作符:+,-,*,/,%
算术操作符是为了在C语言中操作方便,便于计算从而创造出来的,它 分为单目操作符和双目操作符,(二者的区别在于有几个操作数,有两个操作数的为双目操作符,只有一个数的为单目操作符)
双目操作符:+,-,*,/,%
+ and -
#include<stdio.h>
int main()
{
int x =4+6;
int y =6-7;
printf("%d",x);
printf("%d",y);
return 0;
}
*
#include<stdio.h> int main() { int num = a; printf("%d\n",num*num); return 0; }
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 5;
int num = a;
printf("%d\n", num * num);return 0;
}
这种是有两个操作数,所以叫双目操作符,位于操作符两端的就是操作数。
/
#include<stdio.h>
int main()
{
float x = 6 / 4;
int y = 6 / 4;
printf("%f\n", x);//结果为1.000000
printf("%d\n", y);//结果为1return 0;
}
从上面的代码运算结果可以看出,尽管x用的是 float(浮点型)但 “/”结果取的是整数部分,6/4应该=1.5,但是打印出来为1。只会返回整数部分,会舍弃小数部分。
若是想得到浮点数,则/左右必须至少一个为浮点数形式,例如
#include<stdio.h>
int main()
{
float x = 6.0 / 4;
printf("%f\n", x);//结果为1.500000return 0;
}
再看一个例子,例如
#include<stdio.h>
int main()
{
int x = 5;
int y;
y = (x / 20) * 100;
printf("%d\n", y);return 0;
}
大家可能觉得结果应该是25,但结果为0;这是因为 x/20 ,取得整数部分为0。
若是要得到25,则必须使用浮点数,例如。
#include<stdio.h>
int main()
{
float x = 5.0;
float y;
y = (x / 20) * 100;
printf("%f\n", y);return 0;
}
这样,得到的结果就是 25.000000.
%
取模运算符,这个符号将返回两个整数相除的余数值,所以这个符号只能用于整数,不能用于浮点数。
#include<stdio.h>
int main()
{
int x = 6 % 4;
printf("%d\n", x);//结果为2return 0;
}
负数的计算规则,结果的正负号有第一个运算数的正负号决定,例如
#include<stdio.h>
int main()
{
printf("%d\n", 6 % 4);//结果为2
printf("%d\n", -6 % 4);//结果为-2
printf("%d\n", 6 % -4);//结果为2
printf("%d\n", -6 % -4);//结果为-2
return 0;
}
在上面的例子中,6和-6的正负决定了结果的正负。