自学c语言课程

没有基础可以入门,通过努力可以达到初级和中级程序员的水平,但是往上就比较难了。你需要很多算法、英语、数学方面的知识。

教程可以参考以下两个教程:

谭浩强:C语言程序设计。

、黄中豪、陈:数据结构c

如果你会说英语,那么在你进入小学之前,你都不需要它。但是进入中级以后,就需要看一些英文资料了。但是现在翻译比较厉害,大部分资料都是翻译的。但如果想进入高级,就必须学习英语,因为最新最核心的资料都是英文的,翻译经常会有错误。

另外,数学前期影响不大,但是进入中级以后就有必要了。因为估计算法的时间复杂度、空间复杂度、图、树等等都涉及到很多数学知识。当然,如果只是做简单的应用或者驱动,这方面的要求不会太高。

最后,给出一个大致的学习路线图:

入门级的学习,只要你能掌握:三种代码结构(循环、分支、序列)、流程图、C语言关键字和语法、输入输出、文件操作、套接字操作。哪怕是初级满级。

初级程序员:数据结构与算法(排序与搜索),了解软件开发模型(瀑布模型、敏捷模型、原型模型等。)、了解UML、通用系统API、网络通信、编译和SDK环境构建。

中级程序员:设计模式,多线程编程,网络通信(服务器,客户端),面向对象编程,掌握UML,系统网络/文件/互斥/线程/事件/安全API,STL,相关法律法规,了解一些常用的软件架构(MVC等。).