学习笔记——C++运算符之算术运算符

2024-01-07 18:21:54

C++中运算符包含诸多种类,其中有:算术运算符,赋值运算符,比较运算符和逻辑运算符

每一种运算符及其作用如下表所示:

一,算术运算符1,加减乘除

其中,“+”,“-”运算符既可以代表加减运算,也可表示一个数的正负

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a1=10;
	int b1=3;
	
	cout<<a1+b1<<endl;//13 
	cout<<a1-b1<<endl;//7
	cout<<a1*b1<<endl;//30
	cout<<a1/b1<<endl;//3 10/3显然是循环小数,但在编译程序中,两个整数相除,结果依然是整数,将小数部分去除。 
    
	int a2=10;
	int b2=20;
	cout<<a2/b2<<endl;//0.5,保留整数部分,结果为0 
	
	int a3=10;
	int b3=0;
	cout<<a3/b3<<endl;//异常 除数不能当分母,运行中会直接造成程序中断(非法程序) 
	
	//两个小数可以相除
	double d1=0.5;
	double d2=0.25;
	cout<<d1/d2<<endl; //2
	
	double d3=0.5;
	double d4=0.22;
	cout<<d3/d4<<endl;//2.27273
} 

运算结果:

从上述运算结果也可以看出,编译器在运算a3/b3时,即10/0便直接退出程序了,因为该代码段为非法

2,取模运算%

取模运算即是求余数,如:10%3=1? ? ?10%20=10

    int a4=10;
	int b4=3;
	cout<<a4%b4<<endl;//1
	
	int a5=10;
	int b5=20;
	cout<<a5%b5<<endl;//10
	
	int a6=10;
	int b6=0;
	cout<<a6%b6<<endl; //非法运算 
	//两个数相除除数不能为0,因此也做不了取模运算 
	double d1=3.14;
	double d2=1.1;
	cout<<d1%d2<<endl;//非法运算 
	//另外,C++规定两个小数不能做取模运算 

此外,关于取模运算,C++中还规定了两条规则:1,两个数相除除数不能为0,因此也做不了取模运算;2,取模运算的数必须是整数,两个小数不能做取模运算。

3,递增递减运算符 “++”,“--”

其中,递增递减运算符还有前置和后置的区别。

前置和后置的区别主要在于(以递增为例,递减类似):

前置递增:先让变量+1,然后进行相应表达式的运算;

后置递增:先进行相应表达式的运算,然后让变量+1;

#include<bits/stdc++.h>
using namespace std;
int main(){
	//1,前置递增
	int a=10;
	++a;
	cout<<"a="<<a<<endl; //a=11
	//2,后置递增 
	int b=10;
	b++;
	cout<<"b="<<b<<endl;//b=11
	//3,前置和后置的区别
	//前置递增,先让变量+1,然后进行表达式运算
	int a2=10;
	int b2=++a2*10;//b2=11*10,先对a2+1,再进行运算 
	cout<<"a2="<<a2<<endl;//a2=11
	cout<<"b2="<<b2<<endl;//b2=110
	//后置递增,先进行表达式运算,后让变量+1
	int a3=10;
	int b3=a3++*10;//b3=10*10,先进行表达式运算,运算结束后再将a3+1 
	cout<<"a3="<<a3<<endl;//a3=11
	cout<<"b3="<<b3<<endl;//b3=100
} 

输出结果:

总结:前置递增先对变量进行++,再计算表达式,后置递增则相反。

文章来源:https://blog.csdn.net/qq_52788787/article/details/135404423
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。