C++八股学习心得.2

1.C++常量

常量是固定值在程序执行期间不会改变。这些固定的值,又叫做字面量

常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值

常量就像是常规的变量,只不过常量的值在定义后不能进行修改

整数常量

整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制

整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

浮点常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

当使用小数形式表示时,必须包含小数点、指数,或同时包含两者。当使用指数形式表示时,必须包含整数部分、小数部分,或同时包含两者。带符号的指数是用 e 或 E 引入的

布尔常量

布尔常量共有两个,它们都是标准的 C++ 关键字:

  • true 值代表真。
  • false 值代表假。

字符常量

字符常量是括在单引号中。如果常量以 L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),此时它必须存储在 wchar_t 类型的变量中。否则,它就是一个窄字符常量(例如 'x'),此时它可以存储在 char 类型的简单变量中。

字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0')。

在 C++ 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等。

字符串常量

字符串字面值或常量是括在双引号 "" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。

您可以使用空格做分隔符,把一个很长的字符串常量进行分行。

定义常量

在 C++ 中,有两种简单的定义常量的方式:

  • 使用 #define 预处理器。
  • 使用 const 关键字。

const 关键字

您可以使用 const 前缀声明指定类型的常量

2.C++修饰符类型

C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 

修饰符 signed、unsigned、long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型。修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀。C++ 允许使用速记符号来声明无符号短整数无符号长整数

 3.C++ 存储类

存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类

auto 存储类是所有局部变量默认的存储类。auto 只能用在函数内,即 auto 只能修饰局部变量register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小(通常是一个词),且不能对它应用一元的 '&' 运算符(因为它没有内存位置)。寄存器只用于需要快速访问的变量static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值

static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内

在 C++ 中,当 static 用在类数据成员上时,会导致仅有一个该成员的副本被类的所有对象共享

extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。当您使用 'extern' 时,对于无法初始化的变量会把变量名指向一个之前定义过的存储位置。当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用 extern 来得到已定义的变量或函数的引用。可以这么理解,extern 是用来在另一个文件中声明一个全局变量或函数。extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候

mutable 说明符仅适用于类的对象,这将在本教程的最后进行讲解。它允许对象的成员替代常量。也就是说,mutable 成员可以通过 const 成员函数修改。

4.C++运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号

 5.C++循环

C++ 程序员偏向于使用 for(;;) 结构来表示一个无限循环 

6.C++ 判断

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

Exp1 ? Exp2 : Exp3;

? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。条件表达式

 7.C++ 函数

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

函数声明告诉编译器函数的名称、返回类型和参数函数定义提供了函数的实际主体

在函数声明中,参数的名称并不重要,只有参数的类型是必需的,当您在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,您应该在调用函数的文件顶部声明函数

8.调用函数

创建 C++ 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。

程序调用函数时,程序控制权会转移给被调用的函数。被调用的函数执行已定义的任务,当函数的返回语句被执行时,或到达函数的结束括号时,会把程序控制权交还给主程序。

调用函数时,传递所需参数,如果函数返回一个值,则可以存储返回值。

9.函数参数

如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数

形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。

10. C++ 数字

C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。

为了利用这些函数,您需要引用数学头文件 <cmath>

C++ 随机数

在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返回一个伪随机数。生成随机数之前必须先调用 srand() 函数。

总结:

