C,曾经的程序员梦


日期: 2002-03-06 14:00 | 联系我
关注我: Telegram, Twitter

到了第二年,大家也都能知道编程语言有好多种的,且各有千秋。而其中比较有前途(钱途?)的是TC。不管怎么着,TC这东西可上可下,可对操作系统编程,可完成汇编的大部分功能。这可让爱捣蛋的男生一提起来就满面红光。动不动就会说,你小子给我小心点。得罪了哥们我,小心我编个病毒KILL了你。呵呵,谁K谁呀。吹起来,谁都不怕谁呢。是的,只是吹。TC到底是个什么东西,都不太清楚。

不清楚不是?大家不都想学TC么?专业科长有话说了。想学好办,咱这学期就开。可有一条,学不好我可不愿意你!一句话说的全班学生心里发毛(哈哈,你可能要问我,都发毛,你怎么知道?我只能告诉你,我编了个调查程序调查过。),开始重新审视TC了。可无论是吹牛,还是怯阵,该上演的还得开场!

课本是清华版的,谭老教授的得意之作。搭眼一看,就感觉着呀,特权威。第一节课,大家都破天荒的预习了一下!随着上课铃声的响起、响过,大家都不住的把目光扫向门口。呵呵~~是你的躲也躲不过呗。这不,来了——一个个子不高的,文文静静的,不戴眼镜的年轻女教师。可不了,大家都禁不住的一阵唏嘘,要知道,在工校里找个女教师可不易呢。再说, 在男生的眼里,做软件学编程,是男生的专利,女得了孩子可不该分羹。

好了,不管怎么说,那女教师微笑也好,脸红红的也好,她走上了讲台。大家这次都屏住呼吸,看着她,希望她说点啥,比如,介绍一下自己(我怀疑有许多男生也想趁机介绍一下他自己)。但这位老师就是与众不同。你瞧她轻轻的把书放到桌子上,翻开,第一句就是:这节课我向大家介绍C语言的发展历程……下面又是一阵喧哗。至少,也应该告诉我们你叫啥呢,漂亮的老师!呵呵~~

C语言确实不简单!第一,它竟然不要行号;第二,它的流程如此清晰,超Basic过Pascal;第三……行了,行了,你才知道呀,菜鸟!被大虾狠狠的K了一句,这位菜兄的满面红霞,变成金乌西坠,变成暮色沉沉。我有幸目睹这脸上无限的风景,有意思。

其实C语言,平(我的)心而论,它的函数思想特别优秀。它只有几条语句,函数构成它的主体了。没有该死的进程,也没有子程序,你可都定义成函数。这个统一的编程思想,实在是让人着迷的。另外,简单的定义函数结构和十分灵活的编写程序方式,统一的变量定义要求,都是这种语言的优秀之处。当然,说到底,在DOS时代,它最最可贵之处是十分高的运行速率。这些不仅是它的优秀之处,在那个年代,也是独特之处。真正的程序员用C,也许就从那个时候引发的。呵呵~~什么真正的程序员用C,只不过C掌握的人并不多,有些程序员想以此表现自己是正宗罢了!

以后的学习生活是紧张有趣的。我一路小跑,自己学会了函数,数组,指针,文件操作。后来果然不出我所料,这本书根本就讲不完嘛。上机的时候,我总是摆弄C。别人都说C不能用,我暗笑,笨伯呀,把路径设置好不就行了?有的同学做图形函数练习,总是不能成功。跑去问老师,那个带同学实习的老师好象不太精通C。告诉他说,我们机房里的这个“版本”不太好……

小女生为了考试而学习C了。大男生开始咒骂C了。这个东西不是那么好掌握耶,看来。但不管你学到什么程度,科长可不含糊。学习的进程一天天的没有停下来的意思。好了,到学期末了,咱们的C课程也该结束了,大家设计一个东东吧!

设计?我早知道教学计划里有这一条了。但轮到的时候,还是心里发毛。天哪,我只会求几个小儿科的数字相加,相减,乘方,“水仙花”!呵呵~~我还会给猴子分配每天吃多少桃,给国王挑选最好的女婿,让狼很快的知道自己找不到兔子……可这都派不上用场呀。科长狠,C老师,哦,我给你说过的,那个文文静静,不戴眼镜,年轻漂亮的老师,她更不体贴呢。开口就布置了一个课题:用C编制一个菜单,编制一个数据库,输入一个商品,应该能够查到这个东西还有多少,单价为多少,云云。好了,课题就是这个了,大家,想去吧。

菜单这个东西大家谁都用过,挺方便的。可现在要用C自己写?不是赶鸭子上架么!呵呵~~不上也得上。科长有令,这次写入档案,不毕业的名额本届学生将不限制,想得到它很容易!——吓我?还没有不毕业的呢,建校以来。但是,做一做,总没坏处吧。我开始准备了。

