回 帖 发 新 帖 刷新版面

主题:[转帖]C语言入门必备手册

这里不是教你什么知识,而是给你澄清一些资料,只给对编程一窍不通的或者刚入门的人看。 如果你尚未学习或者才学习不够一天,一定要看这手册,这份手册已经讲述的知识,我们不会在版面给予回答 此手册我会尽量保持准确,但如有不正确,请指正 我也会不断更新此手册

• 什么都不懂

Q:什么是C?

A: 一门面向过程的计算机语言,发明至今已经差不多有三十年历史,由于它相对其他高级语言高效,运行效率又比较接近低级语言,所以至今仍得到广泛的引用,无论你用windows还是linux,你现在看到东西的底层都是用C写的,而大部分的网络协议都是用C实现的,画面最漂亮的游戏用C实现的,工业控制程序也是用C实现的。C不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言

Q:什么是C++?

A:一门面向对象的计算机语言,发明至今已经有二十多年了。由于面向对象编程对程序架构有较好的帮助,因为比较适合构建大型的系统(当然,学术界对此存在争论),但无论如何,C++由于和C一样接近底层,而且又面向对象,所以也得到广泛的使用。C++不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言,不要向某一个笨蛋一样认为c + 类 == 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++

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:我在TC看到缺少cos.obj的提示,为什么?

A:路径设置错误,在Options菜单-〉Directionary,分别TC里面1、设置含有很多.h文件的目录,2、设置含有很多lib文件的目录,3、设置生成可执行文件的目录,4、设置TC本身所在的目录。 记得最后要选Save Options

Q:include A:

Q:全角/半角 A:

Q:使用VC看到不能连接_main或_WinMain的提示

A:如果你需要用main做主函数,请新建Project-〉Win32 Console Application 如果你需要用WinMain做主函数,请新建Project-〉Win32 Application

Q:使用TC/VC看不到输出,或者一闪而过

在 TC,按Alt+F5,或者在程序最后加上system("PAUSE"), 或者加上getchar() 在VC,选择Excute执行,或者在程序最后加上system("PAUSE"), 或者加上getchar()

回复列表 (共115个回复)

31 楼

应该说增加了我的信心!

32 楼

支持你!!!

33 楼

好贴啊,看了一几遍了。但是还是很支持
说的都是理啊

34 楼

不错,越来越对编程了解了

35 楼

哇~要补数学了~

36 楼

新手~~~看了楼主的帖子在下受益匪浅啊~~~同2楼~我相信我会很快入门的
不过小弟的 数学基础实在太差~~就连高中数学都一窍不通~请问这该怎么解决啊??

37 楼

顶~
正在努力学c ;)
搂主可不可以告诉 我们经常看到的c#是什么呢?就是指c++吗?

38 楼

C#(C Sharp)是微軟(Microsoft)為.NET Framework量身訂做的程式語言,C#擁有C/C++的強大功能以及Visual Basic簡易使用的特性,是第一個元件導向(Component-oriented)的程式語言,和C++與Java一樣亦為物件導向(object-oriented)程式語言;雖然微軟聲稱其C#的語法95%幾乎與C++相同,但筆者以為C#的語法其實更像Java,由於微軟與昇陽一直以來視彼此為競爭對手,在微軟的原文書中對Java這個字隻字不提是可以理解的。


        就程式語言的演進史來看,C++於1980年由貝爾實驗室的Bjarne Stroustrup發明,其次Java於1990年由昇陽Jame Gosling等人發明,C#則是於近兩年由微軟發明,一個程式語言要出線,一定要優於前面同質性的程式語言許多才成,像Jame Gosling等人若非對C/C++如此地熟悉,無法將Java改得如此精要簡單,Java雖非用以取代C/C++,但也走出自己的一片天空,同樣地微軟發明C#,是要和Java一爭長短的,要在Java陣營前殺出一條血路,不可能再走C++的舊路,參考敵方陣營的內含並加以改善之是必要的做法,故而C#會像Java便不足為奇了。更確切地說法,C#的語法其實是由C/C++、Visual Basic和Java四種語言融合而成。
 

        以下是Microsoft C# product manager : Tony Goodhew和Sun Microsystems的Jame Gosling and Henry McGilton分別對C#和Java程式語言的描述,由此可以推知此語言的特性(筆者註:通常愈前面的形容詞愈代表這個語言的特性),值得注意的是,兩種語言皆以”simple”這個字做為最重要的特性。


C#:A simple, modern, object-oriented, type-safe, versionable, compatible, and flexible language
Java:A simple, object-oriented, distributed, interpreted, robust, secure, architecture, neutral, portable, high performance, multithreaded, and dynamic language

39 楼

看了斑竹的高论收益非浅

40 楼

是呀,不错,

我来回复

您尚未登录,请登录后再回复。点此登录或注册