C 乘法运算符

11/04/2016

本文内容

乘法运算符执行乘法 (*)、除法 (/) 和余数 (%) 运算 。

语法

multiplicative-expression:     cast-expression     multiplicative-expression * cast-expression     multiplicative-expression / cast-expression     multiplicative-expression % cast-expression

余数操作符 (%) 的操作数必须是整数 。 乘法 (*) 和除法 (/ ) 运算符可采用整型或浮点类型操作数;操作数的类型可以是不同的。

乘法运算符对操作数执行常用算术转换。 结果的类型是转换后操作数的类型。

备注

由于在溢出或下溢条件不提供由乘法运算符执行的转换,因此,如果乘法操作的结果在转换后不能用操作数类型表示,则信息可能丢失。

C 乘法运算符的描述如下:

运算符

描述

*

乘法运算符使其两个操作数相乘。

/

除法运算符使第一个操作数除以第二个操作数。 如果两个整数操作数相除,结果不是整数,则根据下列规则截断它:

- 根据 ANSI C 标准,被 0 除的结果是不确定的。 Microsoft C 编译器将在编译时或运行时生成错误。

- 如果两个操作数都为正或无符号,则结果将截断到 0。

- 如果其中一个操作数为负,则不管操作结果是小于或等于代数商的最大整数还是大于或等于代数商的最小整数,结果均为定义的实现。 (请参阅下面的 Microsoft 专用部分。)

%

第一个操作数除以第二个操作数时,余数运算符的结果是余数。 如果除法不精确,则结果将由下列规则确定:

- 如果右操作数为零,则结果是不确定的。

- 如果两个操作数均为正或无符号,则结果为正。

- 如果其中一个操作数为负,并且结果不精确,则结果将是定义的实现。 (请参阅下面的 Microsoft 专用部分。)

Microsoft 专用

在其中一个操作数为负的除法中,截断的方向将是朝向 0。

如果使用余数运算符的除法中任一操作数为负,则结果与被除数(表达式中的第一个操作数)有相同的符号。

示例

如下所示的声明将用于下列示例:

int i = 10, j = 3, n;

double x = 2.0, y;

此语句使用乘法运算符:

y = x * i;

在此示例中,x 乘以 i 将得到值 20.0。 结果的类型为 double。

n = i / j;

在此示例中,10 除以 3。 结果将被截断到 0,同时产生整数值 3。

n = i % j;

当 10 除以 3 时,此语句为 n 分配整数余数 1。

Microsoft 专用

余数的符号与被除数的符号相同。 例如:

50 % -6 = 2

-50 % 6 = -2

在所有情况下,50 和 2 具有相同的符号。

结束 Microsoft 专用

请参阅

c语言 乘法运算符,C 乘法运算符相关推荐

  1. c 语言 按位与或非运算符,C++中的按位与、按位与或|、按位异或^运算符详解

    按位与运算符:& 语法 expression & expression 备注 表达式可以是其他"与"表达式,或(遵循下面所述的类型限制)相等表达式.关系表达式.加法 ...

  2. c语言字符型运算符,C语言试题:数据类型、运算符与表达式

    <C语言试题:数据类型.运算符与表达式>由会员分享,可在线阅读,更多相关<C语言试题:数据类型.运算符与表达式(4页珍藏版)>请在人人文库网上搜索. 1.3 数据类型.运算符与 ...

  3. C语言基础之5:运算符、表达式和语句

    Tips1: 关键字:while.typedef 运算符:=.-.*./.%.++.--.(类型名) C语言的各种运算符,包括用于普通数学运算的运算符 运算符优先级以及语句.表达式的含义 while循 ...

  4. C语言有大约40个运算符,最常用的有这些

    C用运算符(operator)表示算术运算.例如,+运算符使在它两侧的值加在一起.如果你觉得术语"运算符"很奇怪,那么请记住东西总得有个名称.与其叫"那些东西" ...

  5. c语言中求字节的运算符是,初学者单片机C语言运算符

    单片机C语言运算符 单片机及C语言学习 auto        存储种类说明        用以说明局部变量,缺省值为此 break        程序语句        退出最内层循环 case  ...

  6. IOS开发语言Swift入门连载---基本运算符

    运算符是检查.改变.合并值的特殊符号或短语.例如,加号+ 将两个数相加(如let i = 1 + 2 ).复杂些的运算例如逻辑与运算符&& (如if enteredDoorCode & ...

  7. 【C++ 语言】面向对象 ( 函数重载 | 运算符重载 | 运算符重载两种定义方式 | 拷贝构造方法 | RVO 优化 | NRVO 优化 )

    文章目录 函数重载 运算符重载 ( 类内部定义云算符重载 ) 运算符重载 ( 类外部定义运算符重载 ) 可重载的运算符 拷贝构造方法 编译器优化 ( RVO 优化 | NRVO 优化 ) 完整代码示例 ...

  8. c语言乘号字母,c语言中如何输入间接运算符和乘号,包括如何转换

    满意答案 1.乘号 * 就是星号键,间接运算符 可以用(). 2.常用的运算符号及优先级别: 1级(左结合) ( ) 圆括号:[ ]下标运算符:->指向结构体成员运算符:. 结构体成员运算符. ...

  9. C语言学习(三)运算符、表达式和语句

    参考书:<C Primer Plus>第六版 while循环,程序清单1. 基本运算符有:赋值运算符=.加法运算符+.减法运算符-.乘法运算符*.除法运算符/,每个运算符都有自己的优先级. ...

最新文章

  1. 反杀人类、拯救机器狗,被虐士兵机器人化身终结者!这是“波士屯动力”的最新力作...
  2. C++11 新特性之std::thread
  3. Entity Framework 学习高级篇1—改善EF代码的方法(上)
  4. 实现iOS App的在线安装
  5. log4cplus导致主进程不能退出问题解决
  6. c语言 malloc前的括号,20. 有效的括号(LeetCode)——C语言及JS实现
  7. final修饰的对象咋办?
  8. java 判定1个IP地址是否是合法IP
  9. [Android] [逆向工程] 安卓逆向入门篇
  10. 微信分享至朋友圈和朋友接口
  11. 实验吧 因缺思汀的绕过 By Assassin(with rollup统计)
  12. logstash 时间获取失败(yyyy-mm-dd失效)
  13. 以下是两段c语言代码 函数arith(),第二章习题-ddg.doc
  14. 【First-order Methods】 5 Smoothness and Strong Convexity
  15. 实验三 基于A*迷宫的算法
  16. leetcode:BFS/DFS--腐烂的橘子
  17. DSPE-PEG-N3 磷脂PEG叠氮
  18. 传奇单机架设图文教程
  19. 嵌入式学习项目实战 --- 在线词典
  20. 孙子兵法——三十六计

热门文章

  1. 手淘双十一系列(一) | 521 性能优化项目揭秘
  2. word 手动双面打印设置
  3. hdu 4043 概率
  4. 芬兰Vaisala温湿度变送器HMT330
  5. 基于FPGA的USB高速数据采集系统(免做上位机)
  6. 【Matlab】MATLAB绘图
  7. UE4 角色上下车功能
  8. OBS 基础 16 如何在CMake中添加新的lib库、头文件等
  9. Python数据结构——对有序表二分查找
  10. [unity]在unity中创建圆锥体