专栏首页云优惠券一门编程语言如何理解?

一门编程语言如何理解?

是谁在死记硬背学编程?

没错,是我!

记得刚开始学编程那会儿,没有任何计算机基础,编程语法大多靠背——C++语法,操作系统各项定义,计算机网络各种协议......

后来我发现,不只我一个人这样学习,身边不少同学都是如此,认为学习一门编程语言最重要的就是掌握其语法。所以为了将语法烂熟于心,最直接的方法就是记忆。

我们记忆了什么是常量,什么是作用域,什么是多态......

看到这里你可能觉得我会说:编程语言不重要,编程思维才是最重要的,那么问题来了,到底什么才是编程思维呢?我并不是来宣扬这句编程届名言的,因为它不适合一个初学者,初学者可能既不知道什么是编程思维,也对编程语言比较生疏。

我想分享的是:学习编程语言的语法确实很重要,只有理解、熟悉了语法才能更好地应用一门编程语言,所以我们去背诵记忆编程语言的语法也是可以理解的,不过这可能不是最好的办法。

光凭记忆语法,是很难学会编程的,反而是用这门编程语言一段时间之后再回过头看看那些语法,说不定突然就理解了。

 

在学习python中有任何困难不懂的可以加入我的python交流学习QQ群:932749660,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。资源分享

其实编程语言的语法也是可以通过理解来学习的。

举一个我大学时刚学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 指针,看看是不是适用呢?

以上用一个小例子分享了一下如何去理解一门编程语言,其实可以通过理解学习编程的地方还有很多,比如形参、实参、传值、传引用、函数指针、友元、多态、重载等等等等,大家都可以尝试换种思路去理解,很多知识点一下子就能明白啦。

 

我们需要记住,学习编程的出发点不是应付考试。

当然,除了编程语言,很多其他的知识,如软件分层、设计模式,都是水到渠成式的设计。

大家别忘了点个赞哟!

---------------------

作者:xuexijiaqq3533076323

来源:CSDN

原文:https://blog.csdn.net/xuexijiaqq3533076323/article/details/90441427

版权声明:本文为博主原创文章,转载请附上博文链接!

原文链接:https://blog.csdn.net/xuexijiaqq3533076323/article/details/90441427

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 编程语言常识

    Python第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常...

    主机优惠
  • Hadoop集群运维

    场景1:namenode节点故障,active namenode节点状态切换?如何恢复?

    主机优惠
  • 两台服务器ssh免密对端服务器及本机f

    这里以两台服务器为样例10.50.2.10(本机)以及10.50.2.11(对向主机)

    主机优惠
  • Const的应用与备忘

    const直译“常量”。在软件的开发中,我们会经常需要定义一些不能修改的变量。但在cpp中,由于变量的结构比较复杂,对不能修改这个概念,在不同的变量类型中,co...

    Oceanlong
  • 容易混淆的const

    (1)可以定义const常量,具有不可变性。   例如:const int Max=100; Max++会产生错误; (2)便于进行类型检查,使编译器对处理...

    海盗船长
  • C++核心准则ES.50:不要执行去掉const属性的转换

    It makes a lie out of const. If the variable is actually declared const, modifyi...

    面向对象思考
  • 初级程序员面试不靠谱指南(一)

        “来到这英雄宴中的人物,就算本身武功不是甚高,见识也必广博,“太祖拳法”的精要所在,可说无人不知。乔峰一招打出,人人都是情不自禁的喝了一声采!这满堂大采...

    一心一怿
  • 我在大厂写React,学到了什么?

    我工作中的技术栈主要是 React + TypeScript,这篇文章我想总结一下如何在项目中运用 React 的一些技巧解决一些实际问题,本文中使用的代码都是...

    ssh1995
  • 函数声明后面的const用法

    void function() const{} 通常我们会看到一些函数声明后面会跟着一个const,这个const是做什么的呢? 看一下下面的例子,就知道了。直...

    用户1154259
  • C++雾中风景3:const用法的小结

    const关键字,翻译成中文是常量,常数的意思。所以在绝大多数场合之中,const是来定义常量的,定义常量也是好的编程习惯。在C类语言之中,定义常量通常会使用宏...

    HappenLee

扫码关注云+社区

领取腾讯云代金券