咨询电话

一位学生的自述:C语言入门 置顶

发表于2017-01-16 17:47:54 次查看


客观问题:

第一,教材问题。国内使用的c语言教材,一般是谭浩强版本,说得很晦涩,都不知道他想干嘛!你看看书本中变量名称大多是毫无意义的a,b,c。既然是教材,必须严谨。

第二,老师问题。学校里的老师真的是纸上谈兵,没有太多的实践项目。明明一个很简单的东西讲得很抽象,很玄乎,好像多说几个专业术语显得更加厉害的样子,其实,大错特错,厉害的人会把貌似复杂的东西讲得很简单,因为他深知其中的来龙去脉,不像半瓶水的人,泛泛而谈。 有人可能质问,为什么不从自身的角度考虑问题?比如幼儿园的小朋友,更多的引导孩子,而不是质问孩子。 刚接触计算机编程,你的思维都还没有习惯或适应计算机的方式,所以很难去一下子上手。

所以给出以下几点建议:

第一,入门书籍很关键,以国外教材为主。以后少看国人写的教材,尤其是教授,专家写的,自己的论文都写的一坨狗屎,怎么可能安心下来写书?更多的是书根本不是自己写的,可能是自己的苦力学生。

第二,英语不好和编程能力没关系,但是新的技术都是英文文档,会影响你吸收新知识的速度。你看不懂英文书籍,根本原因是你没能理解作者的思想,而不是几个生词。遇到生词了,真的没关系,教你个好方法,打开必应,查询一下,然后在书边边上写上单词的音标及中文意思。当然,这些词汇以后你还会碰到,不用担心你会忘记。

第三,学习的过程中带着思索。比如基础知识里面会有‘’,()等符号,为什么会有那么多符号?这些符号就是一种约定,不同的符号在不同场景下使用,有了约定计算机就能识别你在写什么。计算机很笨又很老实,它有自己的特点,最大的特点就是朴实,你怎么写的,它就怎么给你显示,关键是你想怎么写。

学习应以记忆为基础。

注意不是勉强记住,应该是熟练掌握。

首先,应当熟练记忆C语言的语法。指针是C语言中不能避免的东西。与指针相关密切的概念是类型。C语言的语法特性极少,《C程序设计语言》这本书,不涉及UNIX系统的前几章不超过150页,每一句话都是重点。如果实在记不住,可常备一本在旁边。这一阶段方法以记忆为主,以编写代码验证为辅。

然后,记忆前人的成果。应该去自己实现已经有标准实现或者开源实现的功能模块,最简单的如常见的数据结构(表,树,图,散列),算法(数据结构相关算法,排序,贪心、动态规划求最优值)。之后将别人的实现与自己的实现分析比较,指出优劣,分析原因,进行改进。如上所说,实现以理解为主,原理以记忆为主。

再之后你已经对程序设计入门了,可以自行选择发展方向了,题主喜欢单片机,应当去学习数字电路,信号系统,嵌入式编程,操作系统之类的东西了吧。

最后,学习以记忆为基础,具体方法应以能加深记忆为目的。

方法也其实只有一个,熟能生巧。

1. C语言是最无关逻辑的编程的语言,除了细节控制繁琐一点之外。

2. C语言的难点不在C语言本身,而是在于C语言是控制能力极强的本地语言。需要更多的系统硬件知识才能准确的使用这个语言。而高级语言的诞生主要就是为了消除编程语言与系统之间的关联。

在学习C语言之前,你至少需要系统的学习《现代计算机系统》这门课程。

在正式编程之前,至少需要学习基本的计算机编程理论(包括但不仅限于离散数学(数据结构的数学基础),逻辑学)。

完成上面的课程,用2-3年左右的时间是不多的。

我自己花了整整一年的时间学习数据结构,而且还没有全部完成。

在有了充备的预备知识之后,你会发现一切难题都没有了,就是那么的水到渠成。

学习是最辛苦的。世上无难事只要肯攀登。

考虑结题的思路、步骤,即算法。就像做数学题一样:依照一定的原理,一步一步地去写出解答过程,最后得到结果。编程虽来自于数学但与数学又有一定的差异,这个差异不是太大,即不能照搬数学、需要一定的转换。

从简单的例题入手,深刻理解例题的含义、目的。

先照抄,再理解、要动手、一步一步地手工执行程序的每条语句,特别是循环。即拿出笔和纸进行手工演算,得出结题的过程、最后得到结果。切忌动眼不动手,动脑则是必然的。
        当然很多人自控力不强,需要有人监督,也需要好的思路,这样就可以选择报个班。想学习嵌入式就来湖南硅谷吧!


上一篇:嵌入式发展前景
下一篇:最后一页
在线客服
  • 点击这里给我发消息
  • 点击这里给我发消息
  • 微信扫一扫
  • 官方微信