C语言初学者的困惑—dos向windows转变

简介:

C语言初学者的困惑—dos向windows转变

http://www.sina.com.cn 2006年04月05日 07:09   赛迪网

  很多人学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有很多的不同之处。

四.采取灵活多变的学习方法.

  在不同的时期,学习不同的东西?可是有些人学习像word,excel这类操作性极强的办公软件时,总是先看书,看到尾巴忘了头,到上机时却不知所措.这种学习方式是被动的,看这些软件操作的书,里面说的都是具体的操作,不亲手又怎能接受新知识?

五.多进行比较.

  dos和windows有许多共同和不同的地方,如果是从dos学过来的话,在学习过程中不妨多进行比较,把不同的地方记下,相同的地方可以跳过,这可以快速地了解系统的不同之处,迅速地学到东西!

  学习程序设计,我主张"实践->理论->再实践"的方式,在编程的初期,不管你会不会写程序,都应先实践,(这里的实践是指编程工具操作方面的实践),学会操作编程工具.也许有些人会说:"废话!没有理论,又怎么实践?"不错,当你坐在一台电脑面前不知所措时,你就会想方设法使自己学会操作它,主动看书,看联机帮助,请教别人,忙得个"不亦乐乎",这不是变"被动"为"主动"了吗? 边学习边操作,以实践来带动理论的学习,接着达到"理论与实践同步",就可闯过第一关,学会了编程工具的基本操作,可以为以后上机实践打下铺垫.

  光学会操作像vc这类的工具还不行,工具是死的,人才是活的,不会编程只能是空操作,你还会说:"废话!没有理论,怎么实践?"的,这时就要学习编程的真功夫了,也就是我说的第二阶段--学"理论"阶段,深入研究前辈们的著作,吸取前人的智慧精华为我所用,扎扎实实打好编程内功,功夫到家了就应该"再实践",将学到的东西运用于实际,编写出我们需要的软件来.学以致用嘛,呵呵~~这种方式总比"先学好语法的条条框框,再上机实践"的效果好得多啦.

  关于向windows转变的个人观点就只谈这些,希望初学者早日踏上windows的光明大道!由于我也是一个菜鸟,水平有限,写得不好,还请各位多多包涵!

  (T113)


本文转自9pc9com博客,原文链接:     http://blog.51cto.com/215363/1287766   如需转载请自行联系原作者


相关文章
|
6月前
|
JavaScript Windows Python
Windows DOS进入指定盘符(磁盘路径)
Windows DOS进入指定盘符(磁盘路径)
161 1
|
6月前
|
关系型数据库 数据库连接 Windows
windows 常用的dos命令
windows 常用的dos命令
129 0
|
12月前
|
应用服务中间件 nginx Windows
windows下DOS命令杀掉Nginx应用进程
windows下DOS命令杀掉Nginx应用进程
153 1
|
6月前
|
Java 程序员 Windows
windows相关DOS命令简介与基操
windows相关DOS命令简介与基操
70 0
WGCLOUD日常使用 - windows启动server,dos窗口显示乱码的问题处理
首先,这个乱码没有影响,忽略即可 这个是windows窗口编码导致的,不会影响程序运行,server/log下日志文件没有出现乱码,我们主要看日志文件
WGCLOUD日常使用 - windows启动server,dos窗口显示乱码的问题处理
|
Windows
Windows DOS窗口查看历史执行过的命令的三种方式
Windows DOS窗口查看历史执行过的命令的三种方式
|
缓存 网络协议 Linux
Windows操作系统下的常用DOS命令
Windows操作系统下的常用DOS命令
263 0
|
C++ Windows
C++ 调用windows系统DOS命令的函数 system(char* command)
C++ 调用windows系统DOS命令的函数 system(char* command)
205 0
|
安全 Linux 调度
【windows kernel源码分析】对初学者友好的底层理解,让你对计算机内核不再迷茫
【windows kernel源码分析】对初学者友好的底层理解,让你对计算机内核不再迷茫
191 0
【windows kernel源码分析】对初学者友好的底层理解,让你对计算机内核不再迷茫
|
域名解析 缓存 网络协议
【TCP/IP】【调试】Windows常用网络相关DOS命令一览
【TCP/IP】【调试】Windows常用网络相关DOS命令一览
435 0