C++学习从基础到高阶(基于黑马程序员教程)

news2024/10/5 9:29:48

视频链接:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难(52个小时)
C语言中文网:http://c.biancheng.net/cplus/
Visual Studio 2022 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
Visual Studio 2022 安装的流程:VS2022安装使用教程,Visual Studio 2022详细安装使用调试教程C语言编译器,C++编译器
C++学习方向:C/C++学习方向与就业领域

第一阶段(知识)

01、课程安排

在这里插入图片描述

02、第一个C++程序之C++书写HelloWorld

写一个C++程序需要4步:

1.创建项目
2.创建C++文件
3.编写代码
4.运行程序

创建项目:
打开visual studio2022软件之后,点击创建新项目
在这里插入图片描述
选择空项目,点击下一步
在这里插入图片描述
确定项目名,项目文件所在地址,点击创建
在这里插入图片描述
来到以下界面
在这里插入图片描述
在右边源文件右键—添加—新建项

在这里插入图片描述
输入cpp文件名,添加
在这里插入图片描述
代码:

#include <iostream>
using namespace std;
int main()
{
	system("pause");
	return 0;

}

运行一下,弹出一个黑框:
在这里插入图片描述
打印helloworld的C++代码:

#include <iostream>
using namespace std;

int main()
{
	cout << "hello world" << endl;

	system("pause");

	return 0;

}

输出:
在这里插入图片描述

03.C++注释如何写

单行注释:

//注释内容

多行注释:

#include <iostream>
using namespace std;

/*
注释内容
main是一个程序的入口,每个程序都必须有这么一个函数,有且仅有一个
*/
int main()
{
	cout << "hello world" << endl;

	system("pause");

	return 0;

}

04.变量

变量存在的意义:方便我们管理内存空间
变量作用:给指定的内存空间起名,方便操作这段内存
语法:数据类型 变量名 = 初始值;
示例:

#include <iostream>
using namespace std;

int main()
{
	// 变量创建的语法:数据类型 变量名 = 变量初始值
	int a = 10;

	cout << "a = " <<a<< endl;

	system("pause");

	return 0;

}

输出
在这里插入图片描述

05.常量

作用:用于记录程序中不可更改的数据
定义常量的两种方式:
1、#define 宏常量:#define 常量名 常量值
2、const修饰的变量:const 数据类型 常量名 = 常量值
通常在变量定义前加关键词const,修饰变量为常量,不可修改

代码:

#include <iostream>
using namespace std;

// 定义宏变量
#define day 7

int main()
{
	int a = 10;
	cout << "a = " <<a<< endl;

	cout << "一周有" <<day<< "天" << endl;
	
	// 定义一个常量
	const int month = 12;

	cout << "一年有" << month << "个月" << endl;
	
	system("pause");

	return 0;

}

输出:
在这里插入图片描述

06.关键字

关键字的作用:关键字是C++中预先保留的单词(或称标识符),在定义变量或者常量的时候,不要使用关键字
在这里插入图片描述

07.标识符的命名规则

作用:C++规定标识符(变量、常量)命名时,有一套自己的规则
1、标识符不能是关键字
2、标识符只能是由字母、数字或下滑线
3、第一个字符必须为字母或下划线(数字不能作为开头)
4、标识符中字母区分大小写

08.数据类型-整型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

数据类型的存在意义:给变量分配合适的内存空间
整型的作用:整型变量表示的是数据类型的数据
C++中能够表示整型的类型有以下几种方式:区别在于所占内存空间不同
在这里插入图片描述
如果在定义时超过了范围,该整型的值将还是回到该数据类型对应的范围内,只是值与定义的差n个轮回

short num1 = 10;
int num2 = 10;
long num3 = 10;
longlong num4 = 10;

平时最常用的还是int

09.sizeof 关键字

作用:利用sizeof 关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型 或者 变量)
例如:

#include <iostream>
using namespace std;

// 定义宏变量
#define day 7

int main()
{
	int a = 10;
	cout << "a = " <<a<< endl;

	cout << "一周有" <<day<< "天" << endl;
	
	// 定义一个常量
	const int month = 12;

	cout << "一年有" << month << "个月" << endl;
	
	short num1 = 10;

	cout << "short占用内存空间为:" << sizeof(num1) << endl;
	int num2 = 10;
	cout << "int占用内存空间为:" << sizeof(num2) << endl;

	long num3 = 10;
	cout << "long占用内存空间为:" << sizeof(num3) << endl;

	long long num4 = 10;
	cout << "longlong占用内存空间为:" << sizeof(num4) << endl;

	system("pause");

	return 0;

}

输出:

a = 10
一周有7天
一年有12个月
short占用内存空间为:2
int占用内存空间为:4
long占用内存空间为:4
longlong占用内存空间为:8
请按任意键继续. . .

整型结论: short < int <= long <= longlong

10.数据类型-实型

实型(浮点型)作用:用于表示小数
浮点型变量分为两种:1、单精度float 2、双精度double
两者的区别在于表示的有效数字范围不同
在这里插入图片描述
在默认情况下编辑器会默认一个小数是双精度,在输出时默认显示出6位有效数字(即在定义时小数的有效位数超过6位,也显示6位)
无法启动程序:Visual Sudio 2019无法启动程序 系统找不到指定文件解决办法

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

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

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

相关文章

软件设计模式 | 动态代理模式

文章目录一、动态代理概述1.1 代理的概述和作用1.2 动态代理的优点1.3 代理对象的创建1.4 代理对象调用方法的执行流程二、动态代理举例2.1 歌手经纪人2.2 业务功能的性能统计2.3 动态代理在 Spring 框架中的应用三、基于子类的动态代理一、动态代理概述 1.1 代理的概述和作用…

英语语法——动词

文章目录分类时态一般时态三单过去式进行时态现在分词完成时态过去分词完成进行时态情态语态否定强调非谓语动词分类 时态 时态用于表示动作发生的时间和状态&#xff0c;它通过谓语动词的形式变化来体现&#xff0c;时态是每个动词必须要有的。在英语中有以下十六种时态&…

MySQL怎么卸载干净

卸载干净MySQL的步骤&#xff1a;首先关闭MySQL服务&#xff1b;然后卸载MySQL软件&#xff1b;接着删除MySQL在电脑中的残存文件&#xff1b;最后删除MySQL注册表信息即可。 很多人都遇到过一个问题&#xff0c;那就是在安装MySQL的时候操作错误&#xff0c;最后结果不是自己想…

C++【深入理解继承】

文章目录一、继承概念与定义二、基类和派生类对象赋值转换三、派生类的默认成员函数&#xff08;1&#xff09;构造函数&#xff08;2&#xff09;拷贝构造函数&#xff08;3&#xff09;赋值重载&#xff08;4&#xff09;析构函数四、复杂的菱形继承及菱形虚拟继承&#xff0…

python 不指定参数个数---args基础用法

前言&#xff1a; 在有些时候&#xff0c;设计函数的时候&#xff0c;可能不知道要传入的参数类型或者参数个数&#xff0c;此时args可以很好地解决。 一、*args的基本用法 1。传入不指定个数的参数&#xff0c; 2。参数的类型也不指定&#xff0c;可以是任意类型数据&…

k8s学习(三十五)飞腾2000+麒麟V10离线部署metrics-server

文章目录1、下载metrics-server配置文件2、下载推送metrics-server镜像3、修改metrics-server配置4、启动metrics-server1、下载metrics-server配置文件 在有网机器上从网站https://github.com/kubernetes-incubator/metrics-server下载 拷贝其到离线机器K8S的master节点。 2…

九龙证券|又3个涨停,退市风险急升!

*ST新海退市危险急剧上升&#xff01; 到4月14日&#xff0c;*ST新海收盘价接连14个买卖日低于1元/股。按照退市新规&#xff0c;若*ST新海在接下来6个买卖日收盘价继续低于1元/股&#xff0c;将触及买卖类强制退市景象而终止上市&#xff0c;公司股票将不进入退市整理期。 面…

Android Audio音量设置原理流程分析

Android Audio音量设置原理流程分析 简介 本篇文章主要介绍Android音量设置从App应用层到framework层执行流程&#xff0c;以及相关的细节和原理分析&#xff0c;建议在阅读此文章前去看博主的混音理论篇的声音的音量属性和声音相关公式的推导章节&#xff0c;这对阅读时理解音…

