请选择 进入手机版 | 继续访问电脑版
工作室 好人游戏乱跑,解决方案 投稿
鼠标 宏命令 手游 工作室文化
快打器 微信 常见问题 常用平板与手机
魔兽视频
查看: 1229|回复: 0

[C语言] 学C++之前要先学C语言吗?

[复制链接]
  • TA的每日心情
    开心
    2019-9-24 12:14
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    405

    主题

    1454

    帖子

    6601

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    UID
    19
    帖子
    1454
    精华
    2
    威望
    551
    贡献
    135
    虾币
    3902
    阅读权限
    100
    注册时间
    2013-9-14

    热心会员永不封号灌水之王勤奋版主游戏达人美女勋章

    发表于 2019-9-30 10:01:46 | 显示全部楼层 |阅读模式

    C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像手机 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。

    学C++之前要先学C语言吗?程序员反问:你有胆子直接学C++?

    从语法上看,C语言是C++的一部分,C语言代码几乎不用修改就能够以C++的方式编译,这给很多初学者带来了不小的困惑,学习C++之前到底要不要先学习C语言呢?


    我对这个问题保持中立,但是初学者直接学习C++会非常吃力,Hold 不住,尤其是对计算机内存不太理解的情况下,C++ 是学不懂的。C++ 是一门灵活多变、特性丰富的语言,同时也意味着比较复杂,不易掌握。


    不过可以明确地说:学了C语言就相当于学了C++的一半,从C语言转向C++时,不需要再从头开始,接着C语言往下学就可以,所以我强烈建议先学C语言再学 C++。

    学C++之前要先学C语言吗?程序员反问:你有胆子直接学C++?

    C++和C语言的血缘关系

    现在看来,C++和C语言虽然是两门独立的语言,但是它们却有着扯也扯不清的关系。


    早期并没有“C++”这个名字,而是叫做“带类的C”。“带类的C”是作为C语言的一个扩展和补充出现的,它增加了很多新的语法,目的是提高开发效率,如果你有Java Web开发经验,那么你可以将它们的关系与 Servlet 和 JSP 的关系类比。


    这个时期的C++非常粗糙,仅支持简单的面向对象编程,也没有自己的编译器,而是通过一个预处理程序(名字叫 cfront),先将C++代码”翻译“为C语言代码,再通过C语言编译器合成最终的程序。


    随着C++的流行,它的语法也越来越强大,已经能够很完善的支持面向过程编程、面向对象编程(OOP)和泛型编程,几乎成了一门独立的语言,拥有了自己的编译方式。


    我们很难说C++拥有独立的编译器,例如 Windows 下的微软编译器(cl.exe)、Linux 下的 GCC 编译器、Mac 下的 Clang 编译器(已经是 Xcode 默认编译器,雄心勃勃,立志超越 GCC),它们都同时支持C语言和C++,统称为 C/C++ 编译器。对于C语言代码,它们按照C语言的方式来编译;对于C++代码,就按照C++的方式编译。


    从表面上看,C、C++ 代码使用同一个编译器来编译,所以上面我们说“后期的 C++ 拥有了自己的编译方式”,而没有说“C++ 拥有了独立的编译器”。


    再说C++教程


    如果针对没有任何编程经验的读者写一本C++的书,那将是一项不小的任务,写出来的书也会非常厚。即使这样,也仅仅是在讲语法。


    更重要的是,这些知识你很难全部吸收,会严重打击你的信心,失去学习的兴趣。


    学C++之前要先学C语言吗?程序员反问:你有胆子直接学C++?

    我的建议

    没有任何编程基础的读者,我建议先从C语言学起,不要贪多嚼不烂。有编程基础的读者,相信你自己能做出正确的判断。


    学习编程是一个循序渐进的过程,不要期望一口吃个胖子。学习C语言,一来是学习它的语法,为C++打基础,同时培养编程兴趣,二来是学习内存、编译和链接,弄清编程语言的内在机理。


    每个初学者都经历过这样的窘境:已经学习了语法,明白了编程语言都有什么,也按照教程敲了不少代码,但是遇到实际问题就挂了,没有思路,不知道从何下手。说白了就是只会学不会用。


    究其原因,就是实践少,没有培养起编程思维!学习知识容易,运用知识难!


    学C++之前要先学C语言吗?程序员反问:你有胆子直接学C++?

    等你熟悉了C语言,能编写出上百行的代码,就对编程有些概念了。这个时候再去了解C++究竟在C语言基础上增加了什么,你就站在了一定的高度。


    从“学院派”的角度来说,C++支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言,C++和C几乎是一样的,所以学习了C语言,也就学习了C++的一半,不需要从头再来。


    另外想要成为一个优秀的、有能力程序员,做软件开发的话,就来学习C/C++吧!如果感觉自学C/C++比较困难的话,可以关注加私信笔者【编程交流】可以领取相关资料!不管你是转行还是找工作,大家都一起成长进步。另外笔者再分享两张C语言C++的学习路线,希望对你有帮助!



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    该会员没有填写今日想说内容.
    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则