本课程是 c++ 的初级课程,是在 c 语言基础上的一个延伸,讲述了包括新增数据类型、命名空间等内容,最后通过一个通俗易懂的例子讲所述知识点融会贯通,以达到知识灵活运用,最终得以升华的目的。
1 c++ 简介
c++那些事儿
# 诞生地: 贝尔实验室(Bell Lab)
c++ 之父:比亚尼.斯特劳斯特鲁普
博士
为人低调,有问必答。
c++ 社区排行榜
TIOBE Index | TIOBE - The Software Quality Company
c++ 语言的应用领域
快、省
- 嵌入式
- 游戏编程
- 网络编程
- 系统编程
c和c++的关系
- c 是 c++ 的子集
- c++ 是从 c 的基础上发展而来的
- c 语言 面向过程
- c++支持 面向过程+ 面向对象
2 c++ IDE 环境搭建
什么是 IDE?
IDE(integrated development environment) ,集成卡法环境,一般包括:
- 编辑器
- 编译器
- 调试器
- 图形用户界面工具
- …
工欲善其事,必先利其器
- windows: visual studio 2015 + visual assist x for visual studio - Visual Assist - a Visual Studio extension by Whole Tomato Software
3 c++ 之初体验
1 |
|
4 c++ 语言新特性
4.1 c++ 的特性
- 新的数据类型
- 新的初始化方法
- 随用随定义
新的数据类型
c语言数据类型
c++ 中新的数据类型: bool
相比 c 逻辑判断的方式,使用 bool 类型语义更加明确,程序更易读。
c or c++ | 逻辑类型 | 真 | 假 |
---|---|---|---|
c | 没提供 | 非0 | 0 |
c++ | bool | true | false |
c语言
1 | int flag = 0; |
c++
1 | bool flag = 0; |
新的初始化方法
c 语言提供的初始化方法
1 | // 复制初始化 |
c++ 提供两种初始化方法
- 复制初始化
- 直接初始化
1 | // 直接初始化 |
随用随定义
- c 语言: 所有变量定义必须位于函数体的最前面
- c++ :所有变量随用随定义
c语言
1 | int main () { |
c++
1 | int main () { |
4.2 练习(略)
4.3 c++ 的输入输出方式
c 语言的 I/O 方式
输入过程
输出过程
c++ 语言的输入输出方式
- 不用关注占位符
- 不用关注数据类型
- 不容易出现问题
输入过程
输出过程
cin 语法形式
- 使用 >> 指定写入哪个变量
1 | cin >> x; |
cout 语法形式
- 使用 << 来拼接
- endl 代表回车,可以省略
1 | cout << x << endl; |
4.4 练习(略)
4.5 c++ 新特性以及输入输出演示
以 mac 环境为例。
项目目录
1 | $ tree -a -I .git |
c_cpp_properties.json
1 | { |
launch.json
1 | { |
tasks.json
1 | { |
调试运行
1 | Launching: '/Users/tonyearth/Projects/C-PLUS-PLUS_STUDY/JK_C-PLUS-PLUS/build/IODemo.out' |
4.6 c++ 之 namespace
注意:命名空间的名字不可以重复!
A 程序库
1 | namespace A { |
B 程序库
1 | namespace B { |
使用
1 | cout << A::x << endl;// 使用 A 库的 x 变量 |
4.7 练习(略)
4.8 namespace 的演示
说明: 调用某些命名空间下的变量或函数时,有两种方式
指定默认的命名空间
1 |
|
每次调用都指定命名空间
1 |
|
4.9 章节练习
1 |
|
5 综合练习
1 | /***************************************** |