作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写。。。。。。

  仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的策论。

  几年并不算很长的编程经验,使我感触颇深,痛苦迷茫,以及成功后的喜悦一直交替着伴随我,爱好编程的我,在学习期间也被很多很多学习的困难疑惑所阻挡,甚至不只一次的想放弃。

  让我初次领略到作为一个程序员应该有快乐与喜悦的是VISUAL BASIC语言,这些年为了工作,也学习过很多其它的语言,包括时下正在流行的JAVA与C#等等,在这里不得不说的是,作为一个程序员,一个能够适应当前中国工作环境的程序员,你要学的还远不止这些,包括数据系统,等等,等等。

  很早就听人说过,如果你是一个程序员,如果你没有学过C语言,那么就不能算做是一个真正的程序员,这句话也许有点夸张,不过当你学习过它以后就不得不承认这句话真的有那么几分道

理,C++语言是由C语言发展而来的一种新的支持面向对象的语言,从一开始接触它,它的魅力就深深的吸引着我,起初我和很多想要学习它的人一样,觉得它很难懂,当时为了看懂,想明白一些现在看来真的很容易的例子时,真的有点让我抓狂。

  作为一种灵活性高,体系庞大,支持面向对象思想的高级语言,C++的确比其它语言更难学习,很多正在学习它的在校大学生,以及很多正在从事编程工作想自学它的程序员,对于它的入门及各必要知识点掌握苦恼不已。

  其实学习C++和学习其它知识一样,并没有很多特别的要求,需要的只是那么一点点耐心,那么一点点忍耐力,以及遇到困难挫折不轻易屈服的精神,更重要的一点是你必须有一本好的,适合你的入门书籍指引你逐渐进步,面对书店里种类繁多,出名的不出名的C++教材,不光是初学者就连我也同样觉得眼花缭乱无从选择,很多优秀的国外C++教材有着过于系统的知识面以及跳跃式阅读的方法, 这对初学者,尤其是从小就习惯从头到结尾阅读书籍的中国人来说是不合适的,国内的教材多以大学教材为主,这些书中的例子多以大学数学,或者工程数学举例,这样一来就把很多数学并不很好的读者拒之门外了。

  在行内,很多人是不愿意和你分享学习经验的,一来工作任务繁重,再着很多人觉得这样会给自己带来更多的竞争对手。这些我都亲身经历过,正是因为此类的种种感受,于是我由内心而发,真心实意的愿意帮助那些正在学习C++语言想入门的朋友们。

  从一开始学习计算机语言,几乎所有的人都会问到,我该如何入门,入门后又该如何继续持久的进步下去呢?首先我要说的是,计算机语言的入门,无论是C/C++还是JAVA、 C#,他们都和高等数学没有太多联系,计算机语言是一种逻辑的文字描述,体现逻辑的是思想,当你通过理解一些计算机语言所描述的,并不算难的逻辑问题后,你就已经掌握了语言本身,并且真正入门了。

  当然,计算机语言毕竟是和数学有密切联系的产物,在计算机世界里他们彼此依赖谁也离不开谁,当你正确理解编程思想,掌握必要知识点,入门之后,如果想做一个优秀的程序员而不是单单做一个程序的"拼装工",你就不得不对数学知识进行进一步的系统学习。 此长篇C++入门教程正是指引读者迈入C++殿堂的初级读本,目的只是帮助读者快速入门,掌握必要的知识点,为了让教程通俗易懂,容易理解,适合自学,笔者为此下了不少工夫,同时也和我的一些朋友讨论过,意见中值得注意的是, 一个作者如果没有教学,就只知道摸索一种适合自己的学习方法,对于语言学习的难点重点,关键是如何将复杂的问题用朴素的"俗"文化来写,针对这些问题笔者笔者是认真反思过的,所以全书完全站在初学读者的思考的角度来写,教程中完全不包括任何难以理解的高等数学、工程数学问题,及C++标准库知识,着重对各入门的难点重点详细讲解分析,相信认真学习并读过它的人绝对不会觉得是浪费时间。

  对于C++学习,创建一条由入门到深入最后到精通的可持续学习并不段发展的道路概括起来可以是以下顺序。

  1.学习一些基本的C语言知识,例如:什么是变量,什么是函数
  2.C++语言入门,基本知识点的掌握。
  3.高等数学及工程数学的系统学习,结合实际了解并使用C++的各类常用的标准库。此外平时可以找一些广受好评的具备一定深度的C++教材看一下,进一步理解C++的高级编程精髓,以及看一些计算机原理和数据结构方面的书籍。
  4.学习包括在各类操作系统下编程的必要知识,以Windows操作系统为例,需要学习掌握WIN
API,以及高效开发的MFC,VCL等在内的其它知识。

  千里之行始于足下,路虽然很长,困难也会很多,不过你一旦入门,一定会觉得面前豁然开朗,会不段的激励着你学习下去的。读者们如果在学习过程中有不懂的问题可以来我的站点提问,我会尽力解答的。站点地址:http://www.cndev-lab.com

  写到这里笔者也呼吁更多的程序高手们,敲起你的键盘,把你的优秀的经验和思想奉献出来,帮助更多需要的人,毕竟思想是需要的是沟通的,知识是需要的是共享,快乐需要的是传递的。

  最后在这里要感谢的是我的家人,我的父亲:管苗青、母亲:汪秋霞。多年来父亲母亲给我的帮助很大,一直耐心鼓励着我学习,母亲对我学习上的帮助已及她优秀的自学经验思想是我一生中最重要的财富。

