汇编网首页登录博客注册
mess的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  人生没有彩排,每天都是直播!
  • 『姓名』:MESS
  • 『性别』:男『发送消息
  • 个人说明:求知之难,不在于战胜别人,而在于超越自己!
  • 详细信息『加为好友』
学习动态
友情链接

[2009-05-12 14:34] [转]C,曾经的程序员梦

到了第二年,大家也都能知道编程语言有好多种的,且各有千秋。而其中比较有前途(钱途?)的是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会更简单!只是当时已惘然耶。 记得我当时是把我常吃的冰淇淋的名字价格规格味道写了进去,呵呵~~老师一见之下,倍感难忘,尽管这并不是俺的初衷。我只是想管理一下我每天该吃什么样的冰淇淋而已……
评论次数(1)  |  浏览次数(1101)  |  类型(C语言) |  收藏此文  | 

[  游客   发表于  2010-07-26 16:23  ]

我学的是pascal

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码