可以将 C++ 视为一个语言联邦,主要包括四大部分:C语言,面向对象,模板,STL
授人以鱼不如授人以渔
课程大纲
- C 语言基础
- 面向对象设计
- STL
- 阶段小项目
- Linux操作系统基本命令,计算机基础,数据结构,设计模式
培养利用计算机编程对现实世界的问题进行建模的能力
一. C++ 的历史
1.1 C 语言的历史:万物之源
C 语言,由美国贝尔实验室的 D.M.Ritchie 于 1972 年推出用于构建 Unix 操作系统,因为其由专业程序员设计,其最终结果堪称完美。C语言的设计前后连贯,且支持模块化设计,成为短小精干、高效实用、功能强大的编程语言。
C 的用途
- 嵌入式,硬件开发
- 操作系统:Unix、Linux
- 编译器
- 软件开发:Nginx反向代理服务器,Redis数据库
然而 C 语言是一个面向过程编程的编程语言,不支持面向对象。面向对象编程相比面向过程可以更好的抽象现实世界
1.2 C++ 横空出世
与 C 语言一样,C++ 也是在美国贝尔实验室诞生的,于 20 世纪 80 年代由 Bjarne Stroustrup 开发。C++ 有极高的性能与运行效率,仅次于 C 语言与汇编语言,又有极高的对现实世界的抽象能力,普遍用在需要极高性能和控制性的领域。
C++的用途
- 游戏领域还是 C++ 天下,C++ 一直以来都是编写游戏引擎的首选语言,而且几乎是唯一语言
- 高性能服务器开发
- 网络安全领域
- 大量的嵌入式应用多是 C 做底层,C++做上层。
C++ 博大精深,没有任何一个人敢说精通这门语言,在学习这门语言的时候,切记切记不要陷入各种语法特性的泥潭之中,要学会做减法,从整个语法特性的全集中,抽出一部分子集去使用解决问题,限制使用其它的语法特性。
二. Hello , world
- 创建文件
- 编写代码
- 运行程序
文件类型
- .c —> C语言的源文件
- .cpp —> C++的源文件
- .h —> 头文件
Vim
Vim 是一个高度可定制的终端文本编辑器
vim 有三个模式:一般模式,编辑模式,命令模式
一般模式
我们使用 Vim 打开一个文件,默认进入一般模式,在这个模式下,有以下几个常用命令
- dd —> 删除光标所在行,前面可加数字如【3dd】表示删除 3 行
- yy —> 复制光标所在行,前面可加数字如【3yy】表示复制 3 行
- p —> 粘贴,从光标的下一行开始粘贴
- u —> 撤销
编辑模式
- 在一般模式下,输入 i 即可进入编辑模式,可以输入和编辑文本
- 按下左上角 Esc 键可从编辑模式切换到一般模式
命令模式
输入英文输入法中的 : 即可进入命令模式,可在 : 后输入命令,有以下常用命令
- q —> 不保存并退出
- wq —> 保存并退出
第一个 C 语言程序
//标准(std)输入(i)输出(o)
#include <stdio.h>
// main 函数,程序的入口同时也是程序的出口,有且只能有一个 main 函数
// void 表示这个函数没有任何的输出
int main(void)
{
// \n 是换行的意思
printf("hello , world\n");
return 0;
}
三. Linux 基础操作
列出当前目录下有哪些文件
ls
切换目录
cd
创建目录
mkdir
删除文件
# 删除一个文件
rm -i 【文件名】
# 删除一个目录
rm -r 【文件夹】
改变文件名
mv 原路径 目标路径
两种特殊的目录
./ # 当前目录
../ # 上级目录
清理屏幕
clear
四. 作业
- 查阅资料,有哪些编译型语言,有哪些脚本语言,编译型语言和脚本语言的区别是什么?
- 查阅资料,什么是面向过程编程,什么是面向对象编程,他们的区别是什么?
- 熟悉 Vim 的操作,记住一些常用的命令即可。在 Vim 上利用 C/C++ 编写打印 “hello , world” 的程序。
- 下载一个 Markdown 编辑器(比如 Obsidian、Marktext)在 Windows 操作系统,熟悉 Markdown 语法,适应用 Markdown 编辑器记录电子笔记,[1],[2],[3] 作业以及后续作业均以 Markdown 电子笔记的形式提交。
五. 扩展
- 电影《模仿游戏》,了解计算机之父图灵的传奇一生
- 我的个人博客 jlovex.top,关注一下,后续讲课的讲义都会放在我的个人博客上