学网站平面设计网站seo是什么
C 语言的基本算术运算符有: = + - * /
赋值运算符 =
赋值运算符左侧必须引用一个内存中的位置, 最简单的方法就是使用变量名, 也可以使用指针指向内存中的某个位置.
赋值表达式的目的是把值储存到目标内存位置上.
下面语句中的 = 表示初始化而不是赋值:
const int a = 10;
下面表达式中,
a = b + (c - d);
表达式 (c - d) 是一个右值, 该表达式不能表示特定的内存位置, 也不能给它赋值. 它只是程序计算的一个临时值, 在计算完毕后会被丢弃.
赋值运算符支持连续赋值.
程序示例:
#include<stdio.h>int main(void)
{int a, b, c;a = b = c = 10;printf("a = %d, b = %d, c = %d\n", a, b, c);return 0;
}
结果:
a = 10, b = 10, c = 10
不支持连续初始化, 下面语句是错误的:
int a = b = c = 10;
加法运算符 +
additional operator
减法运算符 -
subtraction operator
加法运算符和减法运算符都是双目运算符 binary operator
符号运算符 + 和 -
-
可以用来表明或者改变一个值的代数符号.
程序示例:
#include<stdio.h>int main(void)
{int a, b;a = -10;b = -a;printf("a = %d, b = %d\n", a, b);return 0;
}
结果:
a = -10, b = 10
此时 - 是一个一元运算符 unary operator
C90 增加了 + 用作一元运算符. 例如:
a = +10;
这在 C90 之前是不允许的, 因为不能将 + 用作一元运算符.
乘法运算符 *
multiplication operator
除法运算符 /
division operator
浮点数除法的结果是浮点数。
即便可以整除,结果也是浮点数。
整数除法的结果是整数。
整数除法的结果如果是小数,将直接丢弃小数部分。这叫做截断 truncation. 而不是进行四舍五入.
程序示例:
// 整数除法, 除不尽, 小数直接被丢弃
#include<stdio.h>int main(void)
{int a = 9, b = 4;printf("%d\n", a / b);return 0;
}
结果:
2
程序示例:
#include<stdio.h>int main(void)
{int a = 8;float b = 4.0;printf("%f\n", a / b);return 0;
}
结果:
2.000000
C99 规定, 负数的整数除法采用 趋零截断.
比如 − 1 ÷ 3 = − 0.333333 -1{\div}3= -0.333333 −1÷3=−0.333333
代码:
#include<stdio.h>int main(void)
{int a = -1;int b = 3;int c = 1;int d = -3;printf("%d\n", a / b);printf("%d\n", c / d);return 0;
}
结果:
0
0