《C++PrimerPlus》第六章 分支语句和逻辑运算符

news2024/12/23 3:08:44

在这里插入图片描述

本篇文章将对《C++PrimerPlus》第3章进行勾画
以我个人习惯来勾画
C和C++不同点将用红色高亮表示
关于C++的额外补充知识用蓝色高亮表示
对C++的注意点以及总结部分用绿色高亮表示
正常情况本专栏2周更新一次

文章目录

  • 6.1 if语句![在这里插入图片描述](https://img-blog.csdnimg.cn/853e6175c47541ca9c8ed8b3fa47b935.png)
    • 6.1.1 if else语句
    • 6.1.2 格式化if else语句
    • 6.1.3 if else if else结构
  • 6.2 逻辑表达式
    • 6.2.1 ||运算符
    • 6.2.2 &&运算符
    • 6.2.3 &&设置取值范围
    • 6.2.4 !运算符
    • 6.2.5 逻辑运算符细节
    • 6.2.6 其他表示方式
  • 6.3 字符串函数cctype
  • 6.4 ?:运算符
  • 6.5 switch语句
    • 6.5.1 将枚举常量用作标签
    • 6.5.2 switch和if else
  • 6.6 break和continue语句
  • 6.7 读取数字的循环
  • 6.8 简单的文件输出/输出
    • 6.8.1 文本I/O和文本文件![在这里插入图片描述](https://img-blog.csdnimg.cn/d0ff7392243449c4ac14f44d1a5b194c.png)
    • 6.8.2 写入到文本文件中
    • 6.8.3 读取文本文件
    • 在这里插入图片描述
  • 6.9 总结

在这里插入图片描述

6.1 if语句在这里插入图片描述

  • if语句的测试部分结果发被强制转换为bool类型
  • if 语句中测试部分为true执行表达式,测试部分为false,不执行表达式
  • 整个if语句被当成一条语句

6.1.1 if else语句

在这里插入图片描述

  • 对于C++来说char+int的类型为int,++char的类型仍然为char

6.1.2 格式化if else语句

在这里插入图片描述

  • else语句上面一条语句必须是if语句,else语句不能单独出现

6.1.3 if else if else结构

在这里插入图片描述

  • 为计算机程序提供两种以上的选择时可以使用if else if else语句
  • if else if else 语句并不是一种新的结构,只是其中一个 if else嵌套在另一个else语句中
  • if语句中的条件判断不要将==写成=

6.2 逻辑表达式

6.2.1 ||运算符

在这里插入图片描述

  • ||运算符是一个顺序点
  • 规定||运算符先计算左子式,如果左子式为true,则表达式的结果直接为true,不会计算右子式,否则再计算右子式

6.2.2 &&运算符

在这里插入图片描述

  • &&运算符是一个顺序点
  • 规定&&运算符先计算左子式,如果为false表达式的结果直接为false,否则再计算右子式

6.2.3 &&设置取值范围

在这里插入图片描述

6.2.4 !运算符

在这里插入图片描述

  • !运算符将它后面的表达式的真值取反

6.2.5 逻辑运算符细节

在这里插入图片描述

  • !运算符的优先级高于所有的关系运算和算术运算
  • &&运算符的优先级高于||
  • 计算逻辑表达式时从左往右计算,知道了结果就会立马停止

6.2.6 其他表示方式

在这里插入图片描述


6.3 字符串函数cctype

在这里插入图片描述

  • 使用cctype头文件中的函数可以方便我们对字符的判断

6.4 ?:运算符

在这里插入图片描述

  • 使用条件运算符有时可以使代码更加简洁
  • 代码复杂时,建议使用if else语句

6.5 switch语句

在这里插入图片描述

  • switch语句是选择语句的一种,当程序执行到switch语句时,程序将跳到使用integer-expression的值标记的那一行
  • integer-expression必须是一个结果为整数的表达式
  • 每个标签必须是整形常量表达式
  • C++中的case是行标签不是选项标签,程序需要break语句来确保只执行switch语句中的特定部分

6.5.1 将枚举常量用作标签

在这里插入图片描述

  • switch语句将int值和枚举标签比较时,会将枚举提升为int型,while循环测试条件中,也会将枚举提升为int型

6.5.2 switch和if else

在这里插入图片描述

  • switch语句适合多个点判断,if else适合进行浮点数和范围判断

6.6 break和continue语句

在这里插入图片描述

  • break用来跳出switch语句或者循环体,continue只能用于跳过本次循环
  • continue语句用于for循环和while循环可能会有差别
  • C++支持goto语句,goto pairs;会跳到使用pairs:作为标签的位置

6.7 读取数字的循环

在这里插入图片描述

  • 当cin发生类型不匹配时,将发生4种情况
  1. n的值保持不变
  2. 不匹配的输入将留在输入队列中
  3. cin对象中的一个错误标记被设置
  4. 对cin方法的调用将返回false(如果被转换为bool类型)
  • 设置了错误标记后必须重置该标记才可以继续输入,clear()方法重置错误输出标记,同时也重置文件尾

6.8 简单的文件输出/输出

在这里插入图片描述

6.8.1 文本I/O和文本文件在这里插入图片描述

6.8.2 写入到文本文件中

在这里插入图片描述

6.8.3 读取文本文件

在这里插入图片描述

6.9 总结

在这里插入图片描述

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

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

相关文章

Qt音视频开发40-ffmpeg采集桌面并录制

一、前言 之前用ffmpeg打通了各种视频文件和视频流以及本地摄像头设备的采集,近期有个客户需求要求将整个桌面屏幕采集下来,并可以录制保存成MP4文件,以前也遇到过类似的需求,由于没有搞过,也没有精力去摸索和测试&am…

研报精选230424

目录 【行业230424华福证券】功率半导体行业深度报告:能源变革大时代,功率器件大市场 【行业230424华西证券】海外锂资源企业近况总结之锂辉石篇:2023年海外锂资源供应量同比增长45%,H2比H1增加13万吨LCE供应 【行业230424东吴证券…

免费且不丢失数据的MBR转GPT软件!

什么是MBR和GPT? MBR和GPT是不同的分区形式,它们是管理硬盘的2种不同方式。MBR是一种旧的分区形式,而GPT是一种逐渐取代MBR的新分区形式。 通常,MBR和GPT在分区大小、主分区数和引导模式方面有不同。MBR支持不超过2TB的硬盘&a…

《商用密码应用与安全性评估》第三章商用密码标准与产品应用3.2商用密码产品类别

商用密码产品类型 商用密码产品按形态可以划分为六类∶软件、芯片、模块、板卡、整机、系统 软件是指以纯软件形态出现的密码产品,如密码算法软件。芯片是指以芯片形态出现的密码产品,如算法芯片、安全芯片。模块是指将单一芯片或多芯片组装在同一块电路…

搞懂 API ,后端 API 接口设计方法

后端 API 接口设计是开发 Web 应用和移动应用的关键组成部分,好的接口设计可以提高应用的稳定性、可维护性和安全性。以下是一些常用的后端 API 接口设计方法: 使用 RESTful API:RESTful API 是一种基于 HTTP 协议的 Web API 设计理念&#x…

DAY04_方法

1:方法的定义和使用 1.1 方法概述和课程安排 什么是方法呢? 方法(method):就是完成特定功能的代码块 如何理解这句话呢?来,我们看一段代码,相信这个大家应该已经很熟悉了 这就是我们的main方法,也就是…

LiveGBS国标GB/T28181国标视频流媒体平台-功能报警告警订阅查询报警预案截图保存视频及REDIS消息订阅

LiveGBS国标GB/T28181国标视频流媒体平台-功能报警告警订阅查询报警预案截图保存视频及REDIS消息订阅 1、报警信息1.1、报警查询1.2、配置开启报警订阅1.2.1、国标设备编辑1.2.2、选择开启报警订阅 1.3、配置摄像头报警1.3.1、配置摄像头报警通道ID1.3.2、配置摄像头开启侦测1.…

LVS-DR部署

Lvs基于内核实现的负载均衡 只有四层代理转发 请求数据包,源地址(客户端)变目的。vip变源 lo:0回环网卡 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器&#…

springmvc请求路径以及url地址映射和参数绑定,jetty是什么

springmvc请求流程: url地址映射和参数绑定: controller文件 requestmapping括号里是url路径。 若web.xml里pattern里有.do则要加到url后面 综述:url为 localhost:8080/springmvc01/test01 地址:localhost:8080/web.xml设置的后缀…

业内首批!安全狗入选Gartner《云原生应用保护平台市场指南》报告

近日,国际咨询机构Gartner首次发布了《云原生应用保护平台市场指南》(Market Guide for Cloud-Native Application Protection Platforms)。 作为国内云原生安全领导厂商,安全狗凭借突出的云原生安全产品能力入选报告&#xff0c…

U3D实现自由视角

一、添加Cinemachine插件 可以直接从Unity顶部菜单的Windows>Package Manager>Unity Registry点击弹出后窗口的右侧输入Cinemachine,然后选择install 二、对主相机添加(Brain组件) 三、对相机跟随的对象添加两个子空物体,一…

搞懂 API,调用 API 接口通常有这些技巧

其实没什么技巧,无他,唯熟悉API 原理(dog.jpg)。 不过对于新人来说,掌握这些基础知识还是很有必要的: 1.了解API的功能和用法:在使用API之前,您应该了解API的功能和使用方式。这将有…

这款产品,竟然用了几千多年才爆火?

春秋时期,淄博的临淄作为齐国都城,称得上是当时山东最繁华的地方。任世事沧桑巨变,在小透明了两千多年后,淄博又迎来了新的繁华:这次,淄博烧烤火出圈了! (图源bilibili纪录片《人生…

【箭头函数以及声明特点】

箭头函数以及声明特点 1 箭头函数的声明2 箭头函数的特性3 箭头函数实践 1 箭头函数的声明 ES6允许使用箭头>定义函数 <script>// 声明一个函数// 原先let fn function(a,b){return a b;}// 现在let fn1 (a,b) > {return a b;}// 调用函数let result fn1(1, …

ClickHouse中的MergeTree表引擎详解

MergeTree的特点 MySQL中最强大的表引擎是InnoDB&#xff0c;ClickHouse中最强大的表引擎是MergeTree以及该系列中的其他引擎。MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入&#xff0c;数据片段在后台按照一…

基于属性推理辅助的计算机辅助肺结核诊断

文章目录 Computer-Aided Tuberculosis Diagnosis with Attribute Reasoning Assistance摘要方法Attribute Feature RepresentationFeature Interaction 实验结果 Computer-Aided Tuberculosis Diagnosis with Attribute Reasoning Assistance 摘要 本文首先提出了一种新的大…

FE_CSS 常见布局技巧

1 巧妙运用浮动元素不会压住文字的特性 float: left; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta ht…

【LeetCode】121. 买卖股票的最佳时机

121. 买卖股票的最佳时机&#xff08;简单&#xff09; 思路 遍历数组&#xff0c;在每一个位置 i 时&#xff0c; 记录当前位置之前的最低价格&#xff0c;然后将当前价格作为售出价格&#xff0c;查看当前收益是不是最大收益即可。如果最大收益小于等于 0 &#xff0c;则返回…

【NVM】使用NVM实现不同nodejs版本的自由切换(NVM安装教程使用手册):

文章目录 一、NVM的下载二、NVM安装三、NVM使用1. 设置nvm环境2.安装nodejs3.使用或切换nodejs版本 四、建议五、nvm命令总结 一、NVM的下载 注意路径不要出现中文和空格 安装包地址&#xff1a;https://github.com/coreybutler/nvm-windows/releases 二、NVM安装 三、NVM使用…

【嵌入式笔/面试】嵌入式软件基础题和真题总结——网络相关

在学习的时候找到几个十分好的工程和个人博客&#xff0c;先码一下&#xff0c;内容都摘自其中&#xff0c;有些重难点做了补充&#xff01; 才鲸 / 嵌入式软件笔试题汇总 嵌入式与Linux那些事 阿秀的学习笔记 小林coding 百问网linux 嵌入式软件面试合集 2022年春招实习十四面…