C++——简介、Hello World、变量常量、数据类型

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js🍒Three.js🍖数据结构与算法体系教程

🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

C++基础篇

文章目录

  • C++基础篇
    • 前言
    • 一、扩展知识
      • 1、编译型语言和解释型语言
      • 2、C++ 代码的执行流程
    • 二、Hello World
    • 三、认识函数
    • 四、变量和数据类型
      • 1、变量和常量
      • 2、基本数据类型
    • 总结

前言

大家好,这里是前端杂货铺。

C++,即 C Plus Plus。它是一种计算机高级程序设计语言,由 C语言 扩展升级而产生。

C++ 既可以进行 C语言 的 过程化程序设计,又可以进行 以抽象数据类型为特点的基于对象的程序设计,还可以进行 以继承和多态为特点的面向对象的程序设计

C++ 擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用 C++ 编写。

由此可见,C++ 的应用领域是非常广泛的,并且其在计算机语言中也是属于大哥的地位,因此我们有必要进行 C++ 的入门学习!


一、扩展知识

1、编译型语言和解释型语言

编译型语言代表:C、C++

由编译器把整个源代码翻译成机器码,最终生成二进制文件,一次性 提交给计算机执行。

解释型语言代表:JavaScript、Python

由解释器将代码 逐行 解释成机器码,并交给计算机执行。

因此,在效率方面,编译型语言要高于解释型语言(如果你了解 FFmpeg.exe 和 FFmpeg.wasm,那么你肯定能认识到编译型语言的效率真的很高)。

2、C++ 代码的执行流程

在这里插入图片描述


二、Hello World

如何使用 C++ 语言编写一个最简单的程序 Hello World 呢?—— 我们可以借助 Visual Studio 更容易的实现(其安装与使用请自行查找资料,在此不做赘述)!

下面我们进入 梦开始的地方 —— Hello World!

  1. include<iostream> 意思是引入 iostream 库,即输入输出流库。
  2. using namespace std; 命名空间,用来限制标识符的各种可见范围。
  3. main() 即主函数,cout 输出,cin 输入。
#include<iostream>
using namespace std;

int main()
{
	cout << "Hello World!" << endl;
	// 等待键盘输入 
	cin.get();
}

在这里插入图片描述

我们还可以通过右键项目名-生成,创建出双击即可执行的 .exe 文件。

在这里插入图片描述

在这里插入图片描述


三、认识函数

和大多数编程语言一样,C++ 函数的基本使用也很简单,直接上代码。

main.cpp 文件

#include<iostream>
#include<string>
using namespace std;

void welcome();

int main()
{
	welcome();
	cin.get();
	cin.get();
}

welcome.cpp 文件

#include<iostream>
#include<string>
using namespace std;

// void声明 无返回值
void welcome()
{
	cout << "请输出你的姓名:" << endl;
	string name;
	cin >> name;
	cout << "Hello " << name << endl;
}

在这里插入图片描述


四、变量和数据类型

1、变量和常量

通过 #define 定义的常量为宏定义,但我们通常采用 const 定义常量,因为会更加安全。

作用域各大语言差别不大,C++ 可以通过命名空间实现在局部作用域中使用全局作用域下声明的与该局部作用域下相同的变量(如下面代码中的 number 变量)。

#include<iostream>
#include<string>
// 宏定义常量
#define PI 3.14
using namespace std;

// 全局变量 number
int number = 10;

int main()
{
	int a = 1, b = 2;
	cout << "a = " << a << ", b = " << b << endl;

	// 局部变量 number
	int number = 5;

	cout << "局部变量number = " << number << endl;
	cout << "全局变量number = " << ::number << endl;

	// 常量
	const float Pi = 3.14;

	cout << "PI = " << PI << endl;
	cout << "Pi = " << Pi << endl;
	cin.get();
}

在这里插入图片描述


2、基本数据类型

下面的代码中,包含对 整型、无符号整型、char 类型、bool 类型、浮点类型、字面值常量、类型转换的使用

  1. 无符号整型没有负数,所以当我们不需要负数的时候,可以把变量设置为无符号的,从而可以增大可用范围。
  2. 部分字符有特殊的含义,我们如果想在字符串中输出它们,就需要使用 \ 进行转义。
  3. 单个字符我们可以用 '' 包裹,但多个字符我们需要使用 "" 包裹使用。
  4. 不同数据类型时可以进行自动类型转换的,当赋值超出范围的时候,并不会报错,而是会进行精度的丢失,只保留剩余字节代表的数值。
#include<iostream>
using namespace std;

