当前位置:首页 » 编程语言 » c语言缺陷与陷阱pdf

c语言缺陷与陷阱pdf

发布时间: 2023-06-15 01:22:30

A. 想在linux下学习c语言,该如何开始

一、工具篇
“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。
1、操作系统
在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD、RedHat Linux、SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等。
如果您一直使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。
2、编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:
cc -o hello hello.c
在unix shell环境中敲入上面的代码会将hello.c程序编译成可执行文件hello。
3、make工具
如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。
大部分UNIX和Linux程序都是通过运行make来编译的。
make工具会读取一个包含指令的文件(这个文件的名字通常都是 makefile 或 Makefile,不过后文中我们统一称之为 “makefile”),并执行各种操作来编译程序。
4、调试工具
最简单的调试工具:为你的程序添加打印语句,在你对程序的运行机制有了一定的了解后,你可以实用一些工具帮助你进行调试,当然你得学习一下这些工具得使用,如:dbx,gdb等。
还有一些内存工具可以帮你查找内存泄漏或缓冲区溢出等一些问题,如:memwatch,yamd等。
5、其他工具

1)vi或vim
Unix下文本编辑器。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。
当然在实际工作中,你可能需要一个集成编码环境或一个功能强大的图形化编辑工具。
提供一个中文的vim在线手册:http://vcd.gro.clinux.org/
2)Secure shell/putty
一个支持ssh协议得客户端工具,多数情况下用来连接linux系统。

二、书籍篇
“书是人类进步得阶梯”。学习一门新的知识,当然要选择几本适合自己得书籍,下面介绍一些我自己学习C语言使用过的书籍:

1.《C primer plus》
推荐理由:适合作为入门书和基本函数查询得参考资料。本书最新版为第五版,以ANSI C99为标准详细介绍了C语言。

2.《The C programming_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语法
语法的学习对于一个具有编程底子的来说,就很轻松了;即使你以前没有学习过其他编程语言,我相信有2个星期,你也能轻松搞定。
需要注意的是,不要太纠缠于语言的细节,比如:运算符优先级与结合性的问题等。

2.学习C标准库
ANSI C库把函数分为不同的组,每个组都具有与之相关的头文件。C语言标准库相对于其他语言,比如C++,Java来说是非常短小精悍的,但首先应着重对以下库进行学习:
ctype.h:字符处理
math.h:数学库
stdio.h:标准I/O库
stdlib.h:通用工具库
string.h:字符串处理
time.h:时间和日期
如果想了解完成的ANSI C库,你可以购买相关的书籍,这些书籍一般会详细介绍每个函数的用户和一些注意点;当然你也可以登陆http://www.dinkumware.com/manual ... amp;page=index.html获取ANSI C库详细信息。

3.攻克C的难点

1)C语言声明:
C语言的声明确实让我觉得恐怖,比较晦涩难懂,而且声明的形式和使用的形式还类似。比如如下的声明恐怕就连很多熟悉C多年的程序员也不是一眼就能看出来的:
char * const * (*next)();
那么有没有一种好的记忆方法或规则来搞清楚呢,好像没有,如果有的话也不是这样折磨人了。不过可以看看《C专家编程》第三章的内容,或许你会有所收获。
也只能多学多练了,所谓熟能生巧嘛,希望这个问题不要在你的心灵上留下阴影。
2)数组与指针:
数组与指针的关系,在标准中并没有作很详细的规定,而且好多C入门的书籍在这个问题上并没有给出很详细的说明,所以会给人造成很多误解。
对于这个问题,你可以参考《C缺陷与陷阱》4.5节和《C专家编程》第4,9,10章,相信你这里面的内容搞透彻,以后就不会再被这个问题搞迷惑。
3)指针与内存:
如果你以后编写规模较大的程序,你可能发现这个问题可能会是你最大的烦恼,而且可能会是你消耗最多调试时间的事项。
4)C版本的问题:
你得特别小心该问题,最好不要在你的程序中混合使用不同版本C的特性,否则会给你带来很迷惑的问题。如果一定要用,你最好清楚自己在做什么。
还有一些其他C中的难点和容易错误的地方,可以学习前人的一些经验。以下是一个c FAQ的链接地址,相信在这篇文档中有你需要的大部分问题的解决方法。
http://c-faq-chn.sourceforge.net/
4. UNIX环境编程
学习了以上内容之后,我相信,你就可以进行unix环境编程了。不过你可能需要对操作系统理论有一点点的了解,这样学起来会比较轻松一些。
Unix环境编程,你应该着重IO和进程两大块内容。
《Unix环境高级编程》中对Unix环境编程有着非常详细且深入的论述,而且书中有大量实用性例子程序,不过可能得花上几个月得时间,好好啃一啃了。
在扎实掌握以上内容,不代表你得C语言学习支路已经完成,相反,才刚刚开始。以后你需要用学到得知识去解决大量不同实际问题,在不断得实践过程中,你会近一步加深对C的理解。有了以上基础之后,你会发现,在实践过程中需要的其他知识,你会非常快速的掌握。

