目标
掌握C++支持的各种运算符和应用
掌握C++支持的由各种运算符和常量变量构成的表达式,语句及其应用

运算符

C++中包含了C语言中的运算符和表达式,并且又增加了一些新的运算符。
::作用域运算符
new动态分配内存单元运算符
delete删除动态分配的内存单元运算符
*是成员指针选择运算符
->*是成员指针运算符

算术运算符
C++的算术运算符包含单目运算符和双目运算符。单目运算符有减,增量,减量运算符。双目运算符有加,减,乘,除和模运算符。


单目减相当于负号,即操作数取负号
增量运算有前缀增量和后缀增量

  • 前缀增量:++<运算分量> 表示使用运算分量前其值加1
  • 后缀增量:<运算分量>++表示使用运算分量后加1
    减量运算除了加法改为减法外,其他和增量运算完全相同
    优先级:单目运算符>* 或、>%>+或-

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a=5;int b=3;int c=1,d=2,e=6;int res=0;res = a+b-c/d+e%d;cout<<"运算结果为:"<<res<<endl;getchar();return 0;

赋值运算符
<变量名>=<表达式>

  • 表达式类型需要与变量的类型一致

  • “=”为赋值运算符,其不同于数学上的等号,赋值运算符的运算规则是先计算右边表达式的值,然后将值赋给左边的变量

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int i ,sum;sum=0;for(i=1;i<=100;i++){sum += i;   //循环相加}cout<<"运算结果为"<<sum<<endl;getchar();return 0;
}

关系运算符
关系运算符是双目运算符,作用是将两个运算分量进行大小比较,运算结果类型为布尔数据类型。

逻辑运算符
三种逻辑运算符,单目运算符有,逻辑非(!),双目运算符有逻辑与(&&)和逻辑或(||)

条件运算符
三目运算符;
<表达式1>?<表达式2>:<表达式3>

  • 表达式1必须是布尔类型。
  • 表达式执行的顺序是先求解表达式1;若1的值为true,求解表达式2,2的值为最终结果。如1的值为false,求解表达式3,3的值为最终结果。
  • 条件运算符优先级高于赋值运算符优先级,低于逻辑运算符,其结合性从右到左。
#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a,b,x;cout<<"请输入两个数的值"<<endl;cin>>a>>b;x=a>b?a:b;cout<<"大的数值是"<<x<<endl;getchar();getchar();return 0;
}

逗号运算符
<表达式1>,<表达式2>

  • 表达式的执行顺序是,先求解表达式1,再求解表达式2,最终结果为表达式2的值,
  • 逗号运算符是优先级最低的运算符

位运算符


sizeof运算符
一般格式
sizeof(<类型名或表达式>)

运算符优先级

表达式

表达式是由运算符和操作数组成的式子。

算术表达式
算术表达式由算术运算符和位操作运算符组成的表达式。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a,b,m=3,n=4;a=7*2+-3%5-4/3;b=(m++)-(--n);cout<<a<<"\t"<<b<<"\t"<<m<<"\t"<<n<<endl;getchar();return 0;
}

关系表达式
由关系运算符组成的表达式为关系表达式。运算结果为逻辑型。常用在条件和循环语句中。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{char x='m',y='n';int n;n=x<y;cout<<n<<endl;n=x==y-1;cout<<n<<endl;n=('y' !='Y')+(5<3)+(y-x==1);cout<<n<<endl;getchar();return 0;
}

逻辑表达式
由逻辑运算符组成的表达式。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a=3,b=0;int result;result =! a && a+b && a++;    //只要有一个不为0的就不在计算其他子表达式cout<<result<<endl;result =!a||a++||b++; //只要有一个为真就不再计算cout<<result<<endl;getchar();return 0;
}

条件表达式
由三目运算符“?:”组成的表达式为条件表达式。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a=3,b=4,c;c = a > b ? ++a : ++b;//5cout<<a<<","<<b<<","<<c<<endl;c=a-b?a-3?b:b-a:a;//嵌套条件表达式 值为2cout<<a<<","<<b<<","<<c<<endl;getchar();return 0;
}

赋值表达式
由赋值运算符组成的表达式为赋值表达式。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a,b,c,d;int m=3,n=4;a=b=c=d=5/2;cout<<a<<"\t"<<b<<"\t"<<c<<"\t"<<d<<endl;m *= n+1;cout<<m<<"\t"<<n<<endl;getchar();return 0;
}

逗号表达式
逗号表达式是用逗号将若干表达式连接起来组成的表达式。

#include "stdafx.h"
#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{int a,b,c;a=1,b=2,c=a+b+3;cout<<a<<','<<b<<','<<c<<endl;c=(a++,a+=b,a-b);cout<<a<<','<<b<<','<<c<<endl;getchar();return 0;
}