int main()
{
	// 短整型 2个字节 -32768 - 32767
	short a = 20;
	cout << "a = " << a << endl;
	cout << "a(short)的长度为:" << sizeof a << endl;

	// 整型 4个字节
	int a2 = 20;
	cout << "a2 = " << a2 << endl; 
	cout << "a2(int)的长度为:" << sizeof a2 << endl;

	// 长整型 4个字节
	long a3 = 20;
	cout << "a3 = " << a3 << endl;
	cout << "a3(long)的长度为:" << sizeof a3   << endl;
	
	// 8个字节
	long long a4 = 20;
	cout << "a4 = " << a4 << endl;
	cout << "a4(long long)的长度为:" << sizeof a4 << endl;

	// 无符号短整型 => 无负数 0 - 65535
	unsigned short s1 = 40000;
	cout << "s1 = " << s1 << endl;

	// 字符型
	char c = 65;
	cout << "c = " << c << endl;
	char c2 = (c + 1);
	cout << "c + 1 = " << c2 << endl;

	// 布尔型
	bool b1 = true;
	cout << "b1 = " << b1 << endl;
	cout << "b1(bool)的长度为:" << sizeof b1 << endl;

	// 浮点型
	float f = 2.5;
	cout << "f = " << f << endl;
	cout << "f(float)的长度为:" << sizeof f << endl;


	// 双精度型
	double d = 3.79E-23;
	cout << "d = " << d << endl;
	cout << "d(double)的长度为:" << sizeof d << endl;

	/* 字面值常量 */
	// 整型
	30;
	036L;
	0x1ELL;

	// 浮点类型
	3.14f;
	1.25L;

	// 字符类型
	',';
	'A';
	'2ss';
	"ABC";
	'\'';

	// 转义字符
	char tc = '\n';
	cout << "tc = " << tc << endl;
	
	cout << "Hello World!\t\"Hello C++!\"\n \?" << endl;

	// 布尔类型
	true;
	false;

	/* 赋值时自动类型转换 */
	// 整数值赋给 bool 变量
	bool btrans = 25;
	cout << "btrans = " << btrans << endl;

	// bool 类型的值赋给算数类型
	short strans = false;
	cout << "strans = " << strans << endl;

	// 浮点数赋值给整数类型
	int itrans = 3.14;
	cout << "itrans = " << itrans << endl;

	// 整数值赋值给浮点类型
	float ftrans = 3;
	cout << "ftrans = " << ftrans << endl;

	// 赋值超出整型范围
	unsigned short ustrans = 65536;
	cout << "ustrans = " << ustrans << endl;

	cin.get();
}

在这里插入图片描述


总结

本篇文章首先介绍了 编译型语言和解释型语言的区别C++ 代码的执行流程,之后我们使用 C++ 代码实现了第一个程序 Hello World!

然后我们初步认识了简单函数的使用,以及变量常量、基本数据类型的使用及一些注意事项。

对于运算符、流程控制语句等内容就不做讲解了,这些内容和 JS、Java 等语言基本上一模一样…

好啦,本篇文章到这里就要和大家说再见啦,祝你这篇文章阅读愉快,你下篇文章的阅读愉快留着我下篇文章再祝!


参考资料:

  1. 百度百科 · C++
  2. 2023最新版C++【作者:尚硅谷】

在这里插入图片描述


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

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

相关文章

试除法求约数算法总结

知识概览 试除法求一个数的约数的时间复杂度是。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构&#xff0c;给出相应代码模板&#xff0c;并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/871/ 题解 用试除法求约数&#xff0c;…

Golang拼接字符串性能对比

g o l a n g golang golang的 s t r i n g string string类型是不可修改的&#xff0c;对于拼接字符串来说&#xff0c;本质上还是创建一个新的对象将数据放进去。主要有以下几种拼接方式 拼接方式介绍 1.使用 s t r i n g string string自带的运算符 ans ans s2. 使用…

火山软件开发平台调用奥迦插件源码模块实现找色找字类似大漠插件

主要是存档自用 奥迦插件在Windows 10操作系统上使用Visual Studio 2019编写,适用于所有较新的Windows平台,是一款集网络验证,深度学习,内核,视觉,文字,图色,后台,键鼠,窗口,内存,汇编,进程,文件,网络,系统,算法及其它功能于一身的综合插件,类似于大漠插件 插件使用C语言和COM技…

使用邮箱发送验证码前端完成登录

前言 在前一篇使用C#发送邮箱验证码已经完成使用.net core web api写了完成往登录邮箱发送验证码的接口。现在就用前端调用接口模拟登录功能。 接口 public class ApiResp{public bool Success { get; set; }public int Code { get; set; }public int count { get; set; }pu…

20240105-工作安排的最大收益

题目要求 我们有 n 份工作&#xff0c;每份工作都安排在 startTime[i] 至 endTime[i] 期间完成&#xff0c;从而获得 profit[i] 的利润。 给你 startTime、endTime 和 profit 数组&#xff0c;返回你能获得的最大利润&#xff0c;使得子集中没有两个时间范围重叠的工作。 如…

SSH 无密登录配置

1)配置 ssh (1)基本语法 ssh 另一台电脑的 IP 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 [yuxuan@yuxuan102 ~]$ ssh yuxuan103 ➢ 如果出现如下内容 Are you sure you want to continue connecting (yes/no)? ➢ 输入 yes,并回车 (3)退回到 …

MYSQL 存储过程/存储函数

