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

发布时间:2024年01月07日

个人简介

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

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

C++基础篇

前言

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

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++【作者:尚硅谷】

在这里插入图片描述


文章来源:https://blog.csdn.net/qq_45902692/article/details/135420189
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。