今天我们来学习一下C++里面的运算符,而运算符就是若干个数作计算所使用的符号,如加减乘除。那么它们在C++中长什么样呢?还有哪些符号呢?接下来就让我们来看一下
一.符号作用
1.符号作用:
符号 | 作用 | 示例 |
+ | 算2个数相加的值 | 1+3=4 a+b=5 |
- | 算2个数相减的值 | 8-3=5 c-d=7 |
* | 算2个数相乘的值 | 9*7=63 e*f=86 |
/ | 算一个数除以另一个数的值 | 4/2=2 g/h=5 |
% | 算一个数除以另一个数的余数 | 9%4=1 i%j=2 |
= | 把一个变量赋值成另一个数值 | v=89 x=963 |
运算符 | 翻译 |
a-=b | a=a-b |
a*=b | a=a*b |
a/=b | a=a/b |
a+=b | a=a+b |
a%=b | a=a%b |
二. 符号应用
1.示例程序:
#include<iostream>
using namespace std;
int main()
{
int a=10,b=4;
cout<<a+b<<endl<<a-b<<endl<<a*b<<endl<<a/b<<endl<<a%b;//注:endl是换行
return 0;
}
输出结果:14
6
40
2
2
这时,就有人有疑问了:“10/2不是等于2.5吗?为什么这写的是2?
这就与变量类型和四舍五入有关了,具体解决方法有2种,1.强制转换 2.控制精度(扩展内容,下一节课学)
2.强制转换:
正确写法:
double a=10,b=4;
cout<<a+b<<endl<<a-b<<endl<<a*b<<endl<<a*1.0/b<<endl<<a%b;
解析:乘1.0 相当于乘1,而乘1的结果不会变,1.0是小数,1不是。而整数*小数=小数,所以它就不会四舍五入了。
整数*小数 | =小数 |
整数*整数 | =整数 |
小数*小数 | =小数 |
错误写法:
double a=10,b=4;
cout<<a+b<<endl<<a-b<<endl<<a*b<<endl<<(a/b)*1.0<<endl<<a%b;
解析:先算a/b得到2,再用2*1.0得到2.0,所以不对。
3.控制精度
#include<iostream>
#include<iomanip>//控制精度语句头文件
using namespace std;
int main()
{
double a=10,b=4;
cout<<setprecision(2)<<a+b<<endl<<a-b<<endl<<a*b<<endl<<a/b;//控制精度到2位
return 0;
}
作业 :
交换两个变量的值
题目描述
输入两个正整数分别存于变量 a 和 b 中,编程实现:变量 a 和 b 的值的交换。
输入格式
一行两个整数 a 和 b(int 范围内),之间用空格隔开。
输出格式
一行两个整数,为交换后的结果,中间用 1 个空格隔开。
样例 #1
样例输入 #1
3 5
样例输出 #1
5 3
计算 (a+b)×c 的值
题目描述
给定 3 个整数 a,b,c,计算表达式 (𝑎+𝑏)×𝑐的值。
输入格式
输入仅一行,包括三个整数 a,b,c,数与数之间以一个空格分开。
输出格式
输出一行,即表达式的值。
样例 #1
样例输入 #1
2 3 5
样例输出 #1
25