B. 求C语言的教程,入门的,电子书或者视频都ok~

C语言入门|C语言视频|C语言电子书免费下载

链接: https://pan..com/s/1UazOO71Obo_Kdno3VB6hGw

提取码: g6dj

语言四本经典书籍不知道你看了几本?C程序设计语言 C和指针 C陷阱与缺陷 C专家编程
这四本看完了,那么你的C就是差不多很厉害了.C程序设计语言那本可不是国内的,是外国的,就是二楼说的那个,最新好象是第二版,你可以上网查

C. C语言的详细知识点

1.先学谭浩强的<<C程序设计>>,对编程有个基本了解。

2.然后找个《精彩百例》之类的书,学着做些小程序,对程序有点了解。

3.可以买本《VCXX技术内幕》,当资料翻。《C++ Primer》也是本必备的资料书。

4.这时候应该就算入门了,提高的书大把,最主要是实践!写程序练手吧。推荐林锐的《高质量C++程序设计》,然后就是侯捷的N本书,全部经典!

5.后面就是看《设计模式》,《编程思想》之类的书,提高自己的境界。。。。

孙鑫C++视频教程 rmvb格式 全20CD完整版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=156290
C++视频教程 边用边学Visual C++ 6 (ASF格式)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177500
中山大学蔡培兴 C++语言视频教程 全51讲 精品推荐
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158073
C++程序设计视频教程 东南大学何洁月主讲 全80讲(上) 48讲
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181543
C++程序设计视频教程 东南大学何洁月主讲 全80讲(下) 32讲
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181546

