尽管C语言已经存在了近30年,但它的魅力并没有减弱。 C 语言继续吸引许多必须学习新技能才能编写、移植或维护应用程序的开发人员。
本文是为了满足 C 语言初学者或想要提高 C 语言技能的开发人员的需求而编写的。 希望对您的学习和工作有所帮助。 您可能不同意其中一些方法,但我们希望您会喜欢其中一些方法。
本文不介绍程序员应该掌握的语言细节,而是与初学者分享自己在UNIX下学习C语言编程的经验; 也没有解释一个合格的程序员应该掌握的计算机知识,例如:操作系统、数据结构与算法、数据库等等。
无论您的目的是什么,希望您在阅读本文后留下您的批评或建议。 您的中肯批评将成为作者前进的动力。
“民众欲做好事,必先磨砺工具。” 编程是一项非常实际的工作。 在你以后的学习或者工作中,你会经常和以下工具打交道。 下面列出了学习C语言编程常用的软件和工具。
(一)操作系统
在 UNIX 或 Linux 系统上学习 C 很容易,因此在开始学习之旅之前选择 UNIX 或 Linux 操作系统。
目前可供个人免费使用的UNIX或Linux系统有Linux、SUSE Linux等,安装包中提供了很多实用的工具,如:gcc、make等。
如果你一直在使用,并且你周围没有多余的机器来安装UNIX,那么你可以通过安装虚拟系统来使用它。
(2)编译工具
目前,大多数Unix或Lnux系统都提供CC或GCC编译器。 最简单的cc命令格式如下:
cc -o 你好你好.c
在Unix shell环境中输入上述代码,会将hello.c程序编译成可执行文件hello。
GNU make、V make、make等make工具是用来组织应用程序编译过程的基本工具,但每个make工具都不同。
大多数 UNIX 和 Linux 程序都是通过运行 make 来编译的。 make工具会读取一个包含指令的文件(这个文件的名字通常是or,但我们下面统称为“”),并执行各种操作来编译程序
(3)调试工具
最简单的调试工具:在程序中添加打印语句
当你对程序的运行机制有了一定的了解之后,你就可以使用一些工具来帮助你调试了。 当然,你得学会如何使用这些工具,比如:dbx、gdb等。
还有一些内存工具可以帮助你发现内存泄漏或者缓冲区溢出,比如:、yamd等。
(4)其他工具
1. vi 或 vim
Unix 下的文本编辑器。 它主要依靠一堆命令来编辑文本文件。 学习Unix编程最好熟悉并熟练使用vi编辑器。
当然,在实际工作中,你可能需要一个集成的编码环境或者强大的图形编辑工具。
提供中文vim在线手册:
学期
最著名的网络终端软件之一,您可以使用它方便地连接到主机系统。
3、外壳
支持ssh协议的客户端工具,大多数情况下用于连接linux系统。
图书
“书籍是人类进步的阶梯”。 学习新的知识,当然要选择几本适合自己的书。 以下是我学习C语言所用的一些书籍:
1.“C+”
推荐理由:适合作为入门书籍和基本功能查询的参考资料。 本书最新版本为第五版,以ANSI C99为标准详细介绍了C语言。
2.“C”
推荐理由:C语言之父的著作权威性是毋庸置疑的。 虽然这本书的出版时间比较久远,而且似乎也没有更新,但它仍然是一本经典的书。 本书有英文电子版,可以在互联网上下载。
3.《专家C编程》
推荐理由:本书可以帮助有一定经验的C程序员成为C编程专家。 最重要的是本书寓教于乐,让你充分享受编程的乐趣。
4.《C 的缺陷和陷阱》
推荐理由:书中透露的知识可以帮助你绕过C语言本身的陷阱和缺陷,减少代码中很多常见的Bug。
5.《unix环境下高级编程》
推荐理由:既然是UNIX环境下的C编程,过程
1.学习C语法
对于有编程背景的人来说,语法学习是非常容易的; 即使你之前没有学过其他编程语言,我相信你也可以在2周内轻松掌握。
需要注意的是,不要太纠结于语言的细节,例如:运算符优先级和结合性问题。
2.学习C标准库
ANSI C 库将函数分为几组,每组都有一个与之关联的头文件。 与其他语言(例如C++和Java)相比,C语言标准库非常短小和简洁,但您应该首先重点学习以下库:
ctype.h:字符处理
math.h:数学库
stdio.h:标准I/O库
.h:通用工具库
.h:字符串处理
time.h:时间和日期
如果想了解完整的ANSI C库,可以购买相关书籍,大致详细介绍了各个函数的使用者以及一些注意点; 当然,您也可以登录...amp;page=index.html来获取ANSI C库的详细信息。
3.克服C的难度