C语言初学者学习手册(在硬盘很久了)
这是C初学者了手册。(好像在那个论坛了一个手册在我硬盘很久了)
这里不是教你什么知识,而是给你澄清一些资料,只给对编程一窍不通的或者刚入门的人看。
如果你尚未学习或者才学习不够一天,一定要看这手册,这分手册已经讲述的知识,我们不会在版面给予回答
此手册我会尽量保持准确,但如有不正确,请指正
我也会不断更新此手册
一、什么都不懂
Q:什么是C?
A:一门面向过程的计算机语言,发明至今已经差不多有三十年历史,由于它相对其他高级语言高效,运行效率又比较接近低级语言,所以至今仍得到广泛的引用,无论你用windows还是unix/linux,甚至你家的PS2,你现在看到东西的底层都是用C写的,而大部分的网络协议都是用C实现的,画面最漂亮的游戏用C实现的,工业控制程序也是用C实现的。C不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言
Q:什么是C++?
A:一门面向对象的计算机语言,发明至今已经有二十多年了。由于面向对象编程对程序架构有较好的帮助,因为比较适合构建大型的系统(当然,学术界对此存在争论),但无论如何,C++由于和C一样接近底层,而且又面向对象,所以也得到广泛的使用。C++不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言,不要向某一个笨蛋一样认为C + 类 == C++ 。 除了面对象编程和兼容C语言的面向过程编程,C++还支持泛型编程(Generic Programming),就是使用模板实现更灵活的程序架构,典型的实现是C++的标准库
Q:TC,VC,BC,BCB是什么?有什么区别?谁好?
A:它们都是开发C/C++的开发环境,是软件。它们是不同时期由不同公司发行的软件
Turbo C ,Borland公司在八十年代末期发行的C语言的开发环境
Turbo C++,Borland公司在八十年代末九十年代初发行的C++语言的开发环境
Visual C++,Microsoft公司 在九十年代至今发行的C/C++开发环境
Borland C++,Borland公司 在九十年代中发行的C/C++开发环境
Borlan C++ Builder,Borland公司在九十年代后期至今开发的C/C++开发环境,与其他开发环境不用的是它属于快速应用程序开发(RAD),可以让你不写代码就能建立程序,当然它的运行效率见仁见智
没有什么是万能的,不同场合用不同的东西
而且C/C++还有很多编译器/开发环境,譬如gcc, watcom C++, Dev C/C++, intel C/C++, vector C
Q:什么语言/开发环境最好?
A:没有最好,只有最适用某方面
Q:需要什么基础才能学C/C++
A:至少学过幼儿园语文,小学英语,小学数学才能学,所以先确定你拥有小学学历,然后就能学了至于学习C++前是否需要学C,C++的发明者认为不用,但见仁见智
Q:如何更有效的学习C/C++?
A:不断的看书+实践,先把书上的练习题做完再说,务必记住不要钻牛角尖,很多初学者经常犯这样的错误,不要盲目的提出问题,现在看来是问题其实在以后的实践和学习中都会慢慢理解的,任何东西都需要一个过程。万万不可浮躁。
Q:TC能开发windows软件吗?
A:不能,因为不同系统,生成的程序格式不同
Q:要多久才能成为高手?
A:当你不再向这个问题的时候,总是会有比你技术高的人,也许你在你生活的环境中没有,的确可以说你在这个小范围是高手,但是在别的地方一定会有比你厉害的人只是你没有接触到而已
Q:学C/C++有什么用?
A:先想想你为了什么而学,想不到就不要学
Q:学完C/C++又能怎样
A:没怎样,学是为了使用服务的
只证明你会一门语言,但不等于你会开发软件。就像学外语,为的是跟外国人交际,但如果你不懂交际,即时精通英语,法语,日语,朝鲜语,阿拉伯语,西班牙语……还是不能跟人交际你应该继续学习软件开发的知识,包括数据结构,算法,软件工程等等,还有要提高数学水平,譬如微积分,离散数学,矩阵,概率,统计,数值分析
Q:我有很多不懂,怎么办?
A:查帮助,搜索引擎。最著名的帮助文档叫MSDN,我们主要使用其光盘发行版,D版可以从电脑城买,正版可以去微软订购,如果没有光盘可以去msdn.microsoft.com查询。
二、开始学习了
Q:初学有什么好书介绍
A:1、C++语言发明者的Bjarne Stroustrup编写的C++程序设计语言(特别版) ,机械工业出版社,85元
2、最早的C++编译器开发者,现在是VC++.Net开发者的 Stanley Lippman编写的C++ Primer,中国电力出版,108元
3、最著名的计算机语言学者Bruce Eckel编写的C++编程思想(第2版) 第1卷:标准C++导引 ,机械工业出版,59元, 第2卷只有英文版,49元
只需要买其中一本就可以,前两本另有习题解答出售,国内那些教材就别看了,会害人的,真的!
Q:为什么经常提示找不到类型的某个定义,我明明没拼写错的
A: 看看你include了声明这个类型的所在的头文件没有?
Q:出现unknown character的提示
A:你在语句中使用了全角字符,譬如;打成;
Q:使用TC/VC看不到输出,或者一闪而过
在TC,按Alt+F5,或者在程序最后加上system("PAUSE"), 或者加上getchar()
在VC,选择Excute执行,或者在程序最后加上system("PAUSE"), 或者加上getchar()
三,最常见的错误提示
Q:unexpected end of file while looking for precompiled header directive
A:如果你是使用VC,那多数是你漏了 #include "stdafx.h",这是一个预编译头文件,如果你不想使用,可以在Project菜单-〉Setting-〉C/C++,在Category选择Precompiled Header,然后选择Not using precompiled headers,按确定退出,这样就行了
Q:error LNK2001: unresolved external symbol _main(CRTStartup)/(_WinMain)(CRTStartup)
A:在windows里面,如果你需要用main做主函数,请新建Project-〉Win32 Console Application
如果你需要用WinMain做主函数,请新建Project-〉Win32 Application
Q:我在TC看到缺少cos.obj的提示,为什么?
A:路径设置错误,在Options菜单-〉Directionary,分别TC里面1、设置含有很多.h文件的目录,2、设置含有很多lib文件的目录,3、设置生成可执行文件的目录,4、设置TC本身所在的目录。
记得最后要选Save Options
Q:我总是看到这个提示,Undefined symbol'xxxx' in module yyyyy.C ,怎么办
A: C语言所有的变量,都要先定义的,什么叫变量定义?翻书去!
----
附件: 您所在的用户组无法下载或查看附件