C语言的算术运算符

算术运算符是C语言的基本运算符之一,它同关系运算符和逻辑运算符一起,被包含在包括C语言在内的大多数编程语言中。

算术运算符包括两个一元运算符和五个二元运算符。一元运算符是只需要一个操作数的运算符,二元运算符需要两个操作数。下表列出了C语言支持的算术运算符。

一元运算符二元运算符
+ 一元正号运算符* 乘法运算符
- 一元负号运算符/ 除法运算符
% 取余运算符
+ 二元加法运算符
- 二元减法运算符

一元运算符+-用以强调某数值常量是正的或负的,是从右向左结合的,称为右结合的。相对应的是左结合。二元运算符都是左结合的。二元运算符中除%取余运算符要求两个操作数必须是整数外,其余的运算符接受浮点数或整数作为其操作数。

当除法/和取余%运算符用于整数时,注意以下问题:

  • 除法运算符丢掉运算结果的分数部分,值为结果的整数部分。
  • 当操作数为负整数时,结果与实现相关。建议最好避免编写与实现相关的代码,以保证程序的兼容性。

C程序利用运算符优先级来解决同一表达式多个运算符的顺序问题。七个基本运算符中,一元运算符+-的优先级高于*,/%运算符,二元运算符+-的优先级最低。

C语言有众多的运算符,记住这么多运算符之间的优先级是非常困难的一件事。可以随手准备一个运算符表便于查阅。同时,由于C语言中()具有最高的优先级,采用足够多的括号以确定编译器解释表达的方法是一个比较有效的方法。

/***************************************
 * arithmetic_operator.c               *
 *                                     *
 * C语言中的算术运算符                 *
 ***************************************/

#include <stdio.h>

int main()
{
  int i = 5;
  int j = 6;
  int k = 3;

  printf("i + j * k = %d\n", i + j * k);
  printf("i + (j * k) = %d\n", i + (j * k));
  printf("+i + j / k = %d\n", +i + j / k);
  printf("(+i) + (j / k) = %d\n", (+i) + (j / k));
  printf("i - j - k = %d\n", i -j - k);
  printf("(i - j) - k = %d\n", (i - j) - k);
  printf("i * j / k = %d\n", i * j / k);
  printf("(i * j) / k = %d\n", (i * j) / k);
  printf("-+j = %d\n", -+j);
  printf("-(+j) = %d\n", -(+j));

  return 0;
}

算术运算符

参考文献

  1. K.N. King 著,吕秀峰 译. C语言程序设计-现代方法. 人民邮电出版社
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值