电子说
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
1、程序结构简洁、紧凑、规整,表达式简练、使用灵活。
2、编写的程序可读性强,编译效率高。
3、具有丰富的运算符,多达34种。丰富的数据类型与丰富的运算符相结合,使C语言具有表达灵活和效率高等特点。
4、数据类型种类繁多。C语言具有5种基本的数据类型和多种构造数据类型以及复合的导出类型,同时还提供了与地址密切相关的指针机器运算符。指针可以指向各种类型的简单变量、数组、结构和联合,乃至函数等。此外,C语言还允许用户自己定义数据类型。
5、是一种结构化程序设计语言,特别适合大型程序的模块化设计。C语言具有编写结构化程序所必需的基本流程控制语句,C语言程序是由函数集合构成的,函数各自独立,并且作为模块化设计的基本单位。
C语言的源文件,可以分割成多个源程序,分别进行编译,然后连接起来构成可知性的目标文件,为开发大型软件提供了极大的方便。C语言还提供了多种存储属性,使数据可以按其需要在相应的作用域起作用,从而提高了程序的可靠性。
6、语法限制不太严格,程序设计自由度大。例如,对数组下标越界不作检查,由程序编写者自己保证程序的正确。一般的高级语言语法检查比较严,能检测出几乎所有的语法错误,而C语言允许程序编写者有较大的自由度,因此放宽了语法的检查。程序员应当仔细检查程序,保证其正确,而不要过分依赖C语言编译程序去查错。
7、允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C语言既具有高级语言的功能,又兼容低级语言的许多功能,可用来编写系统软件。
8、生成的目标代码质量高,程序执行效率高。它一般只比汇编程序生成的目标代码率低10%~20%。
9、具有较高的可移植性。它的语句基本上无须修改就能用于各种型号的计算机和各种操作系统。
10、任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。
一、入门书籍推荐
1、CProgramming:AModernApproach(C语言程序设计:现代方法)
简介:《C语言程序设计:现代方法》是C语言的经典之作,被誉为“近10年来
最好的一部C语言著作”。书中讨论了标准C和C标准库的全部特性,包括信号、setjmp/longjmp和可变参数列表等其他书中很少涉及的内容。全书由易而难、循序渐进、螺旋式地讲述C语言,很好地处理了指针和位运算等难点。第2版覆盖了C99标准,并提供了对所有C99库函数的参考,还扩展了GCC的内容,增加了对抽象数据类型的讨论,并针对新CPU和操作系统做了更新。《C语言程序设计:现代方法》尤为强调软件工程和现代编程理念,在知识的阐述中突出工业界的最佳实践、实际经验和编程风格,使读者能够合理运用所学,编写出可读性好、可靠性高和容易维护的代码。书中精心选择了近500道习题,贴近实战,与叙述文字相得益彰。
目前《C语言程序设计:现代方法》已被全球200多所学校采用为教材,包括哈佛大学、麻省理工学院、斯坦福大学、加州大学伯克利分校、耶鲁大学、加州理工学院等诸多名校。
C语言程序设计
2、CPrimerplus5th内容提要:
本书全面讲述了C语言编程的相关概念和知识。
全书共17章。第1、2章学习C语言编程所需的预备知识。第3到15章介绍了C语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的C编程参考资料。
本书适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。
作者简介:
StephenPrata在加利福尼亚州的Kentfield的Marin学院教授天文学、物理学和程序设计课程。他在加州工业学院获得学士学位,从加州大学伯克利分校获得博士学位。他最早接触计算机,始于对星河的计算机建模。Stephen已经编写或与他人合作编写了十多本书。其中包括C++PrimerPlus和UnixPrinmerPlus。
3、谭浩强第三版
国内非常普及的学语言入门书籍,很多学校都是用它作为教材,对于C语言入门来说比较通俗易懂。不过书中有些地方不够严谨,需要注意一些问题。
二、进阶书籍推荐
1、TheCProgrammingLanguageSecondEdition
byBrianW.Kernighan,DennisM.Ritchie.PrenticeHallPTRC程序设计语言第2版·新版。
本书是由C语言的设计者BrianW.Kernighan和DennisM.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
本书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。本书原著即为C语言的设计者之一DennisM.Ritchie和著名的计算机科学家BrianW.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hell,World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。
2、PointersonC(C和指针)
凸现指针对C的重要性。提供宝贵的提示和智慧的警告。
本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习c语言的参考。
3、CTrapsandPitfalls(C陷阱与缺陷)
作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。
本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。
《C陷阱与缺陷》AndrewKoenigAndrewKoenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。
4、ExpertCProgramming(C专家编程)
《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。
书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。
本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们站在C的高度了解和学习C++即使你读过AndyKoneig的《C陷阱与缺陷》,你还是应该看看PeterVanDerLinden的书。我想,他们两人的书称都应该千方百计的搞到,如获至宝地捧读。如果我是你的上司,这是必须的要求。
5、CInterfacesandImplementations(C语言接口与实现)
本书概念清晰、内容新颖、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。本书倡导基于接口的C语言设计理念及其实现技术,深入详细地描述了24个C语言接口及其实现。本书通过叙述如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的API。本书是一本针对C语言程序员的不可多得的好书,也是值得所有希望掌握可重用软件模块技术的读者阅读的参考书籍。
全部0条评论
快来发表一下你的评论吧 !