学习C++的自我记录
内容概览
C++
C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:
- 封装(Encapsulation)
- 抽象(Abstraction)
- 继承(Inheritance)
- 多态(Polymorphism)
标准的 C++ 由三个重要部分组成:
- 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
- C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
- 标准模板库(STL),提供了大量的方法,用于操作数据结构等。
Overview 总览
Chapter 1 计算机和C++入门
1. 计算机系统
硬件
输入设备:将信息传给计算机的设备,比如键盘和鼠标
输出设备:将信息发送给用户的设备,比如显示器
处理器(CPU):计算机核心、大脑;芯片;支持指令进行操作
主存储器(RAM):计算机核心;存储位置、内存位置;二机制位(bit),每八位(2^3)01010101称为字节(bytes);一个byte的编号为该字节的地址
辅助存储器:文件
软件
操作系统(operating system):为计算机完成任务而分配资源,常见的operating system 有UNIX, DOS, Linux, Windows, macOS, iOS, Android, etc.
输入:程序和数据
输出:执行程序后的结果
语言
高级语言: C, C#, Java, Python, PHP, Visual Basic
低级语言:汇编语言,需要经历简单的转换
编译器:将高级语言翻译成低级语言(机器语言),是计算能够理解并运行
算法
算法:作为解决方案提供一系列指令
报错
可被计算机侦查到的错误:
1/ 语法错误
2/ 运行时错误
需要人工排查的错误:
3/ 逻辑错误
2. 语法介绍
C++中单独一个指令为语句
打开C++库:
#include <iostream>
using namespace std;
输入和输出语句:
int main(){
char input;
cout << "enter a letter"; //输出语句
cin >> input; //输入语句
return 0;
}
Chapter 2 C++ 基础知识
1. 变量和赋值
标识符(identifier)
标识符:大小写敏感,必须以字母或下划线开头,后续每个字符只能是字母、数字或下划线
变量声明
在程序中提供声明变量:
int main(){
int number;
double weight, total;
}
或者
在程序前提供声明变量:
int number;
double weight, total;
int main(){
}
赋值语句
等号右边先求值,该值赋给等号左边的变量:
total = number * weight;
初始化(Initialization)
在声明变量时,向它赋值:
int minimumNumber = 3;
double rate = 0.07, time, balance = 0.0;
或者
另一种方式:
int minimumNumber(3);
double rate(0.07), time, balance(0.0);
输出
使用cout进行输出:
cout << numberOfBars << " candy bars\n";
或者
cout << numberOfBars;
cout << " candy bars\n";
include 预编译指令和命名空间
include预编译指令使cin和cout在一个名为iostream的文件中被定义
using预编译指令表明程序使用standard命名空间
#include <iostream>
using namespace std;
转义序列
在较长的字符串的末尾换新行:
cout << "\n";
比如:
cout << "fuel efficiency is "
<< mpg << " miles per gallon\n";
或者单用一个
cout << endl;
比如:
cout << "you entered" << number << endl;
格式化带小数点的数字
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2); //两位小数
输入
使用cin进行输入,需要按enter键才会找到下一个输入值:
cin >> number >> size;
cin >> timeToGo
>> pointsNeeded;
计算机会跳过任意数量的空格或换行符,因此不能使用空格键或换行符来分隔
2. 数据类型和表达式
char 字符类型(character)
单独一个符号,分大小写,可以是字母、数字或标点符号;
char symbol;
int main(){
cin >> symbol; //输入a
cout << symbol; //输出a
}
bool 布尔类型(boolean)
求值结果只有true或false,常用于分支语句(if-else)
string 类简介
C++缺少原生数据类型,