深入浅出的C++Primer教程(第五章)语句

深入浅出的c++教程(基于C++Primer)第一章 这份教程严格意义上来说是我学习C++Peimer这本书的时候的感悟和经验,其中章节排布以及示例会尽量贴近这本书,因此,在观看本教程时建议边看这本书以加深理解,如果需要电子版可以点击这里自取电子版C++Primer及课后题答案,希望各位同学看完本教程能对c++有更深层次的了解。这一章很奇怪,如果是我的话应该会放到后面和类一起讲,但是为了和书中讲述的知识点相匹配,我们还是根据书中的知识讲。首先,当我们需要了解类是个什么玩意儿,在C++中,我们通过定义一个类(class)来定义自己的数据结构。 阅读详情

写在前面

没想到这么快就到了第五章

5.1 简单语句

C++语言中的大多数语句都以分号结束,一个表达式,比如iva1+5,末尾加上分号就变成了表达式语句(expression statement)。表达式语句的作用是执行表达式并丢弃掉求值结果。

复合语句(compound statement)是指用花括号括起来的(可能为空的)语句和声明的序列,复合语句也被称作块(block)。一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块里访问。通常,名字在有限的区域内可见,该区域从名字定义处开始,到名字所在的(最内层)块的结尾为止。

5.2 语句作用域

可以在if、switch、while和for语句的控制结构内定义变量。定义在控制结构当中的变量只在相应语句的内部可见,一旦语句结束,变量也就超出其作用范围了

5.3 条件语句

5.3.1 if语句

这个很简单,记住,if语句可以单独存在,也可以搭配else存在,也可以在if或者else中嵌套。给个例子

if(条件1)
{
	if(在条件1的前提下判断条件2)
	{
		执行分枝1;
	}
	else
	{
		执行分枝2;
	}
}
else if(条件3)
{
	执行分枝3;
}
else
{
	执行分枝4;
}
悬垂else

那如果,if数量比else多呢?在C++中,它规定else与离它最近的尚未匹配的if匹配,从而消除了程序的二义性。
在这里插入图片描述
像是代码中,else本意应该是和第一个if配对,但是实际运行却发现,else是和第二个if配对的,可以使用花括号控制执行路径。

5.3.2 switch 语句

这个我之前讲过,不过可以在讲一次
首先结构是

switch(key)
{
	case key1:
		执行语句;
		break;
	case key2:
		执行语句;
		break;
		.
		.
		.
		.
	default:
		执行语句;
		break;
}

这是我之前说的,每个语句后要加一个break,但是!有一种情况除外,比如我们需要计算所有元音字母出现次数

switch(key)
{
	case a:
	case e:
	case i:
	case o;
	case u;
		执行语句;
		break;
		.
		.
		.
		.
	default:
		执行语句;
		break;
}

就可以这么写

5.4 迭代语句

5.4.1 while 语句

这个说过了,给个伪代码吧

while(条件)
{
	执行循环;
}

是和不知道有多少数量的情况

5.4.2 传统的for语句

这个太简单了,给个伪代码吧

for(语句头,可以定义多个变量;结束条件;变化)
{
	循环语句;
}

5.4.3 范围for

这个也很简单,给个伪代码吧

for(变量:序列)
{
	循环语句;
}

5.4.4 dowhile语句

这个也简单

do
{
	循环语句;
}
while(条件);

5. 5 跳转语句

这个也简单

5.5.1 break语句

break语句(break statement)负责终止离它最近的while、dowhile、for或switch语句,并从这些语句之后的第一条语句开始继续执行。

5.5.2continue语句

中止最近一条语句的执行并马上开始下一次循环。

5.5.3 goto语句

在这里插入图片描述

5.6 try 语句块和异常处理

5.6.1 throw表达式

程序的异常检测部分使用throw表达式引发一个异常。作用是抛出异常将终止当前的函数,并把控制权转移给能处理该异常的代码。

if(条件)
{
	throw 执行操作;
}

5.6.2 try语句块

try语句块的一开始是关键字try,随后紧跟着一个块,这个块就像大多数时候那样是花括号括起来的语句序列。
跟在 try 块之后的是一个或多个 catch 子句。catch 子句包括三部分:关键字、catch、括号内一个(可能未命名的)对象的声明(称作异常声明,exception declaration)以及一个块。当选中了某个 catch 子句处理异常之后,执行与之对应的块。catch 一旦完成,程序跳转到try语句块最后一个 catch 子句之后的那条语句继续执行。

