C++入门基础--运算符

1、算术运算符

作用:用于四则运算

算术运算符如下:

运算符描述实例
+把两个操作数相加A + B 将得到 30
-从第一个操作数中减去第二个操作数A - B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
--自减运算符,整数值减少 1A-- 将得到 9

示例:

#include <iostream>
using namespace std;
 
int main()
{
   int a = 21;
   int b = 10;
   int c;
 
   c = a + b;
   cout << " c 的值是 " << c << endl ;
   c = a - b;
   cout << " c 的值是 " << c << endl ;
   c = a * b;
   cout << " c 的值是 " << c << endl ;
   c = a / b;
   cout << " c 的值是 " << c << endl ;
   c = a % b;
   cout << " c 的值是 " << c << endl ;
 
   int d = 10;   //  测试自增、自减
   c = d++;
   cout << " c 的值是 " << c << endl ;
 
   d = 10;    // 重新赋值
   c = d--;
   cout << " c 的值是 " << c << endl ;
   return 0;
}
  • c = a / b; // 将a除以b的商赋值给c
  • cout << " c 的值是 " << c << endl; // 输出c的值,此时为2
  • c = a % b; // 将a除以b的余数赋值给c
  • cout << " c 的值是 " << c << endl; // 输出c的值,此时为1
  • c = d++; // 后缀自增:先将d的值赋给c,然后d自增
  • cout << " c 的值是 " << c << endl; // 输出c的值,此时为10,d的值变为11
  • c = d--; // 后缀自减:先将d的值赋给c,然后d自减
  • cout << " c 的值是 " << c << endl; // 输出c的值,此时为10,d的值变为9

2、关系运算符

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。(A == B) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。(A != B) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。(A > B) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。(A < B) 为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。(A >= B) 不为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。(A <= B) 为真。

示例:

#include <iostream> // 包含输入输出流库
using namespace std; // 使用标准命名空间

int main() // 主函数入口
{
   int a = 21; // 声明整型变量a并初始化为21
   int b = 10; // 声明整型变量b并初始化为10
   int c; // 声明整型变量c,未初始化
   
   // 条件判断a是否等于b
   if( a == b )
   {
      cout << " a 等于 b" << endl; // 如果a等于b,输出a等于b
   }
   else
   {
      cout << " a 不等于 b" << endl; // 如果a不等于b,输出a不等于b
   }
   
   // 条件判断a是否小于b
   if ( a < b )
   {
      cout << " a 小于 b" << endl; // 如果a小于b,输出a小于b
   }
   else
   {
      cout << " a 不小于 b" << endl; // 如果a不小于b,输出a不小于b
   }
   
   // 条件判断a是否大于b
   if ( a > b )
   {
      cout << " a 大于 b" << endl; // 如果a大于b,输出a大于b
   }
   else
   {
      cout << " a 不大于 b" << endl; // 如果a不大于b,输出a不大于b
   }
   
   // 改变变量a和b的值
   a = 5; // 将变量a的值设置为5
   b = 20; // 将变量b的值设置为20
   
   // 条件判断a是否小于或等于b
   if ( a <= b )
   {
      cout << " a 小于或等于 b" << endl; // 如果a小于或等于b,输出a小于或等于b
   }
   
   // 条件判断b是否大于或等于a
   if ( b >= a )
   {
      cout << " b 大于或等于 a" << endl; // 如果b大于或等于a,输出b大于或等于a
   }
   
   return 0; // 程序结束,返回0
}

这段代码首先比较了两个变量 a 和 b 的值,并根据比较结果输出不同的信息。然后代码更改了 a 和 b 的值,并再次进行比较,输出相应的信息。

3、逻辑运算符

运算符描述实例
&&称为逻辑与运算符。如果两个操作数都 true,则条件为 true。(A && B) 为 false。
||称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。(A || B) 为 true。
!称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。!(A && B) 为 true。

示例:

#include <iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间

int main() // 主函数入口
{
   int a = 5; // 声明整型变量a并初始化为5
   int b = 20; // 声明整型变量b并初始化为20
   int c; // 声明整型变量c,未初始化
   
   // 使用逻辑AND运算符检查a和b是否都为非零值
   if ( a && b )
   {
      cout << "Line 1 - 条件为真" << endl; // 如果a和b都为真(非零),则输出
   }
   
   // 使用逻辑OR运算符检查a或b是否至少有一个为非零值
   if ( a || b )
   {
      cout << "Line 2 - 条件为真" << endl; // 如果a或b至少有一个为真(非零),则输出
   }
   
   // 改变变量a和b的值
   a = 0; // 将变量a的值设置为0
   b = 10; // 将变量b的值设置为10
   
   // 再次使用逻辑AND运算符检查a和b是否都为非零值
   if ( a && b )
   {
      cout << " 条件为真" << endl; // 如果a和b都为真(非零),则输出
   }
   else
   {
      cout << " 条件为假" << endl; // 如果a和b不都为真(此时a为0),则输出
   }
   
   // 使用逻辑NOT运算符检查a和b是否不都为非零值
   if ( !(a && b) )
   {
      cout << " 条件为真" << endl; // 如果a和b不都为真(此时a为0),则输出
   }
   
   return 0; // 程序结束,返回0
}

这段代码演示了逻辑运算符的使用,包括逻辑AND (&&)、逻辑OR (||) 和逻辑NOT (!)。程序首先检查变量 a 和 b 是否都为非零值,然后检查至少有一个是否为非零值。接着,程序改变 a 的值为0,再次进行逻辑AND运算,由于此时 a 为0,条件不成立,因此输出 " 条件为假"。最后,使用逻辑NOT运算符检查 a 和 b 是否不都为非零值,由于 a 为0,条件成立,因此输出 "条件为真"。

4、赋值运算符

运算符描述实例
=简单的赋值运算符,把右边操作数的值赋给左边操作数C = A + B 将把 A + B 的值赋给 C
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数C -= A 相当于 C = C - A
*=乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
>>=右移且赋值运算符C >>= 2 等同于 C = C >> 2
&=按位与且赋值运算符C &= 2 等同于 C = C & 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C |= 2 等同于 C = C | 2

示例:

#include <iostream>
using namespace std;
 
int main()
{
   int a = 21;
   int c ;
 
   c =  a;
   cout << " =  运算符实例,c 的值 = : " <<c<< endl ;
 
   c +=  a;
   cout << " += 运算符实例,c 的值 = : " <<c<< endl ;
 
   c -=  a;
   cout << " -= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c *=  a;
   cout << " *= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c /=  a;
   cout << " /= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c  = 200;
   c %=  a;
   cout << " %= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c <<=  2;
   cout << " <<= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c >>=  2;
   cout << " >>= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c &=  2;
   cout << " &= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c ^=  2;
   cout << " ^= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c |=  2;
   cout << " |= 运算符实例,c 的值 = : " <<c<< endl ;
 
   return 0;
}

5、C++ 中的运算符优先级

类别 运算符 结合性 
后缀 () [] -> . ++ - -  从左到右 
一元 + - ! ~ ++ - - (type)* & sizeof 从右到左 
乘除 * / % 从左到右 
加减 + - 从左到右 
移位 << >> 从左到右 
关系 < <= > >= 从左到右 
相等 == != 从左到右 
位与 AND 从左到右 
位异或 XOR 从左到右 
位或 OR 从左到右 
逻辑与 AND && 从左到右 
逻辑或 OR || 从左到右 
条件 ?: 从右到左 
赋值 = += -= *= /= %=>>= <<= &= ^= |= 从右到左 
逗号 从左到右 

示例:

#include <iostream> // 包含标准输入输出流库
using namespace std; // 使用标准命名空间

int main() // 主函数入口
{
   int a = 20; // 声明整型变量a并初始化为20
   int b = 10; // 声明整型变量b并初始化为10
   int c = 15; // 声明整型变量c并初始化为15
   int d = 5;  // 声明整型变量d并初始化为5
   int e;      // 声明整型变量e,未初始化

   // 计算表达式(a + b) * c / d的值并赋给变量e
   e = (a + b) * c / d;      // 先计算括号内的a+b得到30,然后乘以c得到450,最后除以d得到90
   cout << "(a + b) * c / d 的值是 " << e << endl; // 输出e的值,即90

   // 计算表达式((a + b) * c) / d的值并赋给变量e
   e = ((a + b) * c) / d;    // 和上一个表达式相同,结果也是90
   cout << "((a + b) * c) / d 的值是 " << e << endl; // 输出e的值,即90

   // 计算表达式(a + b) * (c / d)的值并赋给变量e
   e = (a + b) * (c / d);   // 先计算括号内的c/d得到3,然后a+b得到30,最后两者相乘得到90
   cout << "(a + b) * (c / d) 的值是 " << e << endl; // 输出e的值,即90

   // 计算表达式a + (b * c) / d的值并赋给变量e
   e = a + (b * c) / d;     // 先计算括号内的b*c得到150,然后除以d得到30,最后加上a得到50
   cout << "a + (b * c) / d 的值是 " << e << endl; // 输出e的值,即50

   return 0; // 程序结束,返回0
}

在C++中,算术运算符的优先级是:先乘除后加减,括号内的运算优先级最高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值