在之前我们介绍了变量的定义等相关内容,让我们再次回顾,记忆 记忆,记忆、
#include<iostream> //预处理指令
using namespace std; //引用命名空间
const int PI=3.14; //定义一个常量PI
int main() //主函数
{
int a,b=1,c=2 //定义整型常量,其中对b赋初值,整型变量为4个字节
a=3;
char name; //定义一个字符型变量,字符型为1个字节
name='A'; //对一个字符型变量进行赋值,只能用单引号括单个字符。注意汉字为2个,不能用于定义字符型变量。
double average=3.14159;//定义双精度类型,8个字节,15位有效数字。
float num=1.34141; //定义单精度型,4个字节,7位有效数字。
bool t=0; //定义布尔型变量,1个字节
cout<<a<<b<<c<<endl;//输出指令,endl为回车,即跳行,根据实际情况决定加不加。
cout<<name<<endl;
return 0;
}
接下来,我将介绍C++中的运算符。
目录
1.4运算符与表达式
任何高级程序设计语言中,表达式都是最基本的组成部分,可以说C++中的大部分语句都是由表达式构成的。
C++语言中的定义了丰富的运算符,如算数运算符,关系运算符,逻辑运算符等等。
接下来介绍两个概念
1.二元运算符(也叫双目运算符)
规则如下
<操作数1> 运算符 <操作数2>
例如
2+3
2.一元运算符(也叫单目运算符)
这类运算符只需要一个操作数,例如 i++ 。
1.4.1 算数表达式
接下来,就开始主要内容,运算符——
包括,,算数运算符,,自增运算符,,自减运算符
基本的算数运算符
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
++ | 自增 |
-- | 自减 |
以上符号的优先级与数学中的一致,即先乘除,后加减,同级运算则自左向右。
注意:1.取余运算符只能用于整型的变量
2.当除号/用于两个整型数据时,则只取整数部分,并且不会遵循四舍五入!!
1.4.2 自增运算符和自减运算符
自增运算符,即给自己加一;自减运算符,即给自己减一
自增运算又分为前置和后置,意思就是放在变量的前面和后面
前置形式(符号在前,i为加一后的值)
#include<iostream> //预处理指令
using namespace std; //引用命名空间
int main() //主函数
{
int i=1,j=1;
int a,b;
a = ++i; //前置自增,即先增后赋值,i=1,则++i=2,故a=2
b = --j; //前置自减,即先减后赋值,j=1,则--j=0,故b=0
cout<<a<<endl;
cout<<b<<endl;
cout<<i<<endl;
cout<<j<<endl;
return 0;
}
/*
输出结果为:
2
0
2
0
*/
后置形式(符号在后,即先用原始变量操作后,再自增或自减)
#include<iostream> //预处理指令
using namespace std; //引用命名空间
int main() //主函数
{
int i=1,j=1;
int a,b;
a = i++; //后置自增,即先赋值后自增,i=1,则a=1,然后进行i自增,i=2
b = j--; //后置自减,即先赋值后自减,j=1,则b=1,然后进行j自减,j=0
cout<<a<<endl;
cout<<b<<endl;
cout<<i<<endl;
cout<<j<<endl;
return 0;
}
/*
输出结果为:
1
1
2
0
*/
可能上面的代码有点复杂,举个更简单的例子
#include<iostream> //预处理指令
using namespace std; //引用命名空间
int main() //主函数
{
int i=1,j=1;
cout<<++i<<endl; //先自增,即输出结果为 2
cout<<--j<<endl; //先自减,即输出结果为 0
return 0;
}
#include<iostream> //预处理指令
using namespace std; //引用命名空间
int main() //主函数
{
int i=1,j=1;
cout<<i++<<endl; //先输出i的初始值,再自增。即这句输出结果为 1
cout<<j--<<endl; //先输出j的初始值,再自减。即这句输出结果为 1
cout<<i<<endl; //i为自增后的值,即输出为 2
cout<<j<<endl; //j为自减后的值,即输出为 0
return 0;
}
好了,这就是自增运算符和自减运算符,大家理解了吗
如果不理解,可以在评论区留言哦
1.4.3 赋值表达式
话不多说,直接上符号
符号 | 名称 | 例子 |
= | 等号(赋值) | a=1 |
+= | 加等 | a+=1等同a=a+1 |
-= | 减等 | a-=1等同a=a-1 |
*= | 乘等 | a*=2等同a=a*2 |
/= | 除等 | a/=2等同a=a/2 |
%= | 取余等 | a%=2等同a=a%2 |
上面这几个都是由算术运算符和赋值符号(=)复合而成,可以使代码更加简便。
其实,还有其他组合,就是赋值符号与位运算符复合,作为零基础的我们,可以先不需要了解位运算符的概念,这里就不做介绍。
以上几种运算符的优先级与等号同级,结合性也是自右向左。例如
b+=2; //等同于b=b+2
x*=y+3; //等同于x=x*(y+3)
x+=x-=x*x //等同于x=x+(x=x-x*x)
在这里介绍一个比较不常见的表达式
逗号表达式
顾名思义就是用逗号将每个表达式分隔开,其求解过程是按顺序从左到右依次进行计算
规则如下
<表达式1>, <表达式2>, <表达式3>, <表达式4>, ……
例如
x = 2 * 5, x * 4;
//先将2*5的结果赋值给x,再计算10*4
//即,该表达式的结果为40
//注意 是表达式的结果为40,x的值不等于40
注意注意,上面是表达式结果为40,不是x的值为40
具体举例说明
#include<iostream>
using namespace std;
int main()
{
int x, a;
a = (x = 2 * 5, x * 4);
cout << x << endl; //输出x的值为10
cout << a<< endl; //输出a的值为40
return 0;
}
讲到这里,你还记得前面的内容吗,我来帮你回顾一下,心里想想,
什么是一元运算符,
什么是二元运算符,
算数运算符有哪些,优先级是怎样的
前置自增和后置自增有什么区别,
赋值表达式有哪些,优先级如何
逗号表达式的计算以及注意事项
这次就介绍到这里吧,关注我,下期更精彩