001_C++语法基础
C++语法基础
- 所有C++语法要用英文
- 区分大小写
- 每个语句写完以分号结束
C++标准输入输出头文件iostream
若想通过C++实现数据的输入和输出,需要导入标准输入输出头文件
#include <iostream>
标准输入输出头文件<iostream>中包含了cin输入语句和cout输出语句
标准命名空间std
C++的标准输入输出是cin cout,而是为了避免出现同名语句cin cout,于是标准输入输出cin cout被划分到了标准命名空间std中,所有若我们要想使用标准输入输出cin cout,需要先使用命名空间std
using namespace std;
主函数
每一个C++程序必须要有一个入口,通过入口才能找到我们的目标源程序
C++使用主函数main()作为C++程序的入口,一个C++程序有且仅有一个主函数(入口)
int main(){//编写目标代码return 0; // 结束程序
}
输出语句
C++中的标准输出语句为cout
我们可以通过cout向计算机下达输出指令,让计算机输出一句话。
输出hello world
cout语句后要接 <<符号,意为流插入运算符
输出一句话要用英文的双引号包起来,代表字符串的类型
cout << "Hello world";
前面知识代码解释
// 包含了一个标准输入输出头文件
// i-input 0-output s-stream 流
#include <iostream> // cin cout
// 使用 标准命名 空间std
using namespace std; // 区分标准cin/cout和其他同名cin/cout // main() 主函数 入口 有且仅有一个
int main() { // << 流插入运算符号 cout << "Hello World\n" << endl;return 0; // 结束C++程序
}
endl 换行
如果要输出一首诗,我们可以先输出第一行的字符串,然后使用cout输出endl指令,即输出一个换行,换行之后再继续输出第二行的字符串,以此类推…
#include <iostream>
using namespace std; int main() { cout << "朝辞白帝彩云间";cout << endl;cout << "千里江陵一日还"; cout << endl;return 0;
}
cout 链式编程
cout支持链式编程,上面案例我们可以使用cout进行链式编程
#include <iostream>
using namespace std; int main() { cout << "朝辞白帝彩云间" << endl<< "千里江陵一日还" << endl;return 0;
}
课堂练习
打印输出如下图形
****
*****
代码:
#include <iostream>
using namespace std; int main() { cout << " *" << endl << " ***" << endl << "*****" << endl;return 0;
}
标识符(biao zhi fu)
标识符(identifier)是指用来标识某个实体的一个符号。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立名称与使用之间的关系。
C++中的标识符的命名规则:
- 由数字、字母、下划线构成,但是数字不能用作开头
关键字
关键字(keyword)属于保留字,是整个C++语言范围内预先保留的标识符。
每个C++关键字都有特殊的含义、功能。
简单来说就是C++中一切带有功能的语句都属于关键字,如我们了解过的语句:int return using 这些都属于关键字。
变量
变量,顾名思义,值可变的量,在C++中,如何定义一个可以存储整数的变量呢?
int age = 18;
// 变量
int age; // int数据类型-声明一个变量为整数类型(整型)
age = 18; // age变量名-可以存储整型数据
#include <iostream>
using namespace std; int main() { int age;age = 38;cout << "王老师的年龄是:" << age << "岁。" << endl;return 0;
}
变量的命名规则
变量名属于自定义的标识符,所有变量的命名规则同标识符的命名规则一样:
- 由数字、字母、下划线构成,但是数字不能用作开头。
而关键字是C++整个语言范围内预先保留的标识符,所以关键字不能用作变量名。
除了变量名以外,后续我们还将设计常量名、函数名、数组名、结构体名等等,这些均属于自定义的标识符,皆要遵循标识符的命名规则和命名规范。
变量的命名规范
变量的命名要有意义:
- 如果我们要存储年龄,可以定义
age变量,如果我们要存储名字,可以定义name变量。
复杂的变量名要采用驼峰命名法:
- 比如我们的变量名要表达我的理想身高,采用驼峰命名法应写为:
myIdealHeight
其他自定义的标识符也将遵循此命名规范。
#include <iostream>
using namespace std; int main() { int myIdealHeight = 210;cout << "王老师的理想身高是:" << myIdealHeight << endl;return 0;
}
常量
常量,值不可改变的量,在C++中,如何定义一个可以存储整数的常量呢?
const int age = 18;
#include <iostream>
using namespace std; int main() { // 通过int声明了一个整型变量a int a = 1;// 通过const修饰了变量b,使得变量b变为常量 const int b = 1;// 常量应用 比如圆周率 运行中不能被修改 b = 2; // *常量不能修改,编译不会通过 return 0;
}
注意: 除了const声明的变量作为常量外,C++还有其他常量,如:数字本身(123)即是常量、字符串本身("hello")是常量、变量的地址也是常量等等,常量的最大特征就是本身不可被修改
C++程序运行过程
- 编辑代码
- 编译
- 运行执行文件查看结果
编译过程
编译器就是将"高级语言"翻译为"机器语言(低级语言)"的程序。
一个现代编译器的主要工作流程:源代码(source code) -> 预处理(preprocessor) -> 编译(compiler) -> 汇编程序(assembler) -> 目标代码(object code) -> 链接器(Linker) -> 可执行程序(executables)。
常见的C++编译器主要分为GCC家族和MS家族,我们现在所使用的VS中搭载的编译器为MS家族中的MSVC。
#include <iostream>
# 标#号的都会预处理,# 预处理命令
解释和调试
编译是将整个代码一起翻译为01。
而解释是逐行地翻译为01。
若我们直接编译C++程序,则这个过程就是编译过程,若我们在使用断点调试进行代码调试的时候,这个时候就是解释的过程。
相关文章:
001_C++语法基础
C语法基础 所有C语法要用英文区分大小写每个语句写完以分号结束 C标准输入输出头文件iostream 若想通过C实现数据的输入和输出,需要导入标准输入输出头文件 #include <iostream>标准输入输出头文件<iostream>中包含了cin输入语句和cout输出语句 标…...
对Excel表中归类的文件夹进行自动分类
首先把excel表另存为.txt文件(注意:刚开始可能是ANSI格式,需要转成UTF-8格式);再新建一个.txt文件,重命名成.bat文件(注意:直接创建的如果是是UTF-8格式,最好转成ANSI格式࿰…...
LabVIEW液压支架控制系统的使用与各种配置的预测模型的比较分析
LabVIEW液压支架控制系统的使用与各种配置的预测模型的比较分析 模型预测控制在工业中应用广泛。这种方法的优点之一是在求解最优控制问题时能够明确考虑对输入和输出状态施加的约束。控制对象模型用于有限时间范围内最优控制的实时计算。所使用的数学设备允许从具有单输入和单…...
C++中位运算符使用
& 与 只有都为1结果为1 0 & 0 00 & 1 01 & 0 01 & 1 1 | 或 只要一个为1结果为1 0|00 0|11 1|01 1|11 ^ 异或 两个相同的数字为0,其余为1 0^00 1^01 0^11 1^10 ~ 取反 将进制位数进行取反 ~1-2 //0000 0001-->代…...
微机原理 || 第2次测试:汇编指令(加减乘除运算,XOR,PUSH,POP,寻址方式,物理地址公式,状态标志位)(测试题+手写解析)
(一)测试题目: 1.数[X]补1111,1110B,则其真值为 2.在I/O指令中,可用于表示端口地址的寄存器 3. MOV AX,[BXSl]的指令中,源操作数的物理地址应该如何计算 4.执行以下两条指令后,标志寄存器FLAGS的六个状态…...
人员闯入检测告警算法
人员闯入检测告警算法通过yolov5网络模型识别检测算法,人员闯入检测告警算法对未经许可或非法进入的人员进行及时识别告警,确保对危险区域的安全管理和保护。YOLO系列算法是一类典型的one-stage目标检测算法,其利用anchor box将分类与目标定位…...
python中super()用法
super关键字的用法 一、概述二、作用三、语法四、使用示例1.通过super() 来调用父类的__init__ 构造方法:2.通过supper() 来调用与子类同名的父类方法2.1 单继承2.2 多继承 一、概述 super() 是python 中调用父类(超类)的一种方法࿰…...
jmeter While控制器
一种常见的循环控制语句,用于重复执行一段代码块,直到指定的条件不再满足。 参数: 空LASTJMeter变量、函数、属性或任意其他可用表达式 (jmeter提供的方法)。判断变量值count_num小于等于20,推荐简单的几…...
3D数字孪生技术助力港口全新升级,提供实时数据进行智能调度
港口3D数字孪生平台是一种基于数字技术的虚拟模型,它可以模拟真实的港口环境,并对港口的运营、管理、安全等方面进行实时监控和优化。该平台带来了许多智能化提升,包括以下几个方面: 一、自动化操作和智能调度 数字孪生平台可以通…...
Qt日历控件示例-QCalendarWidget
基本说明 QCalendarWidget介绍: QCalendarWidget 是 Qt 框架中提供的一个日期选择控件,用户可以通过该控件快速选择需要的日期,并且支持显示当前月份的日历。 这里,我们继承了QCalendarWidget,做了一些简单封装和样式调整 1.使用的IDE&…...
函数式编程(四)Stream流使用
一、概述 在使用stream之前,先理解Optional 。 Optional是Java 8引入的一个容器类,用于处理可能为空的值。它提供了一种优雅的方式来处理可能存在或不存在的值,避免了空指针异常。 Optional的主要特点如下: 可能为空ÿ…...
区块链面临六大安全问题 安全测试方案研究迫在眉睫
区块链面临六大安全问题 安全测试方案研究迫在眉睫 近年来,区块链技术逐渐成为热门话题,其应用前景受到各国政府、科研机构和企业公司的高度重视与广泛关注。随着技术的发展,区块链应用与项目层出不穷,但其安全问题不容忽视。近年…...
K8S---kubelet TLS 启动引导
一、引导启动初始化过程(Bootstrap Initialization ) 1、kubeadm 生成一个Token,类似07401b.f395accd246ae52d这种格式,或者自己手动生成2、使用kubectl命令行,生成一个Secret,具体详见认证、授权3、kubelet 进程启动 (begin)4、kubelet 看到自己没有对应的 kubeconfig…...
Android系统修改驱动固定USB摄像头节点绑定前后置摄像头
前言 Android系统中usb摄像头节点会因为摄像头所接的usb口不同或者usb设备识别顺序不一样而出现每次开机生成的video节点不一样的问题。由于客户app调用摄像头时,需要固定摄像头的节点。因此需要针对前面的情况做处理。 方式1:通过摄像头名称固定摄像头节点 --- a/kernel…...
RT-Thread 内核移植
内核移植 内核移植就是将RTT内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步等功能。 移植可分为CPU架构移植和BSP(Board support package,板级支持包)移植两部…...
springboot中entity层、dto层、vo层通俗理解三者的区别
entity:这个类的属性是跟数据库字段一模一样的(驼峰命名),当我们使用MyBatis-Plus的时候经常用得到。 dto:用于后端接收前端返回的数据,一般是post请求,前端会给我们返回一个json对象ÿ…...
TypeScript_队列结构-链表
队列 队列(Queue),它是一种受限的线性表,先进先出(FIFO First In First Out) 受限之处在于它只允许在队列的前端(front)进行删除操作而在队列的后端(rear)进…...
STM32G0 定时器PWM DMA输出驱动WS2812配置 LL库
通过DMA方式输出PWM模拟LED数据信号 优点:不消耗CPU资源 缺点:占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道:TIM3 CH2 分频:0 重装值:79,芯片主频64Mhz,因此PWM输出频率:…...
记录错误:Access denied for user ‘root‘@‘localhost‘ (using password:No) 解决方案
他说我没输入密码,但是我输入了啊??于是,我试了试这儿,password 一改就好了。。。 他原来是是我打的很快,快速生成的。。。。...
python爬虫实战(5)--获取小破站热榜
1. 分析地址 打开小破站热榜首页,查看响应找到如下接口地址 2. 编码 定义请求头 拿到标头 复制粘贴,处理成json 处理请求头代码如下: def format_headers_to_json():f open("data.txt", "r", encoding"utf-8") # 读…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
