Linux下怎样学习C语言
虽然C语言问世已近0年,但它的魅力尚未衰弱。C语言继续吸引着诸多的开发者,她们为了编撰、移植或维护应用程序而必须学习新技能。下边是小编为你们带来的关于Linux下怎样学习C语言的知识,欢迎阅读。
序言
虽然C语言问世已近30年,但它的魅力尚未衰弱。C语言继续吸引着诸多的开发者,她们为了编撰、移植或维护应用程序而必须学习新技能。
本文是为了满足对C语言初学者或想提升自身C语言灵力的开发人员的须要而写的。希望对您的学习和工作有所帮助。您似乎不赞成其中的个别技巧,但我们希望您会喜欢其中的一些。
本文不介绍作为一个程序员应把握得语言细节linux deepin,而是与初学者分享自己的UNIX下C语言编程学习经验;也不说明一个合格的编程人员应当把握的计算机知识,例如:操作系统、数据结构与算法、数据库等等。
不管您出于哪些目的,希望您阅读完本文后能留下您的批评或建议。您的中肯的批评会成为作者前进的动力。
工具篇
“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在你之后的学习或工作中,你将经常会与以下工具打交道,下边列举学习C语言编程经常用到的软件和工具。
(一)操作系统
在UNIX或Linux系统学校习C很便捷,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统。
目前可供个人免费使用的UNIX或Linux系统有FreeBSD、CentOS、Ubuntu、SUSELinux等,假如你曾经没有接触过UNIX或Linux选择Ubuntu还是比较好linux 与c,由于它的软件十分丰富,其实了假如你想之后仍然在Linux工作学习建议选择CentOS,并且在安装包中还提供好多实用的工具,如:gcc,make等。
倘若您仍然使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。
(二)编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:
cc-ohellohello.c
在unixshell环境中敲入里面的代码会将hello.c程序编译成可执行文件hello。
make工具如GNUmake、SystemVmake和Berkeleymake是拿来组织应用程序编译过程的基本工具,并且每位make工具之间又有所不同。
大部份UNIX和Linux程序都是通过运行make来编译的。make工具会读取一个包含指令的文件(这个文件的名子一般都是makefile或Makefile,不过后文中我们统一称之为“makefile”),并执行各类操作来编译程序
(三)调试工具
最简单的调试工具:为你的程序添加复印句子
在你对程序的运行机制有了一定的了解后,你可以实用一些工具帮助你进行调试,其实你得学习一下这种工具得使用,如:dbx,gdb等。
还有一些显存工具可以帮你查找显存泄露或缓冲区溢出等一些问题,如:memwatch,yamd等
(四)其他工具
1.vi或vim(vim是vi的升级版)
Unix下文本编辑器。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。
其实在实际工作中,你可能须要一个集成编码环境或一个功能强悍的图形化编辑工具。
term
最知名的网路终端软件之一,可以使用它便捷的联接到主机系统中。
3.Secureshell
一个支持ssh合同得顾客端工具,多数情况下拿来联接linux系统。
书籍篇
“书是人类进步得阶梯”。学习一门新的知识,其实要选择几本适宜自己得书籍,下边介绍一些我自己学习C语言使用过的书籍:
1.《Cprimerplus》
推荐理由:适宜作为入门书和基本函数查询得参考资料。本书最新版为第五版,以ANSIC99为标准详尽介绍了C语言。
2.《TheCprogramming_Language》
推荐理由:C语言之父得作品权威性毋庸置疑。其实书籍出版时间比较老,似乎也没更新,不过仍不失为精典书籍,网上有这本书得中文电子版提供下载。
3.《C专家编程》
推荐理由:本书可以帮助有一定经验的C程序员成为C编程方面的专家,最关键的是本书寓教于乐,让你充分享受编程的乐趣。
4.《C缺陷与圈套》
推荐理由:书中所阐明的知识能帮助您绕开C语言自身得圈套和缺陷,降低代码中许多常见的Bug。
5.《unix环境中级编程》
推荐理由:既然是UNIX环境下C编程,就不得不谈谈UNIX编程书籍。Stevens先生的《unix环境中级编程》是我尽力推荐的,也是我的案头必备(假如对网路编程有兴趣的,可以学习一下Stevens先生的《UNIX网路编程》两卷,假如认为还不过瘾,可以再瞧瞧《TCP/IP解读》三卷)。
6.《计算机编程艺术》
推荐理由:算法大师得呕心沥血之作。计划出版五卷书,目前似乎已出版3卷。对算法有兴趣得可以研究一下。
过程篇
1.学习C句型
句型的学习对于一个具有编程底子的来说,就很轻松了;虽然你曾经没有学习过其他编程语言linux 与c,我相信有2个礼拜linux手机软件,你也能轻松搞定。
须要注意的是,不要太纠缠于语言的细节,例如:运算符优先级与结合性的问题等。
2.学习C标准库
ANSIC库把函数分为不同的组,每位组都具有与之相关的头文件。C语言标准库相对于其他语言,例如C++,Java来说是十分短小精悍的,但首先应注重对以下库进行学习:
ctype.h:字符处理
math.h:物理库
stdio.h:标准I/O库
stdlib.h:通用工具库
string.h:字符串处理
time.h:时间和日期
假如想了解完成的ANSIC库,你可以选购相关的书籍,这种书籍通常会详尽介绍每位函数的用户和一些注意点。
3.攻破C的难点