c++语言教程(基础教程)第一部分

一、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天更新一期,如果想看后续的话请到我个人主页找到并观看。

下一期我们会学习判断选择语句和循环。

谢谢你们对我的支持,你们的赞是我创作的最大动力!

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值