1. C++表达式概念介绍
在C++中,表达式是由一组运算符和操作数组成的语句,用于执行特定的计算或操作。表达式的值可以是数字、变量、函数调用、逻辑运算、比较运算等。在本篇文章中,我们将详细介绍C++中常用的运算符。
2. 算术运算符
2.1 加法运算符
加法运算符用于将两个操作数相加,其语法如下:
result = num1 + num2;
其中,result变量存储相加后的值,num1和num2表示要相加的两个操作数。下方代码展示了一个加法运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 10, num2 = 20, result;
result = num1 + num2;
cout << "num1 + num2 = " << result << endl;
return 0;
}
此程序的输出结果为:
num1 + num2 = 30
这里要注意的是,加号在某些情况下也可以用于字符串的连接,将两个字符串拼接为一个。
2.2 减法运算符
减法运算符用于将后面的操作数减去前面的操作数,其语法如下:
result = num1 - num2;
其中,result变量存储相减后的值,num1和num2表示要相减的两个操作数。下方代码展示了一个减法运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 50, num2 = 20, result;
result = num1 - num2;
cout << "num1 - num2 = " << result << endl;
return 0;
}
此程序的输出结果为:
num1 - num2 = 30
需要注意的是,减法运算符也可以用于指针类型的数据,表示两个指针之间的距离。
2.3 乘法运算符
乘法运算符用于将两个操作数相乘,其语法如下:
result = num1 * num2;
其中,result变量存储乘积的值,num1和num2表示要相乘的两个操作数。下方代码展示了一个乘法运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 6, num2 = 7, result;
result = num1 * num2;
cout << "num1 * num2 = " << result << endl;
return 0;
}
此程序的输出结果为:
num1 * num2 = 42
需要注意的是,乘法运算符也可以用于字符类型的数据,表示重复一个字符多次。
2.4 除法运算符
除法运算符用于将前面的操作数除以后面的操作数,其语法如下:
result = num1 / num2;
其中,result变量存储商的值,num1和num2表示要相除的两个操作数。需要注意的是,如果相应的类型是整型,则结果将是整数结果(该值被截断),而如果某一个操作数是浮点数类型,则结果会保留小数点。
下方代码展示了一个除法运算的示例:
#include <iostream>
using namespace std;
int main()
{
float num1 = 18.5, num2 = 5.0, result;
result = num1 / num2;
cout << "num1 / num2 = " << result << endl;
return 0;
}
此程序的输出结果为:
num1 / num2 = 3.7
2.5 取模运算符
取模运算符用于计算两个整数之间的余数,其语法如下:
result = num1 % num2;
其中,result变量存储余数的值,num1和num2表示要参与取模运算的两个整数。下方代码展示了一个取模运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 15, num2 = 4, result;
result = num1 % num2;
cout << "num1 % num2 = " << result << endl;
return 0;
}
此程序的输出结果为:
num1 % num2 = 3
3. 逻辑运算符
3.1 与运算符
与运算符用于检查两个表达式是否都为真,其语法如下:
result = expression1 && expression2;
其中,result变量存储运算结果的值,expression1和expression2表示要检查的两个表达式。下方代码展示了一个与运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 10, num2 = 20;
if(num1 > 5 && num2 < 50)
{
cout << "Both num1 and num2 are true" << endl;
}
return 0;
}
此程序的输出结果为:
Both num1 and num2 are true
3.2 或运算符
或运算符用于检查两个表达式中是否有一个为真,其语法如下:
result = expression1 || expression2;
其中,result变量存储运算结果的值,expression1和expression2表示要检查的两个表达式。下方代码展示了一个或运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 10, num2 = 30;
if(num1 > 5 || num2 < 20)
{
cout << "Either num1 or num2 is true" << endl;
}
return 0;
}
此程序的输出结果为:
Either num1 or num2 is true
3.3 非运算符
非运算符用于翻转表达式的值,将真变假,将假变真,其语法如下:
result = !expression;
其中,result变量存储运算结果的值,expression表示要操作的表达式。下方代码展示了一个非运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 10;
if(!(num1 > 15))
{
cout << "num1 is not greater than 15" << endl;
}
return 0;
}
此程序的输出结果为:
num1 is not greater than 15
4. 比较运算符
4.1 大于运算符
大于运算符用于检查前面的操作数是否大于后面的操作数,其语法如下:
result = num1 > num2;
其中,result变量存储运算结果的值,num1和num2表示要比较的两个操作数。下方代码展示了一个大于运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 25, num2 = 10;
if(num1 > num2)
{
cout << "num1 is greater than num2" << endl;
}
return 0;
}
此程序的输出结果为:
num1 is greater than num2
4.2 小于运算符
小于运算符用于检查前面的操作数是否小于后面的操作数,其语法如下:
result = num1 < num2;
其中,result变量存储运算结果的值,num1和num2表示要比较的两个操作数。下方代码展示了一个小于运算的示例:
#include <iostream>
using namespace std;
int main()
{
float num1 = 3.5, num2 = 6.2;
if(num1 < num2)
{
cout << "num1 is less than num2" << endl;
}
return 0;
}
此程序的输出结果为:
num1 is less than num2
4.3 大于等于运算符
大于等于运算符用于检查前面的操作数是否大于或等于后面的操作数,其语法如下:
result = num1 >= num2;
其中,result变量存储运算结果的值,num1和num2表示要比较的两个操作数。下方代码展示了一个大于等于运算的示例:
#include <iostream>
using namespace std;
int main()
{
float num1 = 5.1, num2 = 5.1;
if(num1 >= num2)
{
cout << "num1 is greater than or equal to num2" << endl;
}
return 0;
}
此程序的输出结果为:
num1 is greater than or equal to num2
4.4 小于等于运算符
小于等于运算符用于检查前面的操作数是否小于或等于后面的操作数,其语法如下:
result = num1 <= num2;
其中,result变量存储运算结果的值,num1和num2表示要比较的两个操作数。下方代码展示了一个小于等于运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 100, num2 = 120;
if(num1 <= num2)
{
cout << "num1 is less than or equal to num2" << endl;
}
return 0;
}
此程序的输出结果为:
num1 is less than or equal to num2
5. 赋值运算符
赋值运算符用于为变量分配一个值,其语法如下:
variable = expression;
其中,variable表示要被赋值的变量,expression表示要被赋给变量的值。下方代码展示了一个赋值运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1, num2;
num1 = 10;
num2 = num1;
cout << "num2 is " << num2 << endl;
return 0;
}
此程序的输出结果为:
num2 is 10
6. 位运算符
位运算符是用于执行二进制位操作的运算符,通常用于比特处理。在此我们只讨论C++中的三个主要的位运算符,分别是按位与、按位或和按位异或。
6.1 按位与运算符
按位与运算符用于对两个操作数中对应二进制位执行逻辑与操作,其语法如下:
result = num1 & num2;
其中,result变量存储运算结果的值,num1和num2表示要进行按位与运算的两个操作数。下方代码展示了一个按位与运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 15, num2 = 20, result;
result = num1 & num2;
cout << "Result of bitwise AND: " << result << endl;
return 0;
}
此程序的输出结果为:
Result of bitwise AND: 4
6.2 按位或运算符
按位或运算符用于对两个操作数中对应二进制位执行逻辑或操作,其语法如下:
result = num1 | num2;
其中,result变量存储运算结果的值,num1和num2表示要进行按位或运算的两个操作数。下方代码展示了一个按位或运算的示例:
#include <iostream>
using namespace std;
int main()
{
int num1 = 12, num2 = 25, result;
result = num1 | num2;
cout << "Result of bitwise OR: " << result << endl;
return 0;
}
此程序的输出结果为:
Result of bitwise OR: 29
6.3 按位异或运算符
按位异或运算符用于对两个操作数中对应二进制位执行逻辑异或操作,其语法如下: