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

视频链接:黑马程序员匠心之作|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.

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

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

相关文章

JavaWeb - Web网站的组成,工作流程以及开发模式

一. Web Web&#xff1a;全球广域网&#xff0c;也称玩万维网(www Wrold Wide Web)&#xff0c;就是能够通过浏览器访问的网站学习Web开发&#xff0c;其实就是要使用Java这门语言来开发这样的Web网站&#xff0c;这也是现在Java语言最主流的企业级应用方式。使用Java语言开发…

PERSIANN 降雨数据使用教程

一、前言PERSIANN&#xff0c;“使用人工神经网络从遥感信息中估算降水”&#xff0c;是一种基于卫星的降水检索算法&#xff0c;可提供近乎实时的降雨信息。该算法使用来自全球地球同步卫星的红外 (IR) 卫星数据作为降水信息的主要来源。 红外图像的降水基于云顶温度和降水率之…

一位腾讯在职7年测试工程师的心声...

作为一个在腾讯工作7年的测试工程师&#xff0c;今天就来聊聊腾讯工作压力到底从何而来。 压力的开始&#xff1a;时间回到7年前&#xff0c;我人生中的第一份实习工作&#xff0c;是在腾讯公司做一个自动化测试工程师。当时的我可谓意气风发&#xff0c;想要大干一场&#xf…

工厂模式白话 - 3种都有哦

前言 工厂模式&#xff08;Factory Pattern&#xff09;里所谓的“工厂”和现实生活中的工厂一样 主要作用都是生产产品 像食品厂、服装厂、汽车厂生产吃的、穿的、开的 设计模式里的工厂则是生产对象 划分 工厂模式可分为简单工厂、工厂方法、抽象工厂3种 有啥不同呢&a…

PyTorch笔记

Tensor torch中的Tensor是一种数据结构&#xff0c;使用上与Python的list、numpy的array、ndarray等数据结构类似&#xff0c;可以当成一个多维数组来用。 数学上对张量有特定定义&#xff0c;但通常理解为多维数组即可。 生成Tensor&#xff1a;torch包中提供了直接生成Tens…

【微信小程序】初识微信小程序组件

作者简介&#xff1a;一名C站萌新&#xff0c;前来进行小程序的前进之路博主主页&#xff1a;大熊李子&#x1f43b; 一、组件的创建与引用 1.1 创建组件 在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建 components -> test 文件夹在新建的 components -> test…

十分钟验证一个轻量化车联网解决方案

智能网联汽车在车联网的应用上&#xff0c;通常是以智能传感器、物联网、GIS技术为基础&#xff0c;结合大数据、人工智能技术&#xff0c;通过OT&#xff08;Operation tecnology&#xff09;和IT&#xff08;information tecnology&#xff09;融合的方式&#xff0c;实现智能…

2.3 连续性随机变量

思维导图&#xff1a; 学习目标&#xff1a; 我会按照以下步骤学习连续型随机变量&#xff1a; 复习概率论的基础知识&#xff0c;包括概率、期望、方差等概念和公式&#xff0c;以及离散型随机变量的概率分布函数和概率质量函数的概念和性质。 学习连续型随机变量的概念和性…

学生信息管理系统(student information manage system, SIMS)

一、前言 本项目为学生信息管理系统&#xff0c;使用C语言编写。 ★★★项目详见本人gitee仓库&#xff0c;地址 https://gitee.com/omnipotent-brother/student-information-manage-system.git ★★★ 二、项目介绍 开发环境&#xff1a; 基于windows 11系统下的Visual Studio…

YC-A11(原创)基于springboot,vue网上商城

绪论 课题的开发背景 随着计算机和网络的快速发展&#xff0c;并且越来越普及&#xff0c;互联网日益成为人们收集信息常用渠道&#xff0c;电子商务开始流行&#xff0c;一种全新的理念不断形成并且快速发展&#xff0c;像国内电商巨头淘宝、京东、苏宁易购、唯品会等电商平台…

