一、C++语言是什么?
C++是一种通用的高级编程语言,它是C语言的扩展和增强版本。C++于1983年由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)创建,旨在提供更好的抽象能力和面向对象编程的支持。
C++具有以下特点:
1. 面向对象编程(OOP):C++支持面向对象的编程范式,包括封装、继承和多态。这使得编写可重用、模块化和易于维护的代码成为可能。
2. 高效性:C++是一种编译型语言,它可以直接编译成机器码,因此执行效率较高。C++还提供了底层的内存管理和指针操作能力,使得对计算资源的控制更加精细。
3. 泛型编程:C++支持泛型编程,通过模板(templates)可以实现通用的算法和数据结构。这使得C++具有高度的灵活性和可扩展性。
4. 跨平台性:C++可以在多个操作系统上运行,包括Windows、Linux、Mac等。这使得C++成为开发跨平台应用程序的理想选择。
5. 大量的库支持:C++拥有丰富的标准库和第三方库,提供了各种功能和工具,可以简化开发过程并加快开发速度。
C++是一种功能强大、灵活且高效的编程语言,适用于广泛的应用领域,包括系统开发、游戏开发、嵌入式系统、科学计算等。对于初学者来说,学习C++可以打下良好的编程基础,并为进一步深入学习其他编程语言和领域奠定坚实的基础。
二、开发环境
在开始学习C++之前,你需要设置好适合C++开发的开发环境。以下是一些常用的C++开发环境选项:
1. 编辑器(Editor):
- Visual Studio Code(免费):一个轻量级的开源编辑器,支持丰富的插件扩展,可以配置C++开发环境。
- Sublime Text(付费):一个流行的文本编辑器,具有强大的功能和插件生态系统,适合C++开发。
- Atom(免费):另一个开源的文本编辑器,具有可扩展的功能和插件,适合C++编程。
2. 集成开发环境(IDE):
- Visual Studio(付费):由Microsoft开发的全功能IDE,提供了强大的调试器和其他辅助工具,适合Windows平台的C++开发。
- CLion(付费):JetBrains开发的专门针对C++开发的跨平台IDE,提供了智能代码补全、调试器等功能。
- Code::Blocks(免费):一个开源的跨平台C++集成开发环境,适合初学者使用。
3. 编译器(Compiler):
- GCC:GNU Compiler Collection的缩写,是一个广泛使用的开源编译器套件,支持多种平台。
- Clang:一个开源的C++编译器,被认为是GCC的竞争对手,具有更快的编译速度和更好的错误信息。
选择适合自己的开发环境主要取决于个人喜好、操作系统和项目需求。对于初学者来说,一个轻量级的编辑器配合一个简单的编译器就足够了。随着你的学习和项目的复杂性增加,你可以考虑使用更强大的IDE。
在安装开发环境之后,确保你的开发环境配置正确并能够编译和运行C++代码。你可以创建一个简单的"Hello, World!"程序来测试你的环境是否正常工作。一旦你的环境设置好,你就可以开始学习C++的基本语法和概念了。
记住,选择一个适合自己的开发环境是非常重要的,因为它会对你的学习和开发体验产生影响。尽早熟悉并熟练使用你选择的开发环境,这将有助于你更高效地学习和编写C++代码。
注意,还有一些别的编译器,简洁又朴素,非常适合初学者。这里小编推荐使用Dev c++的5.7.5版本。如果有需要的小伙伴请看我个人主页的安装教程。
三.初始c++程序
1.第一个C++语言程序
在你最开始学习c++的时候,每个人的第一个程序往往都是输出Hello World。这个程序非常简单,但可以帮助你了解c++的基础语法、结构和程序编写的步骤和顺序。
#include<bits/stdc++.h>
using namespace std;
int main(){
cout <<"Hello World"<<endl;
return 0;
}
接下来我们来逐步解释这个程序:
1:#include<bits/stdc++.h>,这是一个预处理指令,它告诉编译器引入`bits/stdc++.h`库,这个库也背成为万能库(或称万能头文件),这个数包含了大多数的功能,对前期学习有助。
2:`int main()`:这是c++程序的入口点。`main`函数是每个C++程序必须有的函数,程序从这里开始执行。
3:`{` 和 `}`:这是代码块的开始和结束。所有在`main`函数内的代码都应该放在这对花括号之间。
4:cout:这是一个输出流对象,用于将文本输出到控制台。
5: `<<`:这是一个输出运算符,用于将文本或其他数据插入到输出流中。
6: `"Hello, World!"`:这是要输出的文本。你可以将其替换为任何你想要输出的内容。
7:endl:这是一个特殊的控制字符,表示换行并刷新输出流。
8:`return 0;`:这是`main`函数的结束语句,并且将0作为程序的返回值。
要运行这个程序,你需要将代码保存在以`.cpp`为扩展名的文件中,比如`hello.cpp`。然后,使用你选择的编译器将其编译为可执行文件。
2.数据类型
在C++中,数据类型用于定义变量的类型和内存占用大小。C++提供了多种内置的数据类型,包括整数、浮点数、字符和布尔值等。在本节中,我们将介绍C++中常用的数据类型。
1. 整数类型(Integer Types):
- `int`:用于表示整数,通常占用4个字节。
- `short`:用于表示短整数,通常占用2个字节。
- `long`:用于表示长整数,通常占用4个字节或8个字节。
- `long long`:用于表示更长的整数,通常占用8个字节。
2. 浮点数类型(Floating-Point Types):
- `float`:用于表示单精度浮点数,通常占用4个字节。
- `double`:用于表示双精度浮点数,通常占用8个字节。
- `long double`:用于表示更高精度的浮点数,占用字节数因实现而异。
3. 字符类型(Character Types):
- `char`:用于表示单个字符,通常占用1个字节。
- `wchar_t`:用于表示宽字符,通常占用2个字节。
- `char16_t`:用于表示UTF-16编码的字符,通常占用2个字节。
- `char32_t`:用于表示UTF-32编码的字符,通常占用4个字节。
4. 布尔类型(Boolean Type):
- `bool`:用于表示布尔值,只能取`true`或`false`两个值。(true代表真,false代表假)
此外,C++还提供了其他一些数据类型,如指针类型、数组类型和结构体类型等。你可以根据具体的需求选择合适的数据类型。
在C++中,你可以使用关键字`sizeof`来获取某个数据类型的大小(以字节为单位)。例如,`sizeof(int)`将返回`4`,表示`int`类型占用4个字节。
你可以使用以下语法来声明和初始化变量:
<数据类型> <变量名> = <初始值>;
例如:
int age = 20;
double pi = 3.14159;
char grade = 'A';
bool isPassed = true;
这些是c++中常见的数据类型和声明变量的基础知识。
2.1 数据类型的长度
在C++编程中,了解数据类型的长度是非常重要的。不同的数据类型在内存中占据的空间大小是不同的,这会直接影响到程序的性能和内存的使用。
以下是一些常见的数据类型及其长度:
1:整型数据类型:
1:char
:1字节(8位)
2:short:2字节(16位)
3:int:4字节(32位)
4:long:4字节或8字节(32位或64位)
5:long long:8字节(64位)
2:浮点型数据类型:
1:float:4字节(32位)
2:double:8字节(64位)
3:布尔型数据类型
1:true:1字节(实际上只会占用其中的1位)
4:字符串类型:
1:char[ ]或char*:根据字符串长度而定,每个字符占用1字节
在编写程序时,了解数据类型的长度有助于合理地选择合适的数据类型,避免浪费内存空间。例如,如果你知道某个变量的取值范围不会超过-128到127之间,那么可以使用char类型来存储它,而不是使用int类型,这样可以节省3个字节的内存空间。
另外,了解数据类型的长度还有助于避免数据溢出的问题。如果你使用一个长度为2字节的short类型来存储一个超过其取值范围的数值,就会发生溢出,导致结果不正确。
总结起来,掌握数据类型的长度是编程中的基础知识,它对于正确选择数据类型、优化程序性能和避免溢出等方面都起着重要的作用。因此,在学习C++编程的过程中,务必要仔细学习和理解各种数据类型及其长度。
3:变量和常量
在C++编程中,变量和常量是非常重要的概念。它们用于存储和表示程序中的数据。
3.1变量
变量是用于存储和保存数据的一种方式,在使用变量之前,需要先声明变量并指定其类型。C++中的变量有以下几个基本要素:
1:变量名:是唯一标识和标记,变量名是有一定的命名规则的,有只能用字母或下划线开头,只能包含字母、数字和下划线等。
2:变量类型:指变量存储的数据类型。
3:变量值:指存储在变量中的实际数据。
下面就是一个例子:
//定义变量
int a; //定义一个类型为整数的变量
double score;//定义一个类型为浮点的变量
char x;//定义一个类型为字符型的变量
//给变量赋值
a=5;
score=20.8;
x='a';
在C++中,还可以在声明变量的同时进行初始化:
int a=10;
//同时定义和赋值
变量的值也可以随时被修改:
int a=59//定义a的值为59
a=24//修改a的值为24
3.2常量
常量是指在程序中固定不变的值。与变量不同,常量的值在定义后不能被修改。在C++中,有两种常量类型:
字面常量:直接在代码中写入的常量值,如整数常量、浮点数常量、字符常量等。
常量变量:通过关键字const
定义的常量。常量变量在定义时必须进行初始化,并且不能再修改其值。
const int MAX_VALUE = 100; // 定义一个名为MAX_VALUE的常量变量,值为100
常量的使用可以提高程序的可读性和维护性,同时还可以防止意外的数据修改。
总结起来,变量和常量是C++编程中不可或缺的基本概念。通过合理使用变量和常量,我们可以存储和操作程序中的数据。在学习C++编程的过程中,要熟悉变量的声明、赋值和修改,以及常量的定义和使用。
4.字符串和转义字符
在C++编程中,字符串是一种常用的数据类型,用于表示一串字符。C++提供了一些特殊的语法和函数来处理字符串。
4.1字符串的表示
在c++里,字符串可以用字符型数组或者字符指针来表示。字符串以空字符("\0")作为结束符,表示和代表着字符串的结束。
一下是一些字符串表示的用例:
char str1[] = "Hello"; // 使用字符数组表示字符串
char* str2 = "World"; // 使用字符指针表示字符串
char str1[] = "Apple"; // 使用字符数组表示字符串
char* str2 = "Pear"; // 使用字符指针表示字符串
在C++中,还可以使用string
类来表示字符串,它是C++标准库中提供的字符串类。(注意因为前边说过了<bits/stdc++.h>是万能头文件,其中就已经包含了string头文件库,因此不需要再去添加了)
下面是一个string(字符串),下面保存了Hello World。
#include <bits/stdc++.h>
using namespace std;
string str3 = "Hello World"; // 使用string类表示字符串
4.2转义字符
转义字符是一种特殊的字符序列,用于表示一些特殊的字符或控制字符。在C++中,转义字符以反斜杠(\
)开头,后面跟着一个或多个字符。
以下是一些常见的转义字符及其含义:
\n
:换行符
\t
:制表符
\"
:双引号
\'
:单引号
\\
:反斜杠
例如,如果要在一个字符串里插入一个换行符,可以使用转义字符\n
:
cout << "Hello \n World";
// 输出两行:Hello 和 World
如果要在字符串中插入一个双引号,可以使用转义字符\"
:
cout << "He said, \"Hello!\"";
// 输出:He said, "Hello!"
4.3字符串操作
在C++中,还有许多用于操作字符串的函数和操作符。以下是一些常用的字符串操作:
strlen(str):返回字符串的长度(不包括结束符\0)。
strcpy(dest, src):将源字符串拷贝到目标字符串。
strcat(dest, src):将源字符串连接到目标字符串的末尾。
strcmp(str1, str2):比较两个字符串的大小关系。
substr(pos, len):返回从指定位置开始的指定长度的子字符串。
给大家看一个例子吧:
#include <cstring> // 包含字符串操作函数的头文件
using namespace std;
char str1[] = "Hello";
char str2[10];
strlen(str1); // 返回 5
strcpy(str2, str1); // 将 str1 拷贝到 str2
strcat(str1, " World"); // 将 " World" 连接到 str1 的末尾
strcmp(str1, str2); // 比较 str1 和 str2 的大小关系
string str3 = "Hello World";
str3.substr(6, 5); // 返回 "World"
总结起来,字符串和转义字符是C++编程中常用的概念。了解字符串的表示方式、转义字符的使用和常见的字符串操作函数,可以帮助你处理和操作字符串数据。
好啦,这期就给大家说到这里,后续我会每5天更新一期,如果想看后续的话请到我个人主页找到并观看。
下一期我们会学习判断选择语句和循环。
谢谢你们对我的支持,你们的赞是我创作的最大动力!