C语言算术运算符和表达式
算术运算符和表达式接近于数学上用的算术运算,包含了加、减、乘、除,其运算的规则基本上是一样的。但是C语言中还有其特殊运算符和与数学不同的运算规则。
复杂的算术表达式,如下所示:
对负数进行求余运算,规定:若第1个运算分量为正数,则结果为正;若第1个运算分量为负,则结果为负。
【示例1】使用算术运算符计算结果。
a-b=94
b*c=55
a/b=19
ab=4
a%d+b/c=0
此范例中使用了本文介绍的5种运算符,分别输出不同算术表达式的值。其中,“printf("a-b=%d\n",a-b);”,表示先输出“a-b=”,然后再输出 a-b 的值,所以最后输出“a-b=94”。其余按相同方法处理。
【示例2】算术运算符和表达式的应用。
(1)x=30
(2)x=24
(3)x=11
(4)x=1
(5)x=0
(6)x=1
(7)y=25.000000
此范例中使用了复杂的算术表达式,即同一个表达式中出现了多个运算符,因此计算结果应根据不同运算符的优先级与结合性进行运算。如 20+25/5*2,应先计算 25/5 的值,再乘以 2,最后与 20 相加,因为“/”与“*”运算符的优先级高于“+”运算符,而“/”与“*”优先级相同,自左向右进行计算,结果为 30。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
算术运算符
C语言基本的算术运算符有5个,如下表所示。算术运算符 | 说明 |
---|---|
+ | 加法运算符或正值运算符 |
- | 减法运算符或负值运算符 |
* | 乘法运算符 |
/ | 除法运算符 |
% | 求模运算符或求余运算符 |
算术表达式
C语言的算术表达式如同数学中的基本四则混合运算,在实际中运用得十分广泛。简单的算术表达式如下表所示。算术表达式举例 | 数学中的表示 | 含义 | 表达式的值 |
---|---|---|---|
2+3 | 2+3 | 2 和 3相加 | 5 |
2-3 | 2-3 | 2 减去 3 | -1 |
2*3 | 2×3 | 2 和 3 相乘 | 6 |
2/3 | 2÷3 | 2 除以 3 | 0 |
2%3 | 2 对 3 求余数 | 2 |
复杂的算术表达式,如下所示:
- 2*(9/3) 结果为 6
- 10/((12+8)%9) 结果为 5
% 运算符
%
运算符要求两侧的运算分量必须为整型数据。这个很好理解,如果有小数部分,就不存在余数了。例如,6.0%4 为非法表达式。对负数进行求余运算,规定:若第1个运算分量为正数,则结果为正;若第1个运算分量为负,则结果为负。
/ 运算符
/
运算符如果前后两个运算分量都为整数,则商也是整数,否则商为实数。
范例
我们通过两个范例来学习算术运算符和表达式的使用。【示例1】使用算术运算符计算结果。
#include <stdio.h> int main() { int a=99; /*定义整型变量a、b、c、d,并分别赋初值*/ int b=5; int c=11; int d=3; printf("a-b=%d\n",a-b); /*输出a-b的结果*/ printf("b*c=%d\n",b*c); /*输出b*c的结果*/ printf("a/b=%d\n",a/b); /*输出a/b的结果*/ printf("a%b=%d\n",a%b); /*输出a%b的结果*/ printf("a%%d+b/c=%d\n",a%d+b/c); /*输出a%d+b/c的结果*/ }运行结果:
a-b=94
b*c=55
a/b=19
ab=4
a%d+b/c=0
此范例中使用了本文介绍的5种运算符,分别输出不同算术表达式的值。其中,“printf("a-b=%d\n",a-b);”,表示先输出“a-b=”,然后再输出 a-b 的值,所以最后输出“a-b=94”。其余按相同方法处理。
【示例2】算术运算符和表达式的应用。
#include <stdio.h> int main() { int x,a=3; float y; x=20+25/5*2; printf("(1)x=%d\n",x); x=25/2*2; printf("(2)x=%d\n",x); x=-a+4*5-6; printf("(3)x=%d\n",x); x=a+4%5-6; printf("(4)x=%d\n",x); x=-3*4%-6/5; printf("(5)x=%d\n",x); x=(7+6)%5/2; printf("(6)x=%d\n",x); y=25.0/2.0*2.0; printf("(7)y=%f\n",y); }运行结果:
(1)x=30
(2)x=24
(3)x=11
(4)x=1
(5)x=0
(6)x=1
(7)y=25.000000
此范例中使用了复杂的算术表达式,即同一个表达式中出现了多个运算符,因此计算结果应根据不同运算符的优先级与结合性进行运算。如 20+25/5*2,应先计算 25/5 的值,再乘以 2,最后与 20 相加,因为“/”与“*”运算符的优先级高于“+”运算符,而“/”与“*”优先级相同,自左向右进行计算,结果为 30。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。