【JavaScript】2.JavaScript函数

JavaScript 函数 1. 函数的概念 函数&#xff1a;就是封装了一段可被重复调用执行的代码块 通过此代码块可以实现大量代码的重复使用 2. 函数的使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta na…

前馈PID控制(热交换器/反应釜温度控制)

如何利用PID进行温度控制请参看下面博客文章: 博途PID 1200/1500PLC PID_Compact比例作用权重b微分作用权重c解读(PI-D控制器 I-PD控制器)_RXXW_Dor的博客-CSDN博客很多人会问PLC自带的PID指令和我们自己设计的PID有什么区别,这个问题要看你和什么PID控制器作对比,PID负反…

NDK RTMP直播客户端二

在之前完成的实战项目【FFmpeg音视频播放器】属于拉流范畴&#xff0c;接下来将完成推流工作&#xff0c;通过RTMP实现推流&#xff0c;即直播客户端。简单的说&#xff0c;就是将手机采集的音频数据和视频数据&#xff0c;推到服务器端。 接下来的RTMP直播客户端系列&#xff…

Redis用于全局ID生成器、分布式锁的解决方案

全局ID生成器 每个店铺都可以发布优惠卷 当用户抢购时&#xff0c;就会生成订单并保存到tb_voucher_order这张表中&#xff0c;而订单表如果使用数据库自增id就存在一些问题&#xff1a; 1.id的规律性太明显 2.受单表数据量的限制 全局ID生成器&#xff0c;是一种在分布式系…

Atlassian后Server时代 | Server版vs.数据中心版,二者的区别在哪里?

2024年2月&#xff0c;也就是一年不到&#xff0c;Atlassian将终止对Server产品及插件的所有支持。 此公告发布后&#xff0c;许多用户需要了解怎样的前进方向才是最适合企业的。为此&#xff0c;Atlassian提供了本地部署的数据中心&#xff08;Data Center&#xff09;版以及云…

线段树笔记草稿

一个左节点u << 1和右节点u << 1 | 1 的证明 区间修改部分 1.批量等值修改 前提条件 是要区间修改&#xff0c;区间查询&#xff0c;且修改操作修改的值是相同的 情景 一般是要对一个数组执行k次操作&#xff0c;每次改变其中一个区间内所有元素的值&#x…

ChatGPT文本框再次升级,打造出新型操作系统

在ChatGPT到来之前&#xff0c;没有谁能够预见。但是&#xff0c;它最终还是来了&#xff0c;并引起了不小的轰动&#xff0c;甚至有可能颠覆整个行业。 从某种程度上说&#xff0c;ChatGPT可能是历史上增长最快的应用程序&#xff0c;仅在两个多月就拥有了1亿多活跃用户&…

Adaptive Weight Assignment Scheme For Multi-task Learning

Adaptive Weight Assignment Scheme For Multi-task Learning 题目Adaptive Weight Assignment Scheme For Multi-task Learning译题用于多任务学习的自适应权重分配方案时间2022年期刊/会议IAES International Journal of Artificial Intelligence (IJ-AI) 摘要&#xff1a;如…

【AutoGPT】你自己运行,我先睡了—— ChatGPT过时了吗?

系列文章目录 【AI绘画】Midjourney和Stable Diffusion教程_山楂山楂丸的博客-CSDN博客 目录 系列文章目录 前言 一、AutoGPT是什么&#xff1f; 二、AutoGPT带来的利弊 三、AutoGPT和ChatGPT区别 四、未来 总结 前言 ChatGPT是否过时&#xff1f;AutoGPT的兴起&#…

MappingGenerator PRO 2023.3 Visual Studio 2019-2022

您的私人编码助手 MappingGenerator 最初是作为 AutoMapper 的设计时替代品创建的。现在它正在演变为编码助手&#xff0c;您可以将最平凡的编码任务委派给它&#xff1a; 生成映射生成显式转换实施克隆生成投影表达式脚手架方法调用脚手架对象创建清理方法调用方便ILogger的使…