钱能 c++程序设计教程 第二版 高清PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166018
Essential C++ 中文版+英文版 侯捷译
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=167578
编程点金之Visual C++(电子教程) iso
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181036
C++程序调试实用手册 PDF版下载
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181037
C++面向对象多线程编程 PDF版下载
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181038
C++高级编程参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145562
C++ Primer 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145858
C++ Primer 第四版 中文版高清晰
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177763
高质量C++编程指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177759
C++ 编程思想 第1卷 标准C++导引
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177774
C++ 编程思想 第2卷 实用编程技术
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177770
More Effective C++ 简体中文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146871
C++ Templates 中文版+英文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176004
C++ Coding Standards[Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175999
Absolute C++ 全彩页代码剖析
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175578
Accelerated C++ - Practical Programming by Example
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177489
Inside the C++ Object Model
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175359
More Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175358
Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175357
Sams出版 C++ Unleashed
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163617
C++ GUI Programming with QT4
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146734
Visual C++ 6傻瓜书 快速参考
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173217
Visual C++ 6.0 编程实例与技巧(PDF中文版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173210
Visual C++ 21天自学教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173174
跟我学Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174442
Visual C++ 6 数据库编程 21天自学教程 CHM
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173173
The C++ Programming Language 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175018
深度探索C++对象模型
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176965
Special Edition Using Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173171
Professional MFC with VC 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166005
Practical C++ Programming
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173744
Cross-Platform Development in C++
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174168
Iterative UML Development Using VC++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=124&ID=174831
Ace Programmer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174449
Visual C++高级界面特效制作百例
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=168630
精通GDI+编程 清华大学出版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=170571

D. 推荐学C语言的书

2009-10-19 07:44:50添加 1. C语言程序设计 作者 : 谭浩强
出版社 : 清华大学出版社评语 : 第0本 《C语言程序设计》谭浩强我们很少有学C语言的启蒙书不是用这本的。如果你从来没接触过C语言,这本书还是适合作为入门的。尽管大学毕业之后就不再碰这本书,但是还记得当初这本书看了3遍、指针那部分看了至少5遍的那种心情。以后看了其它的书,才对C语言中的一些内容有更深的理解。相信大多数第一次接触C语言的人都有类似的感觉。不要期望一本启蒙的书带给你想要的一切,一切才刚刚开始。 加入购书单已在购书单 2009-10-19 07:48:08添加 2. C程序设计语言(第二版)影印 作者 : Brian W.Kernighan,Dennis Ritchie
出版社 : 清华大学出版社评语 : 第1本 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 R&K C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻 加入购书单已在购书单 2009-10-19 07:44:50添加 3. C 陷阱与缺陷 作者 : (美)凯尼格 着,高巍 译
出版社 : 人民邮电出版社评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。另外作者写了一本《Accelerated C++》,据说是C++的最佳入门书,狠赞!! 加入购书单已在购书单 2009-10-19 07:44:50添加 4. C专家编程 作者 : (美)林登(LinDen.P.V.D) 着,徐波 译
出版社 : 人民邮电出版社评语 : 第3本 《C专家编程》(LinDen,P.V.D)一看书名就知道这丫不能拿来入门用的,第一次看的时候够折磨大脑的。作者声称,编程的唯一原因是因为乐趣。相比之前的几本书,这本书还介绍C语言运行的环境,更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念,如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。顺便一提:链接库可参考《深入理解计算机系统》的动态链接库一章,写得更易读 加入购书单已在购书单 2009-10-19 07:44:50添加 5. 编程精粹:编写高质量C语言代码(英文影印版) 作者 : Steve Maguire
出版社 : 人民邮电出版社评语 : 第4本 《编程精粹:编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本,尽管写出没有bug的程序不太可能,但按照作者提供的方法,可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。这本书源自作者十几年不断的追问自己两个简单的问题: 1)怎样才能自动地查出这个错误? 2)怎样才能避免这个错误? “他的另一部名着Debugging the Development Process(中文版《微软加入购书单已在购书单 2009-10-19 07:44:50添加 6. C Interfaces and Implementations 作者 : David R. Hanson
出版社 : Addison-Wesley Professional评语 : 第5本 《C Interfaces and Implementations》 David R. Hanson 这本据说为唯一一本能和R&K C并驾齐驱的书,可惜中文版众口一致说太烂,无处可载电子版,影印版跳票多年,原版USD 54.99实在承受不起,囊中羞涩,奈何奈何。想念多年,至今不能一睹芳容,深以为憾。 加入购书单已在购书单 2009-10-19 07:44:50添加 7. C标准库\图灵程序设计丛书 作者 : P. J. Plauger
出版社 : 人民邮电出版社评语 : 前面5本差不多够了,另外推荐两本,精力过剩的可以翻翻第6本 《C标准库》P. J. Plauger 本书介绍C标准库的实现,书中有较为详尽的代码。虽然这本书年代久远,现在的实现肯定和以前也有差别,但是还是很有参考价值,特别是对C标准库的实现有兴趣的人。中文版太贵,英文电子版看得太累,还是以后有地方借的时候再继续看。 加入购书单已在购书单 2009-10-19 07:44:50添加 8. C语言参考手册(原书第5版) 作者 : (美)哈比森(Harbisom.S.P.)着
出版社 : 机械工业出版社评语 : 第7本 《C语言参考手册》拿来备查的,C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库,可以和《C标准库》参考阅读。

E. 学习c语言看什么书好

啥都不需要·
再去书店找本书,这本书有以下几个特点:
1.一页上写的字不多,行高比较高
2.图多~就是截图节的多
3.例子多
4.你一拿住就知道这本书是你想看的~~
5.表听别人跟风似得说什么书好就买什么,每个人的情况不一样~
这不是
一个没学过英语的人说我砸看不懂英文了~?
没什么,没入门而已~
我2年前入的门,现在已经在写操作系统了~~
刚入门那时候我也是什么都不懂~慢慢的通过某个例子,明白了一些基本的东东,后面就是积累,整理了,没入门之前啥咚咚都是很深奥的~
c语言么~其最最基本的就是下面这个例子
这就是一个可以运行的c语言程序,但是它里面什么都没做~但他的的确确就是个完整的程序~
程序再大也只是在main里面再多甜点东东~
main()
{
}
哈哈·~就是初学者都是那样~~
不然杂叫菜鸟了~~
512167281
还没收到~
搞定~~我这会儿下q了~晚上回来说·

热点内容
pow在c语言中什么 发布:2025-02-12 21:07:24 浏览:320
php查询mysql连接 发布:2025-02-12 21:05:45 浏览:632
linuxc当前时间 发布:2025-02-12 21:03:32 浏览:28
云锁神服务器 发布:2025-02-12 21:03:29 浏览:487
c语言int和float 发布:2025-02-12 21:03:24 浏览:20
我的世界有什么好玩的大服务器 发布:2025-02-12 21:01:59 浏览:98
方舟手游如何解锁自己的服务器 发布:2025-02-12 20:54:09 浏览:657
猫影视源码 发布:2025-02-12 20:42:05 浏览:923
局域网如何访问其他电脑 发布:2025-02-12 20:39:06 浏览:378
新平板电脑的数字密码如何知道 发布:2025-02-12 20:31:19 浏览:345