简而言之&#xff0c;类似于封装函数 特点 基本语法 create peocedure p1() begin select coun(*) from studuent; end; call p1(); 设置完别忘了把delimiter改回来 变量 系统变量 用户自定义变量 set myname its; set myage : 10; 局部变量 if 参数&#xff08;IN&…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例

一、线程池的启动 &#xff08;主线程&#xff09; // 启动线程池 &#xff08;主线程&#xff09; void threadPoolRun(struct ThreadPool* pool) {/*线程池被创建出来之后&#xff0c;接下来就需要让线程池运行起来&#xff0c;其实就是让线程池里的若干个子线程运行起来*//…

JVM虚拟机的垃圾回收器(面试题)

1.什么是垃圾回收 垃圾回收主要说的是java会自动把程序在运行过程中产生的一些没有用的对象给回收掉&#xff0c;这样可以避免内存的浪费。 java主要是通过一个叫“根可达”的算法来识别这个对象是否可以被回收的&#xff0c;然后回收的算法也主要有三种&#xff1a;标记清除&a…

Python 教程 02:Python 编程环境的搭建与 IDE 的选择

目录 一、搭建 Python 环境 1.1 Python 官网 1.2 下载 Python 1.2.1 选择版本 1.2.2 选择平台 1.2.3 下载安装文件&#xff08;Windows & macOS&#xff09; 1.3 安装环境 1.3.1 Windows 平台 1.3.2 macOS 平台 1.3.3 Linux 平台 1.4 验证安装是否成功 二、选择…

Flink自定义Source模拟数据流

maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

瓢虫目标检测数据集VOC格式400张

瓢虫&#xff0c;一种小巧玲珑、色彩鲜艳的昆虫&#xff0c;因其独特的形态和生态习性而受到广泛欢迎。 瓢虫的体型小巧&#xff0c;一般为圆球形&#xff0c;体色鲜艳&#xff0c;有红、黄、黑等多种颜色。它们通常有一个坚硬的外壳&#xff0c;可以保护自己不受天敌的侵害。…

12月笔记

#pragma once 防止多次引用头文件&#xff0c;保证同一个&#xff08;物理意义上&#xff09;文件被多次包含&#xff0c;内容相同的两个文件同样会被包含。 头文件.h与无.h的文件&#xff1a; iostream是C的头文件&#xff0c;iostream.h是C的头文件&#xff0c;即标准的C头文…

前端--基础 常用标签 - 超链接标签 ( 内部链接,空链接,下载链接,网页元素连接)

链接分类 &#xff1a; 外部链接 内部链接 空链接 下载链接 网页元素链接 内部链接 &#xff1a; 即 网站内部页面之间的相互链接&#xff0c;直接点击 链接内部页面名称即可 所谓内部链接&#xff0c;就是在同一个网站里面&#xff0c;有许多链接&#xff0c;当你在 a…

机器学习笔记 - 用于语义图像分割的空洞卷积DeepLabv3

一、什么是DeepLabv3&#xff1f; DeepLabv3 是用于语义分割任务的深度神经网络 (DNN) 架构。虽然不是比较新的网络模型&#xff0c;但是也是分割模型里的杰出代表之一&#xff0c;所以还是值得深入了解。 它使用Atrous&#xff08;Dilated&#xff09;卷积来控制感受野和特征图…

房贷计算器,妥妥的数学计算

根据给出的公式&#xff0c;编写房贷计算器。妥妥的数学计算&#xff0c;把数学公式“翻译”成代码就好。 (笔记模板由python脚本于2024年01月06日 18:08:55创建&#xff0c;本篇笔记适合初具基本编程能力的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;http…

服务器GPU温度过高挂掉排查记录

服务器GPU挂掉 跑深度学习的代码的时候发现中断了。通过命令查看&#xff1a; nvidia-smi显示 Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error。感觉很莫名其妙。通过重启大法之后&#xff0c;又能用一段时间。 shutdown -r now但是过了一个小…

遗传算法(GA)、模拟退火算法(SAA)、蚁群算法(ACO)、粒子群算法(PSO)优缺点汇总

遗传算法 优点&#xff1a; 与问题领域无关且快速随机的搜索能力&#xff0c;不会陷入局部最优解&#xff1b;搜索从群体出发&#xff0c;具有潜在的并行性&#xff0c;提高运行速度&#xff0c;鲁棒性高&#xff1b;搜索使用评价函数启发&#xff0c;过程简单&#xff1b;使…

基于Java实现全功能电子商城

&#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩项目推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 基于SpringBoot的旅游网站 基于SpringBoot的MusiQ音乐网站 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及…

小游戏实战丨基于PyGame的俄罗斯方块小游戏

文章目录 写在前面PyGame五子棋注意事项系列文章写在后面 写在前面 本期内容&#xff1a;基于pygame的俄罗斯方块小游戏 下载地址&#xff1a;https://download.csdn.net/download/m0_68111267/88700182 实验环境 python3.11及以上pycharmtkinter PyGame Pygame是一个非常…