【C++知识点总结全系列 (02)】:C++中的语句、运算符和表达式详细总结

文章目录

  • 1、语句
    • (1)简单语句
      • A.空语句
      • B.复合语句
    • (2)条件语句
    • (3)迭代语句
      • A.常规for循环
      • B.范围for循环
      • C.while和do...while
    • (4)跳转语句
      • A.break语句
      • B.continue语句
      • C.goto语句
    • (5)异常处理语句
      • A.标准异常
      • B.throw抛出异常
    • (6)try语句
  • 2、运算符
    • (1)算术运算符
    • (2)关系运算符
    • (3)逻辑运算符
    • (4)赋值运算符
    • (5)自增自减运算符
    • (6)位运算符
    • (7)条件运算符
    • (8)sizeof运算符
    • (9)其他运算符
      • A.成员访问运算符
      • B.解除引用运算符
  • 3、表达式
    • (1)What(什么是表达式)
    • (2)How(如何组成表达式)
    • (3)优先律和结合律
  • 4、总结(脑图总结)

1、语句

(1)简单语句

A.空语句

;

B.复合语句

用花括号括起来的语句或声明序列,也被称为“块”,块不以分号为结束

(2)条件语句

if…else

switch(int){ case expr: … break;)

(3)迭代语句

A.常规for循环

for(int i=0; i<10; ++i)
{std::cout<<i<<std::endl;
}

B.范围for循环

对象是:列表,数组、string、拥有迭代器 begin 和 end 的容器

for(auto &i : vIdx)
{std::cout<<i<<std::endl;
}

C.while和do…while

do…while是先执行一次在进入while语句判断条件是否成立

(4)跳转语句

A.break语句

终止离它最近的while、do…while、for、switch等语句

B.continue语句

终止当前迭代,进行下一次迭代

C.goto语句

无条件跳转到同函数内的另一条语句

110行:End_label: return;
99行:goto End_label;

(5)异常处理语句

A.标准异常

在这里插入图片描述

B.throw抛出异常

throw runtime_error("Failed to something!");

(6)try语句

try用于捕获异常,catch用于判断异常类型并处理异常

try
{...
}catch(errorType01 error01)
{//处理error01
}catch(errorType02 error02)
{//处理error02
}
...

2、运算符

(1)算术运算符

运算符功能用法
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%求余a % b

(2)关系运算符

运算符功能用法
<小于a < b
<=小于等于a <= b
>大于a > b
>=大于等于a >= b
==相等if ( a == b )
!=不相等if ( a != b )

(3)逻辑运算符

运算符功能用法
&&逻辑与if (bIsNum && bIsBigger )
||逻辑或if (bIsNum || bIsBigger )
!逻辑非!imSrc.empty()

(4)赋值运算符

给变量赋一个值

int iYear = 1978;

(5)自增自减运算符

可以将自增自减运算符看作是函数。既然是函数,我们主要关注输入和输出,前缀自增自减运算符先进行“自增自减”运算,然后返回一个引用。后缀自增自减运算符对原始值“自增自减”操作,但返回的是一个中间变量,该中间变量是没有被修改的原始值
例:已知

int a = 10
运算符使用
int b = ++a自增之后再返回引用(b的值为11,a的值为11)
int b = a++自增之后再返回引用(b的值为10,a的值为11)

自减运算符和自增运算符逻辑一致

(6)位运算符

以二进制的形式运行

运算符说明
&与(出现0则为0)
|或(出现1则为1)
^异或(相同为0,不同为1)

(7)条件运算符

也被称为“三元运算符”

int ia = 1998;
int ib = 2024;
int iMax = (ia>ib) ? ia : ib;

(8)sizeof运算符

A.Why(sizeof运算符的作用):

返回一个表达式或类型名所占的字节数,满足结合律
返回的是表达式或变量固定所占有的内存大小,而非实际元素的大小

int iAs[10];
std::cout<<sizeof(a)<<std::endl; //返回的是10
int *pa = iAs;
std::cout<<sizeof(pa)<<std::endl; //指针所占的空间大小(32->4Byte, 64->8Byte)

(9)其他运算符

