C++PrimerPlus跟读记录【第五章】循环和关系表达式

news/2024/5/6 5:32:58/文章来源:https://blog.csdn.net/RiceVan/article/details/117462081

1、for 循环

  • for(initialization; test-expression; updata-expression)
  • test-expression 关系表达式,结果强制为bool类型,true or false。

表达式和语句

  • C++表达式是 值 或 值与运算符的组合,每个表达式都有值。
  • 表达式只要加上分号,就是语句

递增运算符和递减运算符

  • ++x;  前缀,先将x值加一,再用新值计算表达式
  • x++;  后缀,先用当前值计算表达式,再将x加一
  • 前缀:将值加一,返回结果
  • 后缀:先复制副本,将其加一,返回副本
  • 前缀效率更高

优先级

  • 前缀递增/减、* 优先级相同,从右到左结合
  • 后缀递增/减优先级相同,比前缀优先级高,从右到左结合
// 前缀,从右到左结合
*++pt; // 先将pt递增后移,再取后移指针对应的值
++*pt; // 先取pt指向的值,再将这个值加一// 后缀优先级更高
(*pt)++; // 先取pt指向的值,再将这个值加一
*pt++;   // 后缀优先级更高,pt先加一,然后取值

复合语句

  • 语句块中的变量,在语句块执行完后被释放。
  • 外部声明变量,语句块声明同名变量,将在语句快内覆盖外部变量,结束语句块后,外部变量再次可见。

C风格字符串比较

word == "mate";  // 相同字符,不同地址。结果为false
  • 数组名是数组的地址,字符串常量也是地址
  • 不能比较字符串,可以比较字符,因为字符实际上是整型。
  • string类可以使用 word != "mate" ;要求两变量至少一个为string对象。

strcmp() 函数

  • 接收两个字符串地址为参数,指针、字符串常量、字符数组名。
  • 两字符串相同,返回0
  • 两字符串不同,按字符系统编码比较结果返回不同值。
  • ASCII码,大写字母比小写字母小。
  • 第一个字符串字符顺序在前,返回负数
  • 第一个字符串字符顺序灾后,返回正数

2、while 循环

编写延时

  • 缺点要修改计数限制
#include <ctime>cin >> secs;
clock_t delay = secs * CLOCK_PER_SEC; 
clock_t start = clock();while (clock() - start < delay) {;
}
  • 符号常量 CLOCKS_PER_SEC 表示每秒钟包含的系统时间个数
  • clock() 函数返回程序开始执行后所用的系统时间
  • clock_t 类型,编译器将转换为long、unsigned int等适合系统的类型
  • 该程序以系统时间为单位计算时延

类型别名

  • 问题

3、do while 循环

4、基于范围的for循环

5、循环和文本输入

cin

  • 发送给cin的输入被缓存,在回车后发送给程序。
  • cin忽略空格和换行符

cin.get(ch)

  • 读取输入的下一个字符,包括空格

cin.get(name, ArSize) 

  • 函数重载的OOP特性:同名函数,参数列表不同

文件尾条件

  • 文件尾(EOF)
  • C++模拟UNIX,将Ctrl+D视为仿真的EOF
  • Windows使用Ctrl+Z
  • cin检测到EOF,将不再读取,即使再次调用
  • 使用cin.clear(); 重置输入流

6、嵌套循环和二维数组

  • 二维数组声明 [行][列] :4个数组元素,每个元素包括5个值

初始化

// 一维数组
int btus[4] = { 23, 11, 35, 35};//二维数组
int maxtemps[4][5] = 
{{1, 2, 3, 4, 5};{};{};{};
};// maxtemps[0] 是 {1, 2, 3, 4, 5};
// maxtemps[0][0] 是 1

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

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

相关文章

剑指offer32-42字符串数组的应用

剑指 Offer II 032. 有效的变位词 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断它们是不是一组变位词&#xff08;字母异位词&#xff09;。t 是 s的变位词等价于「两个字符串不相等且两个字符串排序后相等」 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同…

QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能

QT QTextEdit富文本插入字体-表格-编号-图片与查找功能&#xff0c;输入char 自动变成蓝色-语法高亮功能 QTQTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能.rar-QT文档类资源-CSDN下载QTQTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能.rarhttps:/更多…

Vue使用脚手架(ref、props、mixin、插件、scoped)(七)

系列文章目录 第一章&#xff1a;Vue基础知识笔记&#xff08;模板语法、数据绑定、事件处理、计算属性&#xff09;&#xff08;一&#xff09; 第二章&#xff1a;Vue基础知识&#xff08;计算属性、监视属性、computed和watch之间的区别、绑定样式&#xff09;&#xff08;…

四、 java的对象和类

四、 java的对象和类 对象&#xff08;Object&#xff09;&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#xff0c;它的状态有&#xff1a;颜色、名字、品种&#xff1b;行为有&#xff1a;摇尾巴、叫、吃等。类&#xff08;c…

物理服务器安装CentOS 7操作系统

目录 1、下载系统镜像 2、制作安装盘 2.1 方法一&#xff1a;光盘制作 2.2 方法二&#xff1a;U盘制作 3、更改bios启动顺序 4、安装CentOS 7操作系统 4.1 安装命令选择&#xff0c;及常见错误解决 4.2 语言选择 4.3 时区选择 4.4 软件选择 4.5 安装位置选择 4.6 手…

猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你

&#x1f9db;‍♂️iecne个人主页&#xff1a;&#xff1a;iecne的学习日志 &#x1f4a1;每天关注iecne的作品&#xff0c;一起进步 &#x1f4aa;学C必看iecne 本文专栏&#xff1a;【C游戏引擎】. &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; ✨前…

Apache Maven 3.6.0的下载安装和环境配置(详细图解+不限速下载链接)

标题工具/原料 apache-maven-3.6.0 下载地址 云盘不限速下载 或者进入官网按下图下载 方法/步骤一 安装 打开压缩包&#xff0c;将maven压缩包解压至软件安装处&#xff0c;建议D根目录或其他&#xff0c;记住安装位置 类似于 方法/步骤二 环境变量配置 变量 1.新建变…

Eolink 通过可信云权威认证,数据保护能力业内领先!

Eolink 正式通过由中国信息通信研究院组织发起的可信云评估考核&#xff0c;在数据安全保障领域获得权威认证&#xff0c;并荣获 “企业级 SaaS 服务” 认证证书。 在云时代&#xff0c;保护用户数据安全、预防隐私泄露是数字化企服厂商的重中之重。Eolink 作为一个 API 在线管…

计算机毕业设计ssm+vue基本微信小程序的个人健康管理系统

项目介绍 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了小程序的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数…

IIC协议详解

文章目录1 IIC简介2 IIC物理层2.1 IIC硬件2.2 IIC协议特点3 IIC协议层4数据传输4.1 IIC写数据4.2 IIC读数据1 IIC简介 IIC(Inter&#xff0d;Integrated Circuit)总线是一种由 NXP&#xff08;原 PHILIPS&#xff09;公司开发的两线式串行总线&#xff0c; 用于连接微控制器及其…

s19.基于 Kubernetes v1.25.0(kubeadm) 和 Docker 部署高可用集群(一)

基于 Kubernetes v1.25.0 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成容器运行时 CRIKubernetes v1.25 新特性Kubernetes v1.24 之后不再支持 Docker 的解决方案Kubernetes v1.25 高可用集群架构基于 Kubernetes v1.25.0 和 Docker 部署高可用集群实战案例 …

Redis持久化机制分析

什么是持久化&#xff1f; 简单来说持久化就是将数据保存到磁盘&#xff0c;让即使服务宕机、重启、断电等操作后数据仍热存在&#xff0c;并且是完整的。 1、为什么要持久化&#xff1f; 1、Redis是一个内存数据库&#xff0c;宕机之后存储在内存的数据会消失。2、Redis重启…

传述最详细的干货,让简历面试不再成为你找工作的绊脚石

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

【蓝桥杯省赛真题37】Scratch三国演义字数统计 少儿编程scratch编程蓝桥杯省赛真题讲解

​​​​​​​ 目录 scratch三国演义字数统计 一、题目要求 编程实现 二、案例分析 1、角色分析

Linux内核设计与实现 第三章 进程管理

3.1进程 实际上&#xff0c;进程就是正在执行的程序代码的实时结果。 进程是出于执行期的程序以及相关的资源的总称。 进程的另一个名字是任务。 进程不仅仅局限于一段可执行程序代码通常进程还要包含其他资源&#xff0c;像打开的文件&#xff0c;挂起的信号&#xff0c;内核…

springboot项目整理(持续更新)

SpringSecurity 1.导入依赖&#xff1a; 在pom.xml中导入依赖&#xff0c;再访问页面就会出现login&#xff0c;这是SpringSecurity自己写的页面&#xff0c;用于登录认证 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…

整合流量与资源的分享购商业模式,实现整个生态布局

大多数企业都很容易忽视一个市场&#xff0c;就是我们的日常生活服务板块&#xff0c;所谓民以食为天&#xff0c;我们应该顺应人们的生活习惯而做出来的电商商业模式&#xff0c;才是最贴合民心的&#xff0c;也能够从用户的最基础的需求出发来为其打造商业模式。 将目标放在生…

Room (三) RecyclerView 呈现列表数据

1. 用到的组件 Room&#xff0c;ViewModel&#xff0c;LiveData&#xff0c;Repository&#xff0c;AsyncTack 2. Module 中 build.gradle 文件中添加 dependencies {def room_version "2.4.3"implementation "androidx.room:room-runtime:$room_version&quo…

【Linux操作系统】-- 多线程(三)-- 线程池+单例模式

目录 线程池 场景 代码实现 线程安全的单例模式 懒汉实现方式和懒汉实现方式 饿汉方式实现单例模式 懒汉方式实现单例模式 实战代码演练单例模式 线程池 在C中用户使用new/malloc都是向操作系统OS申请的&#xff0c;在系统的角度&#xff0c;就相当于new/malloc在底层封…

MySQL之临时表

写在前面 本文一起看下MySQL的临时表。 1&#xff1a;什么是临时表 通过create temporary table t语句创建的表&#xff0c;就是临时表&#xff0c;临时表的临时体现在其是其生命周期是和会话一样的&#xff0c;当会话结束&#xff0c;即连接关闭时MySQL会自动将创建的临时表…