很
多人学习c语言,上来就去背语法,甚至连各种高深的算法都是死背出来的,大学里流行考计算机二级C语言证书,手抄资料的有之,背全书者有之,终于可怜又可悲的拿到了所谓的证书,真正用c语言编写程序处理问题时,满脑子空了。可能这样学过之后,把许多c语言语法记住了,但是却学不会如何编写程序处理问题。所以,掌握学习方法很重要。如果你觉得很难,那是因为你缺少一个好的方法。
学习c语言也离不开记忆语法,但是死记的话,肯定不行。c语言,无
非也就是一种工具,用它来表达我们的思路,让计算机帮我们思考,写程序的过程就变成了告诉计算机该怎么做的过程。很多人遇到问题,自己都没有思路,更别提用c语言写程序了。很遇到问题的时候不要满脑子去想怎么用c语言处理这个问题,记住:程序
= 数据结构 + 算法,把思路转变到对数据的组织和对算法的思考上 来。
数据结构归根结底就是一些数据的组织形式,而数据在c语言里都有各自的类型,各种复杂的数据结构也都是从最基本数据类型组织起来的,所以学习
c语言,首先要记住c语言里可用的数据类型都有哪些,掌握每种数据类型的定义和使用规则。任何一种计算机编程语言,最根本都是对数据的操作。每种语言都有不完全相同的数据组成形式,很多时候,对于同样一个问题,你可以构建不同的数据结构对它进行处理。初学者,不必太深究要把数据做成什么类型可以写出漂亮的程序。你只需要记住:你需要什么样的数据。
学习c语言,其次要学习算法。算法的好坏直接影响了程序的好坏。有人建议学程序的时候多看别人的例子程
序,研究别人是如何处理问题的。不错,这是必不可少的,但是不要总是去看,也要自己多思考。这里的思考不是让你思考如何处理这个问题,你要思考的是如何教
会计算机帮你解决这个问题。我们写出来的程序毕竟是让计算机来运行的。你必须按照计算机的特点来思考才可以。
C很简单的(是的,单从语法和抽象的角度讲,C是最简洁的语言)入门的话推荐谭浩强的《C程序设计》
然后在对linux系统shell环境和gcc(编译器)、vim(编辑器)有了解之后深入C语言:
《C和指针》《C专家编程》《K&R C》
数据结构一定要学习的哦!
数据的存储方式分为顺序存储(在内存中连续分布)和链式存储(数据被使用指针的节点链接起来)。
所以链表是数据结构的基础,一定要学习哦!
链表、栈(LIFO Last In First Out)、队列(FIFO First In First Out)是最基础的数据结构。
然后是二叉树。堆算法(优先级队列)。散列。图算法。各种排序查找方法。
最基础的数据结构也就是链表栈和队列一定要掌握到纯熟,剩下的要动手编过并且思考。
在Linux下面C学习得差不多了就可以往C++进阶了!
个人认为...在学习C++之前,最好还是先学会别的语言尤其是C比较好哦!
但是C++和C不是一个级别的语言哦!因为C++和C本来就是两种不同的语言。所以学习C++的时候,抛弃一些C的观念(函数结构编程)而转向C++的编程观念(对象导向编程、泛型编程、使用STL)就特别重要!但是C会教给你一些基本的例如指针之类的概念!这在Java之类的语言里可是不会有的(Java不使用指针或者说限制指针使用)。
努力的话学习C+基本数据结构3个月到半年就可以了!但是学习C++是一个漫长的过程!
我觉得先学习C语言的基础知识:初步了解一下c语言,熟悉一下Visual C++的操作系统,然后学习标识符、数制转换、整数与实数、算术表达式与赋值表达式、自加自减运算符、逗号运算符、字符、位运算;这些是一些基础,按这个下顺序来肯定没有问题!加油啊!!!