try
{
	可能出问题的代码;
}
catch(异常1)
{
	执行操作;
}
catch(异常2)
{
	执行操作;
}

5. 6.3 标准异常

见表
在这里插入图片描述

python数据处理与分析案例,python如何进行数据处理 大家好,本文将围绕基于python的数据处理案例展开说明,python数据处理与分析案例是一个很多人都想弄明白的事情,想搞清楚python如何进行数据处理需要先了解以下几个事情。大家好,小编来为大家解答以下问题,python数据处理案例步骤及其代码,python数据处理与分析教程,今天让我们一起来看看吧!哈喽~今天学习记录的是数据分析实训小案例。就用这个案例来好好巩固一下 python 数据分析三剑客。 阅读详情

相关推荐

伺服电机开发实战指南

伺服电机作为工业自动化的核心部件,正经历前所未有的技术革新。本文从基础原理出发,详细介绍了伺服电机的分类、工作原理和特性,分析了伺服电机系统组成与核心部件,探讨了企业级开发技术,包括控制算法、通信协议和故障诊断等高级功能,并提供了实战案例分析,从行业应用到具体开发步骤,展示了伺服电机的工程实现。通过深入理解伺服电机的原理、掌握开发技术、学习应用案例,可以实现伺服系统的高性能开发与应用。

全栈 1681

C++Primer第五版 习题答案 第五章 语句(Statements)

5.1 最简单的语句是空语句,空语句只有一个单独的分号: ;//null statement 如果在程序的某个地方,语法上需要一条语句但逻辑上不需要,此时应该使用空语句。 5.2 复合语句是指用花括号括起来的语句和声明的序列,复合语句也被称作块。 如果在程序的某个地方,语法上需要一条语句,但是逻辑上需要多条语句,则应使用复合语句。 5.3 #include <io......

shamozhizhoutx的博客 4610

DSP28377内存不够用?手把手教你合并RAM/FLASH块,解决CCS20链接器报错

本文详细介绍了在CCS20开发环境中解决DSP28377内存不足问题的方法,通过合并RAM/FLASH块优化CMD文件配置,有效解决链接器报错。文章包含内存布局对比、改写步骤、FreeRTOS集成注意事项及调试技巧,帮助开发者提升内存利用率与项目性能。

weixin_42524762的博客 143

C++Primer_课后习题第五章

本文答案,部分参考于C++ Primer 习题集 前面章节的习题答案 第一章 第二章 第三章 第四章 文章目录前面章节的习题答案5.15.25.35.4(a)(b)5.55.65.7(a)(b)(c)(d)5.85.95.105.115.125.13(a)(b)(c)(d)5.145.15(a)(b)(c)5.165.175.18(a)(b)(c)5.195.205.215.225.235.245.25导图 5.1 ​ 空语句是最简单的语句,空语句由一个单独的分号构成.如果在程序的某个地方,语法上需要一条语

Huangpengyu123的博客 668

电子工程师必看:dB与放大倍数快速换算表(附常见误区解析)

本文为电子工程师提供了dB与放大倍数快速换算的实战指南。文章深度解析了分贝的本质与核心价值,并提供了电压/电流与功率增益的速查表及心算技巧。重点剖析了混淆电压与功率dB、-3dB带宽理解等常见误区,并结合示波器、频谱仪测量及系统级应用,帮助工程师在实际工作中高效、准确地运用这一对数工具。

weixin_29214199的博客 655

【论文精度】生成式预训练模型——BART(Bidirectional and Auto-Regressive Transformers)

​ BART是一个预训练的seq2seq的去噪自编码(denoising autoencoder)模型,BART以下方式进行训练①用任意的噪声函数(noising function)去破坏文本;②学习一个模型来重建原始文本。它使用一个标准的基于transformer的神经机器翻译架构,可以看作是BERT(双向编码器)、GPT(left-to-right解码器)以及其他预训练方案的推广。

weixin_45828972的博客 7450

C++ Primer (第五版)第五章习题部分答案

C++ Primer (第五版)第五章习题部分答案

weixin_48467622的博客 892

