http://www.howzhi.com/course/3687/lesson/43421
1.4 “如何学好C++”
“既然C++如此强大,那么我如何学好C++呢?”
每个C++初学者都会问这个问题。虽然这个问题没有统一的答案,但是作为一个C++世界的导游,我可以介绍一些经验和教训给大家,使得大家少走弯路,沿着正确的方向前进,轻松愉快地完成C++世界的奇妙之旅。
1.4.1 将自然语言转换为C++程序设计语言
C++是一门程序设计语言,有着语言的基本特征,我们可以像学习普通语言一样来学习C++。
语言,是用来描述和表达现实世界的,编程语言也不例外。为了描述现实世界的事物,我们需要一些名词。这些名词在C++中就是数据类型和用数据类型表达的数据。为了表达事物之间的关系,可以将各个事物连缀成句子,,句子在C++中就是表达式。将多个句子通过一定的逻辑关系组合起来,就可以形成一篇文章。同样的,在C++中通过一定的逻辑控制将多个表达式组合起来就形成了程序。通过C++编程语言和自然语言的对比,我们可以轻松地理解C++程序的含义。C++是描述现实世界的编程语言,编写程序的过程,是将自然语言翻译成C++语言的过程,如此而已。
比如,在自然语言中,我们可以这样来描述一件事情:
有:有个男孩叫小张,有个女孩叫小芳。男孩向女孩示爱。女孩对男孩进行考察,如果男孩有房又有车,则与男孩交往;如果没有,则与男孩拜拜。翻译过程可以参考图1-4。
clip_image002
图1-4 编程就是把自然语言翻译成C++语言
如果把自然语言翻译成C++语言,则是这样的:
//有个男孩叫小张
Boy XiaoZhang;
//有个女孩叫小芳
Girl XiaoFang;
//男孩向女孩示爱
XiaoZhang.ShowLoveTo(XiaoFang);
//女孩对男孩进行考察
//如果男孩有房又有车
if(XiaoZhang.HasHouseAndCar() )
{
//女孩与男孩交往
XiaoFang.SayHiTo(XiaoZhang);
}
else // 如果没有
{
//则与男孩拜拜
XiaoFang.SayByeTo(XiaoZhang);
}
通过将自然语言翻译成C++编程语言,我们就形成了一段C++程序。只要我们会说话,我们就会用C++编程。C++编程,就这么简单!
虽然C++语言是从C语言发展而来的,但是可以认为C++是一门全新的独立的编程语言,它并不依赖于C语言。学习C++不必掌握C语言,但学好了C++语言,自然就掌握了C语言。
什么是程序设计语言?
程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。是一种标准化的交流技巧。利用程序设计语言,程序员能够准确地定义计算机需要使用的数据,并精确地定义在不同情况下所应当采取的行动,让计算机完成特定任务。
程序设计语言是一套包含语法、词汇和含义的正式规范。这些规范通常分成4个部分。
Ÿ 数据成分:用以描述程序中所涉及的数据。
Ÿ 运算成分:用以描述程序中所包含的运算。
Ÿ 控制成分:用以表达程序中对运算流程的控制。
Ÿ 传输成分:用以表达程序中数据的传输。
按语言级别,程序设计语言可以分为低级语言和高级语言。低级语言包括字位码、机器语言和汇编语言。其特点是与特定的机器有关,效率高,但使用复杂、繁琐、费时、易出差错。其中,字位码是计算机可直接理解的唯一语言,但由于它是一连串的字位,复杂、繁琐、冗长,几乎无人直接使用。机器语言是表示成数码形式的机器基本指令集,是操作码经过符号化的基本指令集。汇编语言把机器语言中地址部分符号化,并进一步包括了宏构造。
高级语言是比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护。把高级语言程序翻译成低级语言程序,一个高级语言程序单位对应多条机器指令,产生的目标程序性能比低级语言程序低。C++语言就是一种高级程序设计语言。
大多数被广泛使用或经久不衰的程序设计语言,都有专门的标准化的组织,负责规范及发布该语言的正式定义,并讨论扩展或贯彻现有的定义。