45fan.com - qg777钱柜

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:如何理解一门编程语言?

如何理解一门编程语言?

2019-04-18 07:15:06 来源:www.45fan.com 【
是谁在死记硬背学编程? 没错,是我! 如何理解一门编程语言? 记得刚开始学编程那会儿,没有任何计算机基础,编程语法大多靠背——C++语法,操作系统各项定义,计算机网络各种协议...... 后来我发现,不只我一个人这样学习,身边不少同学都是如此,认为学习一门编程语言最重要的就是掌握其语法。所以为了将语法烂熟于心,最直接的方法就是记忆。 我们记忆了什么是常量,什么是作用域,什么是多态...... 看到这里你可能觉得我会说:编程语言不重要,编程思维才是最重要的,那么问题来了,到底什么才是编程思维呢?我并不是来宣扬这句编程届名言的,因为它不适合一个初学者,初学者可能既不知道什么是编程思维,也对编程语言比较生疏。 我想分享的是:学习编程语言的语法确实很重要,只有理解、熟悉了语法才能更好地应用一门编程语言,所以我们去背诵记忆编程语言的语法也是可以理解的,不过这可能不是最好的办法。 光凭记忆语法,是很难学会编程的,反而是用这门编程语言一段时间之后再回过头看看那些语法,说不定突然就理解了。   其实编程语言的语法也是可以通过理解来学习的。 举一个我大学时刚学C++时遇到的一个语法问题:我们称它为const问题。 可能有同学没有学过C++,我简单解释一下,const是一个C++的关键字,最常用来定义常量。譬如: const int MAX_VAL = 23; const string SCHOOL_NAME = “Peking University” ; 那么我们把MAX_VAL称为整型常量,把SCHOOL_NAME称为字符串常量,这些常量在其生命周期内其值都不能被修改。   上面两个语句是很好理解的,再看看下面的呢? const int * p=&n; int * const p; const int *const p; 上面三个语句看起来就不是那么好理解了吧?我刚学习const语句的时候也被这些复杂的语句给难到了,只能死记硬背,按顺序,这三个语句分别是: const int * p=&n; //指向整型常量的指针,它指向的值不能修改 int * const p; //指向整型的常量指针 ,它不能再指向别的变量,但指向(变量)的值可以修改 const int *const p; //指向整型常量的常量指针,它既不能再指向别的常量,指向的值也不能修改 很明显,p是一个指针,并且指向常量,这两点大家都能轻而易举地看明白。难点就是const到底控制着谁,谁不能被修改? 之前遇到这种问题我也是死记硬背的,不过后来就慢慢地理解它了,因为C++作为一门流行了那么久,那么多人用的编程语言,这其中一定有它的设计哲学。   问题来了,如何去理解呢? 很简单,const修饰谁,谁的值就不能变,这其实和英语中不同词性单词的位置排列一样。对于一个名词,我们找离它最近的const。 如下面飘红的词: const int * p = &a; int * const p = &a; 第一个const修饰的是 int ,int指代的是整型变量,也就意味着,指针p指向的值是不能修改的,也就是a的值不能变,但是p还可以指向别的变量,比如说指向b。 第二个const修饰的是p,p指代的是指针,也就意味着这个指针不能被修改,因为指针变量存的是地址,也就是说p存了一个地址后就不能存其他地址了,换句话说就是它不能指向别的变量了,但是p指向的变量的值可以改变。比如p指向a,a原来等于1,现在我们可以把a的值改为2,但是p在生命周期内只能指向a,不能指向b或者其他值。 那么const int *const p 就很好理解了,它指向的值不能修改,也不能再指向别的变量。 感兴趣的同学还可以用这个套路去理解一下 const this 指针,看看是不是适用呢? 以上用一个小例子分享了一下如何去理解一门编程语言,其实可以通过理解学习编程的地方还有很多,比如形参、实参、传值、传引用、函数指针、友元、多态、重载等等等等,大家都可以尝试换种思路去理解,很多知识点一下子就能明白啦。   我们需要记住,学习编程的出发点不是应付考试。 当然,除了编程语言,很多其他的知识,如软件分层、设计模式,都是水到渠成式的设计。 大家别忘了点个赞哟!
 
 

本文地址:http://www.45fan.com/dnjc/100399.html
Tags: 编程语言 理解 一门
编辑:qg777钱柜
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部