【C++】基础语法(学习笔记)

news/2025/2/11 3:46:48/

一、编译型语言

1、编程语言的层次和类型

  1. 机器(Machine)语言,如汇编语言
  2. 编译型语言,如C++,C
  3. 解释型语言,如Basic,Python
  4. 脚本语言,如bash,csh

从上到下使用层次,更接近于人类使用,但运行效率逐渐降低

2、编译与链接过程

编译型语言一般需要经历编译和链接的过程,才能变成真正可执行的程序

源程序(.cpp) --> 编译器 --> 汇编代码(.a) --> 汇编器 --> 目标代码 --> 链接器(其他目标代码、库文件) --> 可执行程序(.exe)

二、数据类型

类型范围
char1 个字节-128 到 127 或者 0 到 255
unsigned char1 个字节0 到 255
signed char1 个字节-128 到 127
int4 个字节-2147483648 到 2147483647
unsigned int4 个字节0 到 4294967295
signed int4 个字节-2147483648 到 2147483647
short int2 个字节-32768 到 32767
unsigned short int2 个字节0 到 65,535
signed short int2 个字节-32768 到 32767
long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int8 个字节0 到 18,446,744,073,709,551,615
float4 个字节精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double8 个字节双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
long double16 个字节长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。
wchar_t2 或 4 个字节1 个宽字符

三、标识符和关键字

1、关键字

c++关键字ISO C++98/03
asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthiswchar_t
continueforpublicthrowwhile
defaultfriendregistertrue
deletegotoreinterpret_casttry

2、标识符

C++中标识待是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名字

  1. 标识符以字母 A-Z 或a-z或下划线_开始,后跟零个或多个宇
    母、下划线和数字 (0-9)
  2. 标识符不允许使用数字开头
  3. 标识符内不允许出现标点字符,比如@、&和%
  4. 不能将大小写混淆,C++是区分大小写的编程语
  5. 不能使用C++关键字,原则上不允许长度超过32位

3、关于标识符的建议

不要试图发明最好的命名规则,应该制定一个让大部分成员满意的命名规则,并且在项目组中贵彻执行

标识符应该直观,可以望文知意,尽量使用英文单词组合的方式,不要使用汉语拼音

标识符的长度应当符合"min-length&&max-information"原则,不
是长度越长就越好

变量的名字尽量使用 “名词”或“形容词+名词”,尽量避免名字中出现数字,函数名可以使用“动词+名词”

勾牙利命名法:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写,如 int iMyAge

驼峰式Camel命名法:第一个单词首字母小写,后面其他单词首字母大写,如int myAge

Pascal命名法:每个单词的第一个字母都大写,如 int MyAge

四、变量与常量

1、变量

变量:在程序运行过程中,其值可以改变的量为变量。变量在程序的执行中能够赋值,发生变化

变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元

当变量在创建时获得了一个特定的值,我们说这个变量被初始化了。用初始化变量的值可以是任意复杂的表达式

2、常量

  1. 使用#define,如:#define P1 3.1415926
  2. 使用const,如:const double Pl = 3.1415926

尽量使用const定义变量,#define 不会出现在编译器期

3、整数常量

整数常量可以是十进制、八进制或十六进制的常量。

前缀指定基数:0x 或 ox 表示十六进制,0表示八进制,不带前缀则默认表示十进制。

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

4、布尔常量

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

  1. true 值代表真
  2. false 值代表假

5、字符常量

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

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

五、语言的注释

1、注释概述

程序的注释是解释性语向,您可以在 C++ 代码中包含注释,这将
提高源代码的可读性。所有的编程语言都允许某种形式的注释。

单行注释:以//开始,直到行末为止

多行注释:以 /* 开始,以*/终止。

2、注释的建议

  1. 好的命名和代码本身就是最好的注释;如果代码本身很清楚,不需要额外加注释
  2. 在重要代码段,或复杂代码处先写注释再写代码,这样思路更清晰,同时可以保证代码和注释的一致性
  3. 注释不是越多越好,它是对代码的提示,如果要写就要清楚,并旦保证和代码一致,如果更新了代码,请更新相应的注释

http://www.ppmy.cn/news/1135154.html

相关文章

登录注册实现

一、前端页面注册到Vue 1.创建登录和注册组件 <template><div>login</div></template><script> export default {name: HomeView,data() {return {}},methods: {}, } </script><template><div>register</div></tem…

全面解读 SQL 优化 - 统计信息

一、简介 数据库中的优化器&#xff08;optimizer&#xff09;是一个重要的组件&#xff0c;用于分析 SQL 查询语句&#xff0c;并生成执行计划。在生成执行计划时&#xff0c;优化器需要依赖数据库中的统计信息来估算查询的成本&#xff0c;从而选择最优的执行计划。以下是关…

云安全之等级保护介绍

网络安全部门概述 网络安全部门 1. 公安部 网安/网警/网监:全称“公共信息网络安全监察”&#xff0c;后改为“网络安全保卫部门”。 简称网监&#xff0c;是中华人民共和国公安部门的一项职责&#xff0c;具体实施这一职责的机构称为网监机关或网监部门(公共信息网络安全监…

Qt 综合练习小项目--反金币(1/2)

目录 1 项目简介 2 项目基本配置 2.1 创建项目 2.2 添加资源 3 主场景 3.1 设置游戏主场景配置 3.2 设置背景图片 3.3 创建开始按钮 3.4 开始按钮跳跃特效实现 3.5 创建选择关卡场景 3.6 点击开始按钮进入选择关卡场景 1 项目简介 翻金币项目是一款经典的益智类游戏…

OpenCV 4.x 版本的新特性都有哪些?

文章大纲 V 4. 0DNNV 4.0 - 4. 8cheatsheetvideo analysis参考文献与学习路径2016年的时候我快研究生毕业了,那时候OpenCV 2.4.x 版本非常的流行,当时3.x 的版本刚发布,很多人都没有用习惯。 我写过一遍笔记: OpenCV 3.0 3.1版本的改进家里还有一本书:《OpenCV 3 计算机视…

遗留系统陷入困境

当我们谈论遗留系统时&#xff0c;我们经常会想到数据中心某处的过时服务器和交换机。我们带着一种病态的迷恋阅读了有关系统性技术问题的文章&#xff0c;这些问题在假期周末困扰着其他旅行者&#xff0c;并为他们缺乏远见而摇头。 然后&#xff0c;我们坐在屏幕前&#xff0…

ctfshow—1024系列练习

1024 柏拉图 有点像rce远程执行&#xff0c;有四个按钮&#xff0c;分别对应四份php文件&#xff0c;开始搞一下。一开始&#xff0c;先要试探出 文件上传到哪里&#xff1f; 怎么读取上传的文件&#xff1f; 第一步&#xff1a;试探上传文件位置 直接用burp抓包&#xff0c;…

P4727 [HNOI2009] 图的同构计数

B u r n s i d e &#xff1a; ∣ X / G ∣ 1 ∣ G ∣ ∑ g ∈ G ∣ X ( g ) ∣ Burnside&#xff1a;|X/G|\frac{1}{|G|}\sum\limits_{g\in G}|X^{(g)}| Burnside&#xff1a;∣X/G∣∣G∣1​g∈G∑​∣X(g)∣ 该题&#xff1a; ∣ X / G ∣ 1 ∣ G ∣ ∑ b 2 k Π ( b i …