C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机 *** 作系统中都能够得到适用,且效率显著。
C语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。由于C语言简单易学,已经成为学习编程的入门语言之一。在大学一年级,已经安排C语言相关的学习课程。由此可见,C语言的学习并不需要前置课程,可以轻松入门。附件是一本适合初学者入门学习的C语言书籍。其中包括:基本数据类型,运算符与表达式,控制流,函数,指针,数据结构,输入输出等基本基本知识的介绍。能够熟练运用上述的C语言规则,就可以完成C语言入门学习的内容。
一般要掌握基本的微机原理的知识、英文阅读的能力。学习语言注意要多动手,多思考调试,还要能坚持不懈,最重要的还有兴趣。
只要同学们掌握一些方法,多读,多写,克服心理上畏难情绪,C语言是完全可以学好的并且灵活应用的。
至于看什么书,推荐几本:
1.C语言入门经典
《C语言入门经典》例子简单生活化,而且每个例子分析很细。章节安排合理,章末的例子还特别注重思路的引导,而且分析起来特别有成就感。
这本书是自学过程的一本好书。
2.C primer plus
这本书很适合希望系统学习C语言的读者,正如他的名字,是一本不错的入门和进阶的书。书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。总之,在看这本书的过程中,有一种一气呵成的感觉。
3.C和指针
这本书和《专家编程》《C缺陷和陷阱》可以并称C语言(进阶书)三杰。本书的部分内容更适合有C基础的人看。如ADT、递归、指针和数组的部分,书中所述的思想是国内教材所缺乏的。看完本书,能得到一个正确的C语言观。
4.C程序设计语言
难以置信的是,这样一本C语言的入门书籍,从hello world开始讲起,却在短小的篇幅里,手把手教你写了stdio.h stdlib.h
string.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。这本书传递着一种简单、优雅、平实和闲适。
5.C专家编程
《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。
没有基础可以入门,通过努力可以达到初、中级程序员的程度,但再往上走,就比较困难了。后面需要不少算法、英文和数学知识。教程的话可以参考下面两本教程:
谭浩强:《C语言程序设计》
李铭城 黄中豪 陈宇芬:《资料结构 C》
英文的话,进入初级之前都不怎么需要。但是进入中级后,需要读一些英文资料。不过现在翻译比较厉害,绝大部分的资料都有翻译。但是要进入高级,就必须要学习英文了,因为最新最核心的资料都是英文的,翻译的往往都会有错误。
另外数学在早期影响不大,但是进入中级后就必须要了。因为估算算法时间复杂度、空间复杂度、图、树等等,都涉及不少数学知识。当然如果只是做简单应用或者驱动的话,这方面要求就不会太高。
最后给一个学习大概的路线图:
入门级的学习,只要能够掌握:代码三大结构(循环、分支、顺序)、流程图、C语言关键字和语法、输入输出、文件 *** 作、套接字 *** 作。就算是初级满级了。
初级程序员:数据结构和算法(排序,查找)、了解软件开发模型(瀑布模型、敏捷模型、原型模型等等)、了解UML、系统常用API、网络通信、编译和SDK环境搭建
中级程序员:设计模式、多线程编程、网络通信(服务器、客户端)、面向对象编程、掌握UML、系统网络/文件/互斥/线程/事件/安全API、STL、相关法律法规、知道一些常用软件架构(MVC等)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)