【C++】C++自学旅程(1):新认识的朋友,C的升级版
下学期学校会开课,但机智的我决定还是先自己学习。从图书馆借了两本C++的书,一本是Bjarne Stroustrup的《C++程序设计语言》,一本是清华大学出版社的田秀霞主编的《C++高级程序设计》。本想自学参考前者,大一没什么基础,简直看不懂,无奈放弃,选择了薄了很多的、很有可能是我们的教材的后者。嗯~就这样吧。正式开始学了。
我是有C语言基础的,上学期学完了同系列书的《C程序设计快速进阶大学教程》,也算是粗略的了解了C语言。而C++是对C语言的发展和补充,是“带类的C”。C++改进了C的不足之处,支持面向对象的程序设计,在改进的同时保持了C的简洁性和高效性。
下面总结一下这一次自学我的小收获吧:
一、面向过程和面向对象
面向过程程序设计是以过程为中心的编程思想,就是从上往下步步求精,它有不少缺点:开发效率低下;程序的可重用性差;程序的维护成本高;无法适应信息的快速膨胀和多样化。C语言就是面向过程。
而面向对象程序设计把数据和处理这些数据的方法封装在一个对象中整体处理。C++作为一种面向对象的程序设计具有封装和数据隐藏,继承与派生,多态等主要特性。
二、计算机表示和存储数据采用的数据单位
①位(bit),简记b,是计算机中存数数据、表示数据的最小单位。一个bit只能表示一个开关量,如1为开关闭合,0为断开。
②字节(Byte),简记B。1B=8b。字节是重要的数据单位,计算机存储容量大小是以字节数来度量的:
1KB=210B=1024B 1MB=210KB 1GB=210MB
③字(word)。字长是计算机一次所能处理的实际位数的多少,它决定了计算机数据处理的速度,因而是衡量计算机性能的一个重要标志。
三、与C语言不同的语法
先看一个简单的示例小程序:
#include<iostream>
using namespace std; int main() { string greeting = "hello world!"; char ch; cin>>ch; cout<<"hello world"<<endl; cout<<greeting<<endl; cout<<ch; }
1、<iostream>,该文件包含输入输出流的定义。
2、using namespace std; 告诉编译程序此程序中所用到的所有名字都属于名字空间std。在大型程序的编写中,需要多个程序协同工作,那么他们很可能给不同的事物起相同的名字,而名字空间机制可有效避免这种冲突。(现在还不太理解这个问题,懂了之后再来解决)
3、有字符串变量哟,string,这是C语言没有的。 C++仍然没有字符串变量,实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。
4、新的输入输出方式——输入输出流。cout输出,cin输入。用法见程序代码。
5、多了一种bool(布尔类型),真真假假~~
6、再说一种与#define类似的东西:const,不同的是const要写常量类型,如:
const int Max = 100; const float PI = 3.14159;
其他很多东西都跟C语言一样,就不详说了。
嗯~第一次就写这么多吧。