菜单是什么原理?光带。正常的色彩,和反色显示,构成了菜单的样子,完成功能。如果用热键来激活某项的话,那不叫菜单了。用光标键控制,是比较标准的。试想啊,屏幕上显示四个色块。一样的底色。其中一个是反色显示,表示当前它被选中了。然后,用户按下一个向下光标键,那个反色显示的老兄,把权柄教给了下一位。这就实现了菜单功能。如何实现这个亮块的转移呢?我最初的打算是把这个图形块割下来,保存到内存中去。用到的时候,取出,显示。我这么想了,也这么保存IMAGE了。分配内存,保存图像。可后来我发现,分配内存需要指针吧。保存图像也不是那么好兑付的。指针很调皮,不听话。尽管我也有信心做好,但是,我开始考虑寻求一个简单的办法了。

怎么办?呵呵~~我有的是办法。既然这个方法不可取,那么我就用画矩形的方式完成。这个方式的具体办法是,所有的光带都是矩形。预先把选中的那一个,画成反色。然后……虾们,我说的是不是很简单!可筛选出这么一个可取的方案,可不容易呢。然后的问题你也知道吧。判断用户按下了什么键,然后在本地清除反色,画上正常的色彩,到“该去”的地方,画上反色。这样就完成了光带的移动。

这里涉及到一个问题,就是判断当前在第几项上。也许你会说,建个数组不就得了。呵呵~~那样不是俺的习惯!我必会找个简洁的算法来实现。首先,规划好这个菜单的(X,Y) 标,然后确定间距。这种算法的好处是,我可以随时通过改变变量改变整个菜单的位置和菜单项相对位置,而不需修改其他代码。然后用一对变量保存当前菜单项的位置。到底现在是第几项?你就可用当前位置和(X,Y)的差距得知了!然后,你可判断,当前位置如果到了底了(假设是纵向菜单),你就知道再按↓,就应该跑到上边去。反之,亦然。这个算法是不是很简单和明了?

至于每个菜单实现什么功能,你"case"一下就是了! 还有按ESC退出,也不成问题了吧?

其实有头疼的,那就是艺术汉字的显示问题。如果读取汉字库,会无比的麻烦。俺当时是偷了懒了,用的是特显。——呜,提起来太沧桑啦!是老掉牙的特显老兄呢!偷了这次懒,至今想起脸红,嘿嘿……

数据库怎么调呢?这要涉及到文件处理了。打开一个文件,读出,显示在屏幕上,不会很难吧。这个我早就解决了。但现在想一想,用DOS的TYPE会更简单!只是当时已惘然耶。 记得我当时是把我常吃的冰淇淋的名字价格规格味道写了进去,呵呵~~老师一见之下,倍感难忘,尽管这并不是俺的初衷。我只是想管理一下我每天该吃什么样的冰淇淋而已……

老师给我的分数是全班最高的,B+,这倒让我很难忘。因为全班能做出图形的不多,能够知道析出图形的目标文件的不多,知道注册图形库的更不多。不是我水平高,是弟兄们太捧场呢。

写这些文字的时候,那份设计报告我还保存着。老师曾多次鼓励我,真的喜欢C的话,学C++。TC只能担负让你入门的任务了。学C++是势在必行的。那个时候,我没有条件学C++。再说,数据库的普遍使用,让小城市中,C显得很尴尬。这个东西是好,但,没地方能用着呢。我问我的老师,他已经是高级程序员了。我说我想沿着C的路走下去,您看行吗?他思考了一会,告诉我说,你如果C真的用的好了的话,在滕州真的能打开一片天地呢。

但我终于是处于X世代的人,后来终于选择了出门就能用到的数据库了! C,后来就成了我记忆中,最美好的片段了。现在也在研究BCB,但已经没有当时的那种激情。呵呵~~写下这篇文字,纪念我为C疯狂的岁月吧。我以后也可能会熟练的使用BCB呢,但,那是后话了。毕竟,在IT业主导的这个时代,在INTERNET成为主流的这个时代,在这个计算机飞速发展的时代,在我们出生就被定为X世代的时代,谁都不好说将来的路,对不对?

亲爱的朋友,您是否也有过学C的经历?我很希望您也也讲给我听呢。


 文章评论

第 1 楼  发表于 2009-12-19 16:38 | 何清松 的所有评论
我的毕业设计用C/SDK写的,去答辩的时候,被‘炮轰’了。

炮轰原因:“C/S构架的程序要有网络功能”,我的回答是:“套接字接口我还没开始学。”
“既然你的是单机版,那为什么报告书上要写C/S构架的呢,不是骗人吗!”我说:"回去我该就是了"

“登录菜单在哪?”,我说:“右键单击程序图标”。

“把登录,帮助文档,版权菜单放在这,那对用户来说太不友好了。”我说:“以为就只有3个选择菜单,我就把他们加进系统菜单里面去了。”

"...." "......."

回到寝室,要奔溃了。
想到又要改一些功能,心里很难受。

第 2 楼  发表于 2009-12-19 22:34 | Extreme 的所有评论
我是个中学生。小学的时候自学了VB,后因为种种原因换成了C。不容易啊!我现在还在写代码呢!可是不会SDK,只能写个DLL用VB调用。心酸啊!

共有评论 2 条, 显示 2 条。

当前页面是本站的 Google AMP 版本。
欲查看完整版本和发表评论请点击:完整版 »

 

程序员小辉 建站于 1997
Copyright © XiaoHui.com; 保留所有权利。