常量:定义之后不会改变的值,整数常量(十六进制,八进制,十进制,以及有无符号数),浮点常量(小数或指数e),布尔常量(true或false),字符常量(单引号,或者一些特殊字符),字符串常量(双引号),定义常量(const或者#define)

要注意long ,short,signed,unsigned都可以修饰整型,signed,unsigned可以修饰字符型,long双精度

我们需要知道一些变量的生存周期auto一般局部变量,函数体创建,结束销毁,只是局部变量,register寄存器非常快,static生命周期变长,局部变量整个程序结束,static修饰全局变量只在文件中有效,对类成员,所有副本共享,extern全局变量,全局变量文件都可以查看,用于在另一个文件中声明全局变量或函数

对下列运算符&&,||,!,&,|,^,~,<<,>>,sizeof,x>y?x:y,,.->,cast,&,*都需要知道对应用法

循环while,do while,for,知道这些循环用法,也要知道break,continue,语句用法

if ,if else if  else if else,switch需要知道条件语句用法

函数一个程序只有一个主函数,我们需要函数的名称,返回值,参数类型,另一个文件调用该函数需要声明函数

调用函数,主函数去执行调用函数,执行结束再回来执行xing

函数的参数就是形参,进入函数体创建,结束销毁,三种调用方式:传值调用(形参不影响实参),指针调用(形参影响实参),引用调用(形参影响实参)

c++有一些内置的数学函数需要头文件cmath调用,随机数rand函数

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

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

相关文章

C# 语法进阶 委托

1.委托 委托是一个引用类型&#xff0c;其实他是一个类&#xff0c;保存方法的指针 &#xff08;指针&#xff1a;保存一个变量的地址&#xff09;他指向一个方法&#xff0c;当我们调用委托的时候这个方法就立即被执行 关键字&#xff1a;delegate 运行结果&#xff1a; 思…

第二证券:停牌意味着什么?

股票停牌的原因&#xff1f; 一般来说&#xff0c;股票停牌的原因可以分为以下几类&#xff1a; 1、上市公司有严峻情况变化&#xff0c;如企业并购、重组等&#xff0c;为了确保生意顺利完成和信息宣布的及时、充分、准确&#xff0c;避免商场出现信息不对称的情况&#xff…

喜报 | 群策群力,奋战半年 ! 钡铼技术顺利通过ISO9001质量管理体系认证

在这个中秋和国庆双节同庆的时刻之后&#xff0c;我想借此机会宣布一个好消息。钡铼技术已成功通过ISO 9001质量管理体系的认证啦。ISO 9001是全球范围内广泛应用的质量管理体系认证&#xff0c;具有极高的含金量和国际认可度。这一认证对公司的质量管理、环境保护和员工健康安…

软件工程期末总结

软件工程期末总结 软件危机出现的原因软件生命周期软件生命周期的概念生命周期的各个阶段 软件开发模型极限编程 可行性研究与项目开发计划需求分析结构化分析的方法结构化分析的图形工具软件设计的原则用户界面设计结构化软件设计面向对象面向对象建模 软件危机出现的原因 忽视…

P38[11-3]软件SPI读写W25Q64

接线演示及解释: CS片选,接PA4 DO从机输出,接PA6 CLK时钟,接PA5 DI从机输入,接PA7 主机:时钟(CLK,PA5),主机输出(DI,PA7),片选(CS,PA4)引脚均为推挽输出 主机输入(DO,PA6)为上拉输入 第一行显示ID号,分别是厂商ID和设备ID 第二行是写的数据内容 第二行是读的数据内…

2487. 从链表中移除节点

使用栈&#xff0c;依次出栈判断连接 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.…

python算法问题,求两个字符串的最长公共子序列长度

对于问题&#xff0c;两个字符串的最长公共子序列长度进行求解&#xff0c;首先要知道子序列的定义&#xff0c;如果说给定一个字符串&#xff0c;对这个字符串中的原有字符进行不改变字符相对位置的删除&#xff0c;这里的相对位置就是处于前还是后的相对关系&#xff0c;进行…

中文自然语言处理库(SnowNLP)的简单使用

snownlp 是一个简单易用的 Python 库&#xff0c;专为处理中文文本而设计。它基于自然语言处理技术&#xff0c;提供了多种功能&#xff0c;包括分词、词性标注、情感分析、文本转换&#xff08;简繁转换&#xff09;等。这个库的核心优势在于对中文文本的处理能力&#xff0c;…

软性演员-评论家算法 SAC

软性演员-评论家算法 SAC 软性演员-评论家算法 SAC优势原理软性选择模型结构目标函数重参数化熵正则化代码实现 软性演员-评论家算法 SAC 优势原理 DDPG 的问题在于&#xff0c;训练不稳定、收敛差、依赖超参数、不适应复杂环境。 软性演员-评论家算法 SAC&#xff0c;更稳定…

基于ssm的资产管理信息系统+vue论文

摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。以前企业对于资产信息的管理和控制&#xff0c;采用人工登记的方式保存相关数据&#xff0c;这种以人力为主的管理模式已然落后。本人结…

我用 Python 自动生成图文并茂的数据分析报告

reportlab是Python的一个标准库&#xff0c;可以画图、画表格、编辑文字&#xff0c;最后可以输出PDF格式。它的逻辑和编辑一个word文档或者PPT很像。有两种方法&#xff1a; 1&#xff09;建立一个空白文档&#xff0c;然后在上面写文字、画图等&#xff1b; 2&#xff09;建…

【设计模式-2】原型模式的原理、代码实现及类图展示

我们一定对类的实例化比较熟悉&#xff0c;前面我们说的单例、还有3种工厂模式都是通过new关键字来创建对象&#xff0c;下面我们来了解一种新的对象创建的方式。 1. 定义 原型模式也是一种创建型的设计模式&#xff0c;实现和原理总体比较简单&#xff0c;一句话总结呢&#…

帮企10合一万能分销商城源码系统:全开源可二开,全端覆盖+完整的代码包以及搭建教程

电商市场的竞争日益激烈&#xff0c;越来越多的企业开始意识到分销商城的重要性。然而&#xff0c;市面上的分销商城系统往往存在着功能单一、扩展性差等问题&#xff0c;无法满足企业的多样化需求。今天来给大家分享一款10合一万能分销商城源码系统。 以下是部分代码示例&…

MYSQL二主二从集群部署

目录 一、环境描述 二、安装mysql 2.1 卸载mysql(如果没安装过&#xff0c;可忽略) 2.1.1 列出安装的mysql 2.1.2 卸载mysql 2.1.3 删除mysql文件目录 2.1.3.1 查看mysql 目录 2.1.3.2 依次删除 2.2 在线安装 2.2.1 下载安装源 2.2.2 安装源rpm 2.2.3 加入rpm密钥 …

西安人民检察院 | OLED翻页查询一体机

产品&#xff1a;55寸OLED柔性屏 项目时间&#xff1a;2023年12月 项目地点&#xff1a;西安 在2023年12月&#xff0c;西安人民检察院引入了OLED翻页查询一体机&#xff0c;为来访者提供了一种全新的信息查询方式。 这款一体机采用55寸OLED柔性屏&#xff0c;具有高清晰度、…

虚幻UE 材质-进阶边界混合之WAT世界对齐纹理

边界混合前篇&#xff1a;虚幻UE 材质-边界混合之PDO像素深度偏移量 上一篇主要讲材质相似或者不同的两个物体之间的边界混合 这一篇主要讲自建材质且相同的两个物体之间的边界混合 文章目录 一、世界对齐纹理二、世界对齐纹理实验1、制作材质 三、进一步优化 一、世界对齐纹理…

25计算机专业考研经验贴之准备篇

Hello各位小伙伴&#xff0c;大家新年好&#xff01; 马上就要进入寒假假期了&#xff0c;25考研也该提上日程了。今天先跟大家分享一下大家在假期可以先做起来的准备工作。 【选择学校】 择校是个非常重要的内容&#xff0c;因为不同学校的考试内容是不一样的&#xff0c;有些…

免费SSL证书:为你的网站安全护航

SSL证书作为保障网站安全的重要工具&#xff0c;其价值不言而喻。然而&#xff0c;许多人对SSL证书望而却步&#xff0c;因为其高昂的价格让人望而生畏。但现在&#xff0c;我们为您带来了福音——免费SSL证书&#xff01;让您轻松实现网站安全&#xff0c;无惧网络威胁。 一、…

UTF-8编码文件:有BOM和无BOM的区别

UTF-8编码文件&#xff1a;有BOM和无BOM的区别 在处理UTF-8编码的文本文件时&#xff0c;你可能会遇到“有BOM”和“无BOM”两种类型。了解这两者之间的区别对于确保文件兼容性和正确的数据处理至关重要。 什么是BOM&#xff1f; BOM&#xff08;Byte Order Mark&#xff0c;…

CRM系统如何实现市场销售管理?CRM系统有哪些营销功能

CRM管理系统中的营销管理模块&#xff0c;它的锋芒常被销售管理所掩盖&#xff0c;但对于企业的业务来说同样重要。营销部门虽然不像销售人员一样直接面对客户&#xff0c;却是挖掘线索、商机的重要角色。CRM在市场营销领域的关键功能包括&#xff1a;营销漏斗、客户细分、营销…