当前位置: 首页 > news >正文

C 语言的基本算术运算符 = + - * /

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
http://www.lryc.cn/news/111209.html

相关文章:

  • SQL注入实操三(SQLilabs Less41-50)
  • HOT77-买卖股票的最佳时机
  • CSS调色网有哪些
  • Day10-NodeJS和NPM配置
  • 线性代数 | 机器学习数学基础
  • Nios初体验之——Hello world!
  • [Linux]理解文件系统!动静态库详细制作使用!(缓冲区、inode、软硬链接、动静态库)
  • 【Linux操作系统】Vim:提升你的编辑效率
  • Mybatis-plus 的自动填充策略
  • 大数据课程G2——Hbase的基本架构
  • 微信小程序wx.getlocation接口权限申请总结
  • 简单游戏截图_可控截取内容1
  • Vue3_02 创建Vue3.0工程
  • Arduino ESP 8266 ESPAsyncWebServer AsyncCallbackJsonWebHandler
  • Source Insight_突出显示对选定字符的引用
  • 高等数学上册 第五章 定积分 知识点总结
  • 【无标题】uniapp引入萤石云 真机无法运行 踩坑集合
  • python函数
  • 【Linux】进程间通信——system V共享内存
  • 【数据结构】快速排序
  • 人机融合智能中的事实与价值
  • JVM | 从类加载到JVM内存结构
  • Golang之路---04 并发编程——WaitGroup
  • React(4)
  • STM32 CubeMX USB_(HID 鼠标和键盘)
  • [PM]敏捷开发之Scrum总结
  • 大数据Flink(五十七):Yarn集群环境(生产推荐)
  • web集群学习:源码安装nginx配置启动服务脚本
  • LNMP
  • Python网络爬虫在信息采集中的应用及教程