大模型——dify实战通过dify搭建你自己的图片识别服务

本文介绍了如何通过Dify平台搭建图片识别服务。首先创建工作流,添加支持图片上传的字段,并配置视觉模型qwen-vl-max-latest进行图像分析。文章详细说明了各步骤操作,包括字段设置、模型选择、提示词编写等。在测试阶段发现URL解析问题后,提供了解决方案:修改Dify的.env文件,调整FILES_URL配置并重启服务。最终成功实现上传图片或输入图片链接后,AI能够准确分析并返回简洁的图片内容描述。这一方案适用于需要快速部署图像识别功能的场景。

1927

c++ Primer 第五章:语句 练习答案记录

c++ Primer 第五章:语句 练习答案记录

Is_Superman的博客 911

深入Scrapy ItemLoader:打造优雅高效的Python爬虫数据清洗流水线

ItemLoader是 Scrapy 提供的声明式数据加载工具。它的核心理念是:将数据提取(从response中取原始值)和数据清洗/验证(处理空值、格式转换、默认值等)分离开。你可以把它想象成一个工厂流水线:原始零件(selector提取的文本)进入,经过一道道工序(输入处理器),组装成最终产品(Item字段)。首先在items.py中定义清晰的数据结构。使用搭配类型注释(虽然Scrapy自身不强制,但对人和IDE友好)。

2201_76125261的博客 68

基于Simulink的PID控制防抱死制动系统(ABS)建模与仿真

防抱死制动系统(Anti-lock Braking System,简称ABS)是一种用于防止车辆在紧急制动时车轮完全抱死的技术。通过实时监测车轮速度并调节制动力,ABS能够显著提高车辆的制动性能和操控稳定性,从而减少交通事故的发生。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于ABS控制系统中。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的ABS系统,重点研究PID参数调优方法、系统动态响应特性以及制动过程中的滑移率控制能力。

MHD0815的博客 484

C++ primer 第五章习题

chapter5 语句 文章目录chapter5 语句练习5.1节练习练习5.1练习5.2练习5.35.2节练习练习5.45.3.1节练习练习5.5练习5.6练习5.7练习5.85.3.2节练习练习5.9练习5.10练习5.11练习5.12练习5.135.4.1节练习练习5.145.4.2节练习练习5.15练习5.16练习5.175.4.4节练习练习5.18练习5.195.5.1节练习练习5.20...

hwl19951007的博客 660

uni-app - 解决 H5 微信公众号授权登录后,无法回退到 “上一页“ 的问题(微信登录后如何返回到触发它的那一页?无法通过 uni.navigateBack() 返回到前一页的问题?)详细教程

uniappH5微信登录重定向后无法返回到原来进入前的页面了,uni-appH5微信浏览器中授权微信登录后,无法正常回退问题,uniappH5微信登录后怎么返回上一页,uniapp公众号登陆后使用uni.navigateBack()回不去上一页,uniapp微信登录成功后返回页面后一直自动刷新页面,uniapph5授权成功后如何返回上一页,uniappH5微信登录后怎么返回到触发它的那一页去,公众号h5在授权后如何跳转回到刚进入时的页面,微信公众号H5网页返回上一页疑问,解决微信H5静默授

🏆 前端领域优质创作者 7715

C++Primer第五章:语句

一般来说,语句是顺序执行的,但仅有顺序执行远远不够,因此,C++语言提供了一组控制流语句以支持更复杂的执行路径。

qq_46514141的博客 1041

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

《C++Primer》第五章 语句

写这篇文章的目的 身为C++的零基础初学者,短期内把《C++Primer》啃下来是一个比较笨但是有效的方法,一方面可以掌握比较规范的C++语法(避免被项目中乱七八糟的风格带跑偏),另一方面又可以全面地了解C++语法以及C++11新标准(后续要做的事情就剩下查漏补缺,不断完善自己的知识体系)。 个人感觉从零学习一门新知识比较好的方法是快速了解知识的全貌,然后构建自己的知识地图,后续不断地补充相应的...

TOMACAT的博客 501

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++Primer笔记——第五章:语句

注意,空语句的使用并非总是无害的由于错误的使用了空语句,会使得while无限循环:if个数大于else,则else与最近的if进行匹配。

wow1024的博客 425

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C++primer-学习心得-第五章-语句

