C++ 笔记 | 第 1 课 C++ 的几个基本问题
文章目录
C++ 历史
1979 年, 丹麦人 Bjarne Stroustrup 进入美国 AT&T 公司 Bell 实验室, 开始在 C 语言的基础上研制 C++, 1983 年研制出了 C++ 的雏形.
最初 1980 年被称为: 带类的 C(C with Class),1983 年正式命名为 C++. 从 1989 年开始 C++ 的标准化工作,1994 年推出了 ANSI C++ 标准
2011 年 9 月 ISO 批准的最新 C++ 标准是: C++11 (ISO/IEC 14882:2011)
C++ 简介
C++ 被称为面向对象的程序设计语言 OOPL (Object-Oriented Programming Language)
C 是 C++ 的子集,C++ 保持了 C 的原始思想.
C++ 在 C 的关键字的基础上增加了:catch
,class
, const
, delete
, friend
, inline
, new
, operator
, private
, protected
, public
, template
, this
, throw
, try
, typeid
, virtual
, volatile
等关键字.
C++ 在 C 语言中增加的最重要的机制有三个:
类 (class)
函数重载 (function overloading)
操作符重载 (operator overloading)
基本数据类型
新类型:bool
(布尔量) 取值只有两个:true
/false
给 bool
赋值别的数, 都将强制转换成 true
(不为 0 时) 或 false
(为 0 时)
bool
型占 1 个字节, 等同于 char
输入 / 输出
#include <iostream>
using namespace std;
原来 C 语言的 stdio.h
, string.h
, math.h
等文件引用仍可使用, 但需要去掉文件名后缀.h
, 前面加上 c
:
#include <cstring>
#include <cmath>
对于一般的输入输出操作上面两种写法没有本质区别, 但文件操作将会有较大差别.
常用的 I/O 流类库操纵符 (函数):
setw(int)
设置随后 (一个) 输出内容的场宽, 不够自动突破
setprecision(int)
设置随后输出的 (一个) 浮点数的位数 (不包括小数点)——注意:是总位数
hex
随后所有的整型数值采用十六进制输出
oct
随后所有的整数值采用八进制输出
dec
随后所有的整数值采用十进制输出
endl
回车符
要想使用 setw
和 setprecision
, 还必须引用 iomanip.h
程序开始处加:#include <iomanip.h>
或 #include <iomanip>
#include <iostream>
#include <iomanip>
using namespace std;
void main(void)
{
int i=33, j=35, k=12345; float f=3.14159f;
cout << setw(10) << i << setw(8)<< j <<endl;
cout << setw(3) << k <<endl; // 场宽不足, 自动突破
cout << hex << i <<setw(3) << j <<endl; // 用十六进制输出整数
cout << i <<setw