《C++程序设计》教学讲义0-4章
注:本讲义适用于已经完成C语言学习的学员
第0章 C++概述
§0.1 历史
时间:20世纪80年代初期
地点:美国AT&T贝尔实验室
人物:本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士
事件:发明并实现了C++
其他:最初这种语言被称作“C with Classes”
§0.2 发展
阶段 时代 标志
1 80年代~1995 传统 C 工业开发
2 1995~2000 标准模板库(STL) Boost等程序库 泛型程序设计
3 2000~今 Loki、MPL等程序库 产生式编程和模板元编程
思考题:
1、从C++发展的脉络中你能得出什么结论
2、查询C++发展中陌生词汇的含义
第1章 初识C++
§1.1 一个简单的C++程序
#include <iostream>
using namespace std;
int main(void)
{
cout<<"Hello C++!"<<endl;
return 0;
}
几个名词:
1、编译预处理指令:include <iostream>
2、命名空间:using namespace std;
3、主函数:int main(void){}
4、返回值:return
5、标准输出流对象:cout
6、endl 函数名(函数首地址) 作用有 2:a.换行 b.刷新缓存区
需要注意的是b,因为c++中的输入输出流是先将要输出的字串写入缓存区,然后通过刷新缓存区,达到显示字串的作用。据说不同的编译器对于何时自动刷新缓存区有不同的规定。由上可见endl的作用。不过这个地方我其实是不太明白为什么会出现cout之后不显示字串的问题。
补充:
c++ primer中的解释是 记得刷新缓存区会避免程序发生错误时,对产生错误的地方误判断。
§1.2 main函数的写法
根据ISO C++的规定,
main函数的形式只能是
int main(void)
{
...
}
以及
int main(int argc,char * argv[])
{
...
}
尽管如此,但在Visual C++ 2003以前的Microsoft Studio编译器上,
void main()
{
...
}
也被支持,但这并不正确,也不标准。这样的写法会使程序代码丧失跨平台的特性。
§1.3 编程语言的作用
1、描述
2、推演
§1.4 关键词汇
声明
定义
初始化
使用
释放
第2章 C++编程基础
§2.1 基本数据类型
§2.1.1 数据类型的作用
1、抽象
2、起到确定数据大小的作用
§2.1.2 基本数据类型
1 整形 int
2 字符型 char
3 单精度浮点型 float
4 双精度浮点型 double
5 布尔类型 bool
6 空类型 void
§2.1.3 测量基本数据类型占内存大小
sizeof()
练习题:测量基本数据类型占内存大小
#include <iostream>
using namespace std;
int main(void)
{
cout<<"int:"<<sizeof(int)<<endl;
cout<<"char:"<<sizeof(char)<<endl;
cout<<"float:"<<sizeof(float)<<endl;
cout<<"double:"<<sizeof(double)<<endl;
cout<<"bool:"<<sizeof(bool)<<endl;
cout<<"void:"<<sizeof(NULL)<<endl;
return 0;
}
结果:
int:4
char:1
float:4
double:8
bool:1
void:4
单位:字节
§2.2 装东西的盒子——变量
§2.2.1 变量定义
数据类型 变量名;
例:
int a;
char b;
float c;
double d;
§2.2.2 变量输出输入
例题:
#include <iostream>
using namespace std;
int main(void)
{
int i;
cin>>i;
cout<<"--->"<<i<<endl;
char a;
cin>>a;
cout<<"--->"<<a<<endl;
float f;
cin>>f;
cout<<"--->"<<f<<endl;
return 0;
}
结果:
1
--->1
a
--->a
1.98
--->1.98
§2.3 运算符与表达式<