很多人学C语言很长一段时间了,还不知C究竟能干什么,以为学习c语言没什么用,纯粹是为了应付学校的考试。更有人说"学C语言?别做如此愚蠢的行为了!赶快学C++吧!"这种看法是不对的,不应该把c跟c++之间划起绝对的界限,过分看重c++而把c贬得一无是处,这是很片面的。C++功能虽然强大,但它毕竟是c的"超集",在c++里有哪一处找不到c的影子呢?没有c的支持,c++只能是无本之木。
一般情况下,c++编程方式编写的程序源代码量小,但编译后的代码量较大,运行的速度略低,不过开发时的工作量和工作难度较小;而c编程方式编写的源代码量较大,但可执行的效率高。如果一些对速度要求高,尤其是对硬件操作较多的程序,大多数还是用c编程方式开发的(用C又比用汇编简单,易于实现)。另外,学Win32 C程序设计还有助于更深入地了解Windows 的内幕和Win32 API.
任何的编程语言都是一种工具,学习语言的目是要使用它来编写出实际需要的软件来,而软件作为一个用户程序,运行时要依赖操作系统,大多数人使用什么操作系统,我们就要编写出基于哪一种平台上的程序来。这样,软件才会有更大的市场。
现在市面上出现的有关c语言方面的书大多是教授DOS下的c,上机实习也是在Turbo C 2.0(简称Tc)环境下转来转去。编程环境的单调总使人感到不爽。这也没办法,dos 下的c是最简单的,初学者当然要从最简单的入门啦。连比较有名的计算机专家谭浩强编的书也都是赞成从dos下的c学起的。再说,一个刚刚入门的人想在windows 这样的多进程,多线程的操作系统下用c编程,那似乎又不太现实。(那要了解在windows下,一个win32程序大体上是怎样执行的。要对系统有比较多的了解才行,一个初学者暂时还不具备那么多的知识)但我们的脚步又不能够只停留在dos里,应该积极地从dos向windows转变。在dos的时代,我们可以对dos下的编程迷恋,但现在都是windows横行霸道的时代了,我们就应用c语言编写windows平台上的程序,因时而变,学以致用。是时代使然!如果现在还是dos雄霸天下的话,那我就不会写这篇狗屁不通的文章来遗笑大方了,不被臭鸡蛋扔死才怪呢!
"变法"是大势所趋的了,关键是怎么变,不单单是学习c语言的人如此,就连学c++的人都这样,笔者曾经在QQ上碰到一个学了c++将近一年的小伙,居然问我,他想编一个windows窗口,该怎么下手,如果学一门语言用了一年时间,只是学了一点语法知识,却没有编过一道程序,那实在是一种悲哀。下面我谈谈从dos向windows转变的一些个人见解,(这纯属个人观点,仅供参考,如果您已是高手,完全不必要在此浪费时间):
一。拓宽视野,改变偏见
别老以为c只是dos特有的东西,一提到c语言就认为c只能在dos下编程。其实,这是被tc束缚了意识,我们在学校里平时就只在dos的tc里面用c编程,很少用到"图形模式",整天面对?quot;乌黑黑"的屏幕,也难怪有些人一看到一个用c语言描绘出来的像windows的窗口便以为是c++的手笔。其实,作为一种语言,可以在任何一种平台上编程,只是接口不同而已,只要找到适合该平台的编程工具即可,c语言当然也能在windows下大放异彩。眼界放宽点,改变偏见,必有精彩发现。
二。选择优秀的编程工具。
“有好的工具,做起事来就事半功倍”。在dos下我们常用tc或bc(borland c)。在windows下可以用c++builder 或者visual c++ 来编程,最好用visual c++ 毕竟是微软的东西嘛!微软一天不垮台,编程者的饭碗就不会掉的啦 ^_^ .再说,windows操作系统是微软出的,其内幕微软是最清楚不过的了,在应用程序接口上,相信vc也是做得最好的。不过用vc++6来编c程序会恨烦的,大家要有心理准备。同时可以选择多种编程工具,例如汇编,可以加强对windows的了解,是成为高手的好方法。
三。加强对windows的了解。
可以说编一个程序,就是用一种语言的语法形式将数据结构和表面的执行过程描述出来。在不同的操作系统下,其程序的执行过程是不同的。我们应该对windows的系统机制最起码有个大体的了解,才有可能编写windows的程序。dos是单进程单线程的系统,进程从头到尾的顺序执行,而windows是多进程、多线程的操作系统,是基于事件的,消息驱动的操作系统。明白这些是在windows下编程必不可少的,多学学它,你会发现windows 和 dos有很多的不同之处。
四。采取灵活多变的学习方法。