A.成员访问运算符

  • 成员访问运算符(.),用于访问对象的成员变量或函数
  • 成员访问运算符(->),当对象是指针形式,使用该运算符访问对象的变量或函数

B.解除引用运算符

解除引用运算符(*),用于访问指针所指向的对象

3、表达式

(1)What(什么是表达式)

由一个或多个运算对象组成,表达式求值会得到一个结果,字面值和变量是最简单的表达式。

(2)How(如何组成表达式)

将多个运算符和运算对象有机组合起来形成一个表达式

int iSum = ia + (ib * ic);

(3)优先律和结合律

不用刻意记忆,用到的时候查一下就知道怎么使用了
在这里插入图片描述
在这里插入图片描述

4、总结(脑图总结)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cybervadis认证是什么?

Cybervadis认证是一种全面且深入的网络安全评估和认证服务&#xff0c;旨在帮助组织提高其网络安全实践的成熟度&#xff0c;并有效应对不断变化的网络威胁和攻击。以下是关于Cybervadis认证的一些关键信息&#xff1a; 认证目的&#xff1a; 评估和验证组织在网络安全方面的能…

Andrej Karpathy提出未来计算机2.0构想: 完全由神经网络驱动!网友炸锅了

昨天凌晨&#xff0c;知名人工智能专家、OpenAI的联合创始人Andrej Karpathy提出了一个革命性的未来计算机的构想&#xff1a;完全由神经网络驱动的计算机&#xff0c;不再依赖传统的软件代码。 嗯&#xff0c;这是什么意思&#xff1f;全部原生LLM硬件设备的意思吗&#xff1f…

HarmonyOS开发实战:UDP通讯示例规范

1. UDP简介 UDP协议是传输层协议的一种&#xff0c;它不需要建立连接&#xff0c;是不可靠、无序的&#xff0c;相对于TCP协议报文更简单&#xff0c;在特定场景下有更高的数据传输效率&#xff0c;在现代的网络通讯中有广泛的应用&#xff0c;以最新的HTTP/3为例&#xff0c;…

vmware虚拟机安装openEuler

一、openEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux&#xff0c;支持鲲鹏及其它多种处理器&#xff0c;能够充分释放计算芯片的潜能&#xff0c;是由全球开源贡献者构建的高效、稳定、安全的开源操作系统&#xff0c;适用于数据库、大数据、云计算、…

EEPROM内部原理

A2, A1, A0是EEPROM的地址引脚&#xff0c;用于设置设备地址。它们的作用如下&#xff1a; 设备寻址&#xff1a; 这三个引脚允许在I2C总线上唯一地标识EEPROM芯片。通过不同的连接方式&#xff08;接高、接低或悬空&#xff09;&#xff0c;可以为同一类型的EEPROM芯片设置不同…

1uH电感SK6615电流1.5A频率2MHz输入5.5V同步降压转换器

SK6615C 1.5A 2MHz 5.5V同步降压转换器 SK6615 SOT23-5封装和丝印LA 描述 该SK6615C是一款高效、DC-DC降压型开关稳压器&#xff0c;能够提供高达1.5A的输出电流。该器件的工作输入电压范围为 2.6V 至 5.5V&#xff0c;输出电压范围为 0.6V 至 VIN。工作频率为2MHz&#xff0c…

02.C1W1.Sentiment Analysis with Logistic Regression

目录 Supervised ML and Sentiment AnalysisSupervised ML (training)Sentiment analysis Vocabulary and Feature ExtractionVocabularyFeature extractionSparse representations and some of their issues Negative and Positive FrequenciesFeature extraction with freque…

玩具租赁系统(安装+讲解+源码)

技术栈: 后端: SpringBoot Mysql MybatisPlus 前端: Vue Element 分为 管理员端 用户端 功能: 用户端 管理员端 观看地址: B站搜&#xff1a; 【毕设者】玩具租赁系统(安装讲解源码)

Java高级重点知识点-13-数据结构、List集合、List集合的子类

文章目录 数据结构List集合List的子类&#xff08;ArrayList集、LinkedList集&#xff09; 数据结构 栈 stack,又称堆栈&#xff0c;它是运算受限的线性表&#xff0c;其限制是仅允许在标的一端进行插入和删除操作&#xff0c;不允许在其他任何位置进行添加、查找、删除等操作…