2023年泰迪杯数据挖掘挑战赛B题完整数据分析与预测(5.针对完整数据的组合预测-机器学习+深度学习)

背景 2023年泰迪杯完整数据最新出炉&#xff0c;博主根据最新完整数据对原来的预测方案进行了调整&#xff0c;采用机器学习深度学习的组合预测来实现最终预测 全部数据已经出炉&#xff0c;可以看出训练样本和预测样本都增加了十倍&#xff0c;这对于数据的处理复杂程度也有…

linux驱动开发 - 04_Linux 设备树学习 - DTS语法

文章目录Linux 设备树学习 - DTS语法1 什么是设备树&#xff1f;2 DTS、DTB和DTC3 DTS 语法3.1 dtsi 头文件3.2 设备节点3.3 标准属性1、compatible 属性2、model 属性3、status 属性4、#address-cells 和#size-cells 属性5、reg 属性6、ranges 属性7、name 属性8、device_type…

FreeRTOS 任务切换

文章目录一、PendSV 异常二、FreeRTOS 任务切换场合1. 执行系统调用 taskYIELD()2. 系统滴答定时器(SysTick)中断 SysTick_Handler三、PendSV 中断服务函数 PendSV_Handler()四、查找下一个要运行的任务 vTaskSwitchContext()五、FreeRTOS 时间片调度六、时间片调度实验RTOS 系…

ECF机制:信号 (Signal)

&#x1f4ad; 写在前面&#xff1a;ECF (异常控制流) 机制是存在于系统的所有层级中的&#xff0c;所以这一块的知识我们需要系统地去学习。前几章我们探讨过了异常 (Exceptions)&#xff0c;由硬件触发&#xff0c;在内核代码中处理。讲解了进程的上下文切换 (Process Contex…

Shiro整合SpringBoot项目实战

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

阿里入局,通义千问备受期待

目录官宣内测体验内容鸟鸟分鸟后言继百度文心一言发布三周之后&#xff0c;4月7日阿里通义大模型终于推出通义千问&#xff0c;阿里正式加入ChatGPT战局。下午市场一片大热&#xff0c;对于深耕NLP多年的阿里&#xff0c;大家有足够的期待。 官宣内测 “你好&#xff0c;我叫通…

【SpringBoot】springboot启动热部署

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ SpringBoot——手工启动热部署一、pom.xml导入…

Kotlin 是后端开发的未来

Kotlin 是后端开发的未来 严格类型、命名参数、多范式语言 您今天遇到的每个后端开发人员都会说他们使用 JavaScript、Python、PHP 或 Ruby 编写代码。近年来&#xff0c;您会遇到一小部分人转而使用 Kotlin 作为他们创建 Web 服务器的语言选择。由于我在学习Ktor&#xff0c;所…

深度学习12. CNN经典网络 VGG16

深度学习12. CNN经典网络 VGG16一、简介1. VGG 来源2. VGG分类3. 不同模型的参数数量4. 3x3卷积核的好处5. 关于学习率调度6. 批归一化二、VGG16层分析1. 层划分2. 参数展开过程图解3. 参数传递示例4. VGG 16各层参数数量三、代码分析1. VGG16模型定义2. 训练3. 测试一、简介 …

Html5版音乐游戏制作及分享(H5音乐游戏)

这里实现了Html5版的音乐游戏的核心玩法。 游戏的制作借鉴了&#xff0c;很多经典的音乐游戏玩法&#xff0c;通过简单的代码将音乐的节奏与操作相结合。 可以通过手机进行游戏&#xff0c;准确点击下落时的目标&#xff0c;进行得分。 点击试玩 游戏内的下落数据是通过手打记…

【Pytorch】使用pytorch进行张量计算、自动求导和神经网络构建

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 这是目录张量计算张量的属性和方法&#xff0c;如何使用它们来获取或修改张量的信息和形状张量之间的运算和广播机制&#xff0c;如何使用torch.add(), torch.sub(), torch.mul(), to…

【Redis7】Redis7 持久化(重点:RDB与AOF重写机制)

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍Redis7 持久化&#xff08;重点&#xff1a;RDB与AOF重写机制&#xff09;。 后续会继续分享Redis7和其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 …