语句

语句由表达式构成。

语句中的空格
语句中存在部分空格,保证程序的可读性。

空语句
语句也可以是直接是一个分号,这种语句称为空语句。一般用于语法上要求有一条语句但实际没有任何操作的场合。
例如

for(i=1;i<10;i++)
;//空语句 起延时作用

声明语句
主要作用是完成指定变量的定义。基本格式如下:
<数据类型><变量1>……<变量n>

赋值语句
赋值语句实现为指定变量获得指定值的操作。

参考:《21天学通C++》作者:刘蕾

C++学习笔记——第三天运算符和表达式相关推荐

  1. Mysql学习笔记(三)运算符和控制流函数

    原文:Mysql学习笔记(三)运算符和控制流函数 本章学习内容: 1.操作符 2.控制流程函数 操作符: i.圆括号.. 简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序...这个想必大 ...

  2. java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

    java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...

  3. Java学习笔记2.3.3 运算符与表达式 - 关系运算符

    文章目录 零.本讲学习目标 一.关系运算符概念 二.关系运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.比较两个学生成绩 任务2.求解一元二次方程 零.本讲学习目标 掌握Java ...

  4. JavaSE学习笔记(三)——运算符与控制语句

    一.   Java中的运算符 在Java中,按功能划分主要包含一下运算符. 1.算术运算符 2.关系运算符 3.布尔运算符 4.赋值运算符 5.字符串连接运算符 6.条件运算符 7.其他运算符,如:i ...

  5. B站韩顺平java学习笔记(三)--运算符章节

    目录 一.算术运算符 1.  表格 2.  练习题: 二. 关系运算符 1.  表格 三.逻辑运算符 1.  表格 2.  练习题 四.赋值运算符 1.  介绍 2.细节特点 五.三元运算符 1.  ...

  6. Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符

    文章目录 零.本讲学习目标 一.逻辑运算符概述 二.逻辑运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 任务1.闰年判断 课堂练习:计算三角形面积 零.本讲学习目标 掌握逻辑运算符的基本 ...

  7. Java学习笔记2.3.2 运算符与表达式 - 赋值运算符

    文章目录 零.本讲学习目标 一.赋值运算符概念 二.赋值运算符使用 (一)分类说明表 (二)注意事项 (三)案例演示 1.一次对多个变量赋值 2.演示复合赋值运算符 零.本讲学习目标 掌握赋值运算符的 ...

  8. Java学习笔记2.3.6 运算符与表达式 - 条件运算符

    文章目录 零.本讲学习目标 一.条件运算符概念 二.条件运算符使用 (一)语法格式 (二)案例演示 任务1.计算分段函数值 思考题:不用条件运算符怎么计算分段函数值? 任务2.根据输入年龄提示不同信息 ...

  9. 《Go语言圣经》学习笔记 第三章 基础数据类型

    <Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...

最新文章

  1. 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)
  2. ABAP销售合同冻结Bapi
  3. Openfire on Centos7
  4. jeewms仓库管理系统源码
  5. c语言调用库函数,C语言库函数调用文件
  6. android 人脸识别边框_虹软人脸识别 - Android Camera实时人脸追踪画框适配
  7. 操作系统课后答案第三章
  8. 查看oracle客户端的版本,Oracle客户端版本及位数(Windows系统)查看方法
  9. Anaconda版本与Python版本对应关系
  10. 华硕电脑连接不上wifi_笔记本无法连接无线网络WiFi的解决办法
  11. python123货币转换器_Python货币换算I,Python123python,转换
  12. 小米android10升级版本,小米9 MIUI安卓10开发版已开始推送,建议大家不要去升级!...
  13. 玩家如何在游戏中使用辅助脚本
  14. idea在自动注入DiscoveryClient的时候报错
  15. 0.96寸OLED(SSD1306)屏幕显示(一)——基础功能介绍
  16. Altium designer软件常用最全封装库,包含原理图库、PCB库和3D模型库
  17. 网站搜索引擎优化问题
  18. Revit综合插件使用教程,综合插件主要的几个功能(上)
  19. ProgressDialog(带进度条的对话框)的基本使用
  20. 在Livemedia的基础上开发自己的流媒体客户端

热门文章

  1. 社保账号按身份证查询
  2. np.random.seed()函数
  3. QMC5883L说明文档
  4. C/S,B/S与P2P架构
  5. android的虚拟机
  6. Objective-C简介
  7. 这些“黑话”只有PCB设计制造内行人才懂!附PCB术语及英文对照
  8. Ubuntu18.04下安装git记录
  9. 10-38 A4-7在订单详细信息表中查找包含产品种类数超过特定值的订单信息 (20 分)
  10. windows下vue-cli及webpack 构建网站(二)导入bootstrap样式