作者:管宁

二零零五年三月十七日凌晨三点半

毕竟是05年的东东了,很多东东都已经失效了。不过写文章的思路还是值得学习的。C++的知识当然没有失效了,哈哈哈。

《挑战30天C++入门极限》引言的更多相关文章

  1. 《挑战30天C++入门极限》入门教程:实例详解C++友元

        入门教程:实例详解C++友元 在说明什么是友元之前,我们先说明一下为什么需要友元与友元的缺点: 通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为pu ...

  2. 《挑战30天C++入门极限》C++面向对象编程入门:构造函数与析构函数

        C++面向对象编程入门:构造函数与析构函数 请注意,这一节内容是c++的重点,要特别注意! 我们先说一下什么是构造函数. 上一个教程我们简单说了关于类的一些基本内容,对于类对象成员的初始化我们 ...

  3. 《挑战30天C++入门极限》C++类静态数据成员与类静态成员函数

        C++类静态数据成员与类静态成员函数 在没有讲述本章内容之前如果我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? ...

  4. 《挑战30天C++入门极限》C++类对象的复制-拷贝构造函数

        C++类对象的复制-拷贝构造函数 在学习这一章内容前我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,例如: int a = 10; int ...

  5. 《挑战30天C++入门极限》C++面向对象编程入门:类(class)

        C++面向对象编程入门:类(class) 上两篇内容我们着重说了结构体相关知识的操作. 以后的内容我们将逐步完全以c++作为主体了,这也意味着我们的教程正式进入面向对象的编程了. 前面的教程我 ...

  6. 《挑战30天C++入门极限》新手入门:C/C++中的结构体

        新手入门:C/C++中的结构体 什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构 ...

  7. 《挑战30天C++入门极限》新手入门:C++中堆内存(heap)的概念和操作方法

        新手入门:C++中堆内存(heap)的概念和操作方法 堆内存是什么呢? 我们知道在c/c++中定义的数组大小必需要事先定义好,他们通常是分配在静态内存空间或者是在栈内存空间内的,但是在实际工作 ...

  8. 《挑战30天C++入门极限》新手入门:C++中的函数重载

        新手入门:C++中的函数重载 函数重载是用来iostream>  using namespace std;  int test(int a,int b);  float test(flo ...

  9. 《挑战30天C++入门极限》新手入门:关于C++中的内联函数(inline)

        新手入门:关于C++中的内联函数(inline) 在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数. 可能说到这里,很 ...

随机推荐

  1. TeX 家族(TeX, pdfTeX, XeTeX, LuaTeX, LaTeX, pdfLaTeX, XeLaTeX …)

    TeX 家族 带有 TeX 的词,仅仅是本文就已经提到了 TeX, LaTeX, XeLaTeX.通常中国学生面对不了解意思的一群形近单词,都会有一种「本能的恐惧」(笑~).因此,「大神们」在为新手介 ...

  2. Docker安装带中文全文搜索插件zhparser的Postgresql数据库

    上一篇讲了在已经安装了PG数据库的情况下,安装全文搜索插件zhparser遇到的问题.在一个全新的环境中安装带有全文搜索插件zhparser的PG数据库,可以使用已经做好的Docker镜像,在安装的过 ...

  3. git便携版 添加git-bash到右键菜单

    注册表路径 HKEY_CLASSES_ROOT\Directory\Background\shell 新建项取名open in git 默认设置为右键显示的名称 Git Bash Here 新建字符串 ...

  4. java通过poi读取excel中的日期类型数据或自定义类型日期

    Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...

  5. Android Jetpack组件之Lifecycles库详解

    Android Jetpack 组件是库的集合,这些库是为了协同工作而构建的,不过也可以单独采用,接下来会一一详细地学习这些库, 下面源码版本是com.android.support:appcompa ...

  6. oracle命令行导出、导入dmp文件

    1.导出语句: exp test/test@127.0.0.1:1521/orcl file=d:\gpmgt.dmp full=n: 导出test用户数据库对象,full=n表示默认只导出test用 ...

  7. altium designer的pcb板如何移动到原点?

    可以把所有的都选中,然后将光标移到起点处,将所有的移到原点的地方,但这种做法很多时候都不好:比较好的办法就是将原点设置到起点上来. 具体做法是:edit--origin --set. 这时光标成了十字 ...

  8. 使用Cloudera Manager搭建Kudu环境

    使用Cloudera Manager搭建Kudu环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.点击添加服务进入CM服务安装向导 2>.选择需要安装的kudu ...

  9. (Linux基础学习)第一章:科普和Linux系统安装

    第一章:科普和Linux系统安装 第1节:操作系统介绍OS:Operating System,通用目的的软件程序硬件驱动进程管理内存管理网络管理安全管理文件管理OS分类:服务器OS:RHEL,Cent ...

  10. Apache的虚拟主机

    一.虚拟主机的分类 基于IP的虚拟主机:一台服务器,多个ip,搭建多个网站 基于端口的虚拟主机:一台服务器,一个ip,利用不同端口,搭建多个网站 基于域名的虚拟主机:一台服务器,一个ip,多个域名,搭 ...