【Essential C++ 学习笔记】第一章 基础编程 - 初识 C++
【Essential C++ 学习笔记】第一章 基础编程 - 初识 C++
JokerHuang 发表于1年前
【Essential C++ 学习笔记】第一章 基础编程 - 初识 C++
  • 发表于 1年前
  • 阅读 28
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 本章节主要介绍了 C++ 的一些基础知识,包含有:内置类型、函数、类、对象的定义与初始化等。包含有一个简单的 C++ 例子来检验学习结果。

本章导航

初识 C++

运算符

控制语句

数组和向量

初识指针

文件的读写


内置数据类型

概述

C++ 提供了一组内置的数据类型,并且每一个基础数据类型都有与之相对应的系统关键字,用于指定该类型。

基础数据类型

数据类型关键字
整数int
布尔值bool
字符char
单精度浮点数float
双精度浮点数double

小结

  1. 虽然 C++ 为我们提供了基础数据类型,但是他们并非是我们编程任务的重心。
  2. 有其他关键字可以修饰部分基础数据类型关键字,如:long int、short int、unsigned int、long double、unsigned long int 等等。

函数

概述

函数是一块独立的程序代码序列,能够执行一些运算。它包含四个部分:返回值类型函数名参数列表函数体。分别介绍各自的作用及注意事项:

  1. 返回值类型:返回值通常用来表示运算结果。返回值类型就是描述这个返回值的数据类型。
  2. 函数名:函数名可以是任何字母、数字、下划线的组合,不能以数字开头;其次不能是关键字;再者需要有一定的语义,可以让人容易的了解这个函数的作用;最后最好不要过长。
  3. 参数列表:由两个小括号括住,置于函数名之后,可以是空的参数列表,如:main()。参数列表用来表示“函数执行时,调用者可以传递给函数的类型列表”,列表之中用逗号分隔各个类型。
  4. 函数体:函数体是有一组花括号括住的代码片段。

小例子

int setAge(int age) {
    // 这里是代码片段
    return 0;
}

return 关键字

return 是 C++ 中的关键字,紧接于 return 之后的表达式,也就是此函数的返回值。

小结

  1. 第一章里对函数的描述很简单,其实函数的水很深,比如:变长参数列表、声明等等,配合上类的使用更是变幻莫测,期待本书有更多篇幅的介绍。
  2. 基本的函数使用和其他语言类似。

初识类

C++ 事先定义好了一些基础数据类型,但他们并不能满足我们日常编程任务需要,这时候类的概念应运而生,class 机制赋予了我们增加程序内类型抽象化层次的能力。 百度百科描述类的定义为:用来描述对象,所谓的对象是指现实世界中的一切事物,那么类就可以看做是对相似事物的抽象。 所谓类,就是用户自定义的数据类型。

C++ 标准库

C++ 强大的功能来源于其丰富的类库及库函数资源。C++ 标准库的内容总共在 50 个标准头文件中定义。在 C++ 开发中,要尽可能地利用标准库完成。 C++ 的标准库都封装在 std 命名空间内,将在之后的篇章内做出对命名空间的介绍,这里只要了解即可。

class 的定义

一般来说分为两部分,分别写在不同的文件内,分别为:

  1. 头文件用来声明该 class 所提供的各种操作行为;
  2. 类的代码文件则包含了这些操作行为的实现内容。

class 的使用

使用 class,我们必须先在程序中包含 class 的头文件,头文件可以让程序知道 class 的定义。

类的声明

std::string userName;

这样一条语句便定义了一个名为 userName 的对象,它属于 std::string 类。这样的定义语句有一个特别的名称,称为声明语句。单写这么一条语句还不行,还必须让程序知道 std::string 类的定义,因此还需要在程序的开始包含对 std::string 的头文件:

#include <string>

对象的初始化

初始化方法

初始化方法分为两种赋值操作符初始化语法构造函数语法,一般来说将每个对象初始化是个好习惯。

赋值操作符初始化语法

int age = 0;
int height = 0;
int length = 0, weight = 0;

上面三行可见,在单一声明语句中,定义多个相同类型对象可以使用逗号分隔。

构造函数语法

使用赋值操作符进行初始化沿袭自 C 语言,但是如果对象需要多个初值,这种方式就没办法完成了,以标准库中的复数类为例,它的初始化需要两个初值,一为实部,二为虚部。于是便引入了构造函数语法

#include <complex>
std::complex<double> purei(0, 7);

这里使用了模板类,以后再做解释,只是想表示下构造函数语法的使用方式。


引申内容

语句 ( statement )

std::cout << "Please enter your first name:";

上面这行代码就是 C++ 所谓的语句,语句是 C++ 程序的最小独立单元,以分号作为结束。

转义字符

常用的转义字符

| 转义字符 | 含义 | | :-----: | :--: | | \r | 回车 carriage return | | \n | 换行 newline | | \t | 制表符 tab | | \0 | null | | \' | 单引号 single quote | | \" | 双引号 double quote | | \\ | 反斜线 backslash | 值得注意的是 Unix 系统每行的结束是换行符 \n,Mac 系统每行的结束是回车符 \r,Windows 系统每行的结束是换行回车 \n\r。直接导致一个问题是 Unix/Mac 文件在 Windows 中打开,显示是在一行上的,而 Windows 文件在 Unix/Mac 下打开每行多了一个^M符号!


心得体会

第一次这样写学习笔记,有点不太适应,内容也有点乱糟糟,希望通过学习 Essential C++ 这本书,一来让我对 C++ 有个更好的入门体验,二来也提高下自己的文笔。各位大神如果发现有不对的地方请指正,大家一起学习。如果要转请注明出处来自JokerHuang,不过我觉得也没人会转...

共有 人打赏支持
粉丝 4
博文 6
码字总数 7272
×
JokerHuang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: