C++算术运算符与表达式 | 强制类型输出整型

41 阅读2分钟

基本的算术运算符

在上一节大概介绍了算术运算符有哪些,接下来将会详细讲解

+加法运算符

2+5;

+正值运算符

+6;

-减法运算符

9-5;

-负值运算符

-3;

*乘法运算符

4*6;

/除法运算符

6/2;

两个整数相除结果为整数,会舍去小数部分,如果除数或者被除数有负数,则结果不定,要看具体额编译系统,意义不大,一般不这样用。

%求余运算符

7%4;

C++的求余%要求两个操作数均为整数或可以隐式转换成整数的类型

如果%左边的操作数为负数时,则模除的结果为负数或者0;

如果%左边的操作数为正数时,则模除的结构为正数或者0。

如果加减乘除运算时两个数有一个是float,但是输出结是double型,C++和C语言一样,在运算时对所有的float型数据按double处理。

算术表达式

顾名思义算术表达式就是用算术运算符和括号将算术运算对象连接起来的,符合C++语法规则。

//例子
num_1*num_2-4;

算术运算符优先级与结合性

C++在求解表达式时,按照运算符的优先级别高低次序执行,乘除高于加减,C++规定算术运算符的结合方向为自左至右

案例:将浮点型变量4.5强制类型转换为整型变量并输出。

#include<iostream>
using namespace std;
int main() //主函数
{
  float num_1; //定义浮点型变量
  int num_2; //定义整型变量
  num_1=4.5;
  num_2=(int)num_1; //强制类型转换
  cout<<num_1<<' '<<num_2<<endl;//输出num_1和num_2
  return 0;
}

执行本程序之后,则会输出4.5 4。

num_1是浮点型变量,输出后其值仍为4.5,强制类型转换后精度丢失,输出为4。