cesium 添加 Echarts图层(人口迁徒图)

cesium 添加 Echarts 人口迁徒图(下面附有源码) 1、实现思路 1、在scene上面新增一个canvas画布 2、通坐标转换,将经纬度坐标转为屏幕坐标来实现 3、将ecarts 中每个series数组中元素都加 coordinateSystem: ‘cesiumEcharts’ 2、示例代码 <!DOCTYPE html> <ht…

PCIe Switch

如图所示&#xff0c;pcie Switch 被定义为多个虚拟PCI-to-PCI Bridge设备的逻辑集合。所有交换机由以下基本规则管理。 . Switch在配置软件中表现为两个或多个逻辑PCI-to-PCI桥 不需要支持下行端口作为锁定请求的发起端口. 每个enable的端口必须符合“流量控制”规范。 .S…

Linux之进程控制(上)

目录 进程创建 进程终止 进程退出码 进程终止的方式 进程等待 进程等待的方式 status概述 总结 上期我们学习了Linux中进程地址空间的概念&#xff0c;至此进程的所有基本概念已经全部学习完成&#xff0c;今天我们将开始学习进程相关的操作。 进程创建 进程创建其实…

理解MySQL存储引擎:掌握数据存储与管理

在工作或学习过程中&#xff0c;作为一名数据库管理员或开发者&#xff0c;我们常常需处理大量数据&#xff0c;同时确保数据的可靠性与高效性。MySQL作为最受欢迎的开源数据库之一&#xff0c;其强大的性能和灵活性广为人知。而在MySQL背后的存储引擎则起到了至关重要的作用。…

强对抗的 SquidLoader 针对中国企业发起攻击

研究人员近期发现了一种高对抗强度的 Loader&#xff0c;其通过钓鱼邮件附件传递给受害者。根据恶意软件所具备的引诱和规避行为&#xff0c;研究人员将其命名为 SquidLoader。SquidLoader 最早在 2024 年 4 月下旬被发现&#xff0c;但研究人员认为其至少已经活跃了一个月以上…

Vue 数据大屏适配

1、准备俩个盒子 .dataScreen-content 盒子内容根据设计稿给的px单位进行正常的布局就行 2、盒子的CSS样式 .dataScreen-container {width: 100%;height: 100%;// 有背景图需要的样式background: url("./images/bg.png") no-repeat;background-repeat: no-repeat;b…

入门PHP就来我这(纯干货)04

~~~~ 有胆量你就来跟着路老师卷起来&#xff01; -- 纯干货&#xff0c;技术知识分享 ~~~~ 路老师给大家分享PHP语言的知识了&#xff0c;旨在想让大家入门PHP&#xff0c;并深入了解PHP语言。 我们接着《想入门PHP就来我这&#xff08;纯干货&#xff09;03》继续往下学习&am…

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…

JavaScript中的Array(数组)对象

目录 一、Array数组对象 1、介绍 2、创建数组对象并赋值 3、访问数组元素 二、Array对象属性 1、constructor属性 2、length属性 3、prototype属性 三、Array对象的常用方法 1、isArray() 2、concat() 3、pop() 4、shift() 5、push() 6、unshift() 7、reverse(…

高性价比宠物空气净化器分享,希喂、霍尼韦尔、有哈PK

近期&#xff0c;家中的小猫咪仿佛化身为行走的“蒲公英”&#xff0c;掉毛现象愈发严重&#xff0c;家中每个角落乃至空气中都弥漫着难以忽视的猫毛&#xff0c;衣物更是无一幸免&#xff0c;披上了毛茸茸的“外衣”。更令人啼笑皆非的是&#xff0c;就连不经意间清理的眼屎中…

VQA视觉问答系统

这是一个典型的多模态问题,融合了CV与NLP的技术,计算机需要同时学会理解图像和文字。 Joint embedding 首先,图像和问题分别由CNN和RNN进行第一次编码得到各自的特征,随后共同输入到另一个编码器中得到joint embedding,最后通过解码器输出答案。 值得注意的是,有的工作…