文章目录c++primer-第五章-语句5.1 简单语句5.2 语句作用域5.3 条件语句1. if语句2. switch语句5.4迭代语句1.while语句2. 传统for语句3.范围for语句4.do while语句5.跳转语句6. try语句块和异常处理1. try语句块2. 标准异常 c++primer-第五章-语句 5.1 简单语句 需要注意的是不要漏写分号也不要多写分号。 5.2 语句...

xhh22900的博客 304

《C++primer》读书笔记---第五章:语句

如前所述,switch的执行流程有可能跨过某些语句,如果被跨过的语句内有变量的定义,则会产生问题。case true://因为程序的执行流可能会绕过以下语句,所以该switch语句不合法string s;//错误,控制流绕过一个隐式初始化的变量//错误,控制流绕过一个显示初始化的变量int jval;//正确,jval未初始化jval = 1;//正确,给jval赋初值if(s.empty())//s在作用域内,但没有被初始化想要解决以上问题,可以使用花括号,将一系列语句变为块。

m0_74384466的博客 1136

c++ primer plus第五章programming exercises答案

c++ primer plus第五章programming exercises答案 5.1 //programming exercise 5.1 #include <iostream> int main() { using namespace std; cout << "Enter two integers~" << endl; cout <&lt...

寻同学的博客 397

C++ Primer 第五章 —— 语句 思维导图

第五章 —— 语句 思维导图 前言:该博文的定位是,您已经对C语言的基础知识和C++ Primer该书或C++知识有了基本了解。而在阅读C++ Primer(第五版)之后,感觉知识未成体系化,或阅读前该思维导图可以给出本章的大致知识框架和重点内容,在阅读时将帮助您对本章知识有大致了解和目的 ...

weixin_46698891的博客 329

C++ primer plus 第五章笔记和答案

三、编程练习答案 #include<iostream> using namespace std; int main() { int x; int y; int sum; cout << "Please enter two number: "; cin >> x>> y; int z = x; for (sum = 0; x <= y; x++) sum += x; cout << "The sum of " <

qq_42199510的博客 222

C++ Primer 第五版 课后章节练习答案 第五章

编译软件为 vs2015。 第五章 练习5.1: 什么是空语句?什么时候会用到空语句? 解答: 只含有一个单独的分号的语句就是空语句。如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句。 练习5.2: 什么是块?什么时候会用到块? 解答: 复合语句也被称作块,是指用花括号括起来的(可能为空的)语句和声明的序列。如果在程序的某个地方,语法上需要一条语句,...

weidadeyaqhhya的博客 1529

C++ Primer 第五版 练习题参考答案 第五章

答:空语句是最简单的语句,空语句由一个单独的分号构成。如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句,空语句什么也不做。一种常见的情况是,当循环的全部工作在条件部分就可以完成时,我们通常会用到空语句。使用空语句时最好加上注释,从而令代码的阅读者知道这条语句是有意省略内容的。答:块是指用花括号括起来的语句和声明的序列,也称为复合语句。一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块里访问。

qq_57247954的博客 1054

C++ Primer Plus第六版 第五章 编程练习答案

/******************************************************************************************************************* Author : Yuuji Blog : blog.youkuaiyun.com/acm_yuuji Time : 2014/07/06 From : C++ Prime

蒟蒻升级中...Orz 4885

C++ Primer 第五章 复习

C++ Primer 第五章 5.1 简单语句 & 条件语句 ival + 5 ; //一条没有实际用处的表达式语句 cout << ival ; //有用的表达式语句 ; //空语句 //重复输入数据,直到文件末尾或输入的值等于 sought while(cin>>s && s!=sought) ; //语法需要 ival = v1 + v2;; //正确,第二个分号表示一条多余的空语句 while(iter != svec.end()); //出现糟糕

优质后端技术知识记录 889

C++ primer plus 第五章习题解答

自己看书时解答的C++  Primer  plus 第五章习题答案 5.1 #include int main() { using namespace std; int n, m, x, y,i; int t = 0; cout cin >> n; cout cin >> m; for (y = n; n > m;) { y = m; m

w_paul的博客 482
上一篇: 深入浅出的C++Primer教程(第四章)
下一篇: 如何做一个图片筛选器——关于图像模糊程度检测
可能是阿伦
博客等级 码龄7年 1424粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值