C语言那点事儿~
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~
“好吧,我举个例子。比如说我们班要去泰山旅游。要完成这件事,以面向过程的思维方式来考虑,那就是这样:整个事情大致分为计划、往程、游览、返程这么几个阶段。每个阶段再细分。计划的过程要首先执行,先制定时间计划,然后预定好车票、旅店,再规划每天的具体行程,游览路线等等。然后,行程中,根据车票的座位位置,以及参加的人员来决定是斗地主还是打升级,或是玩手机、睡觉之类的活动。到达之后开始游览,游览过程中要注意门票价格,珍爱生命远离黄牛之类的。”
“恩,我能想到的,差不多也是这么个流程。”图笨笨说。
“但是”,麦塔金继续道,“如果是面向对象的思维方式,就是这样了:首先,参与人员根据各人的喜好特长和性格特点等,分为时间组、会计组、人文组、社会组。时间组人员负责提醒其他各组人员必要的时间点。如何时该买票,何时集合,何时上车,何时住宿,何时游览等等。会计组负责管理整个团队的花销,当时间组提醒,到达订票时间点时,由会计组负责统计人数,计算价格,收钱、订票。诸如此类的工作。人文组负责了解游览目的地的风土民情,历史背景。哪个景点应该多转转,哪个景点应该走马观花,当地有啥有特色的小吃应该尝尝等等。当时间组提醒到达晚饭/早饭/午饭时间时,人文组触发‘率领大家觅食’动作。到达预定地点后,触发‘吃饭’动作。当‘吃饭’行为结束后,由社会组触发‘砍价’动作。当‘砍价’行为发生时,人文组负责做必要的辅助和提醒(别砍太过了),当‘砍价’动作结束后,触发会计组的‘结账’动作。当到达景区时,触发会计组的‘买票’行为。如果此时发生‘没票’,‘黄牛’等异常,由社会组负责进行‘tjjtds’处理”
听到这李那厮替麦塔金问“听明白了么?”
“不明觉厉……”
“我就知道你是这句!”
“恩,我能想到的,差不多也是这么个流程。”图笨笨说。
“但是”,麦塔金继续道,“如果是面向对象的思维方式,就是这样了:首先,参与人员根据各人的喜好特长和性格特点等,分为时间组、会计组、人文组、社会组。时间组人员负责提醒其他各组人员必要的时间点。如何时该买票,何时集合,何时上车,何时住宿,何时游览等等。会计组负责管理整个团队的花销,当时间组提醒,到达订票时间点时,由会计组负责统计人数,计算价格,收钱、订票。诸如此类的工作。人文组负责了解游览目的地的风土民情,历史背景。哪个景点应该多转转,哪个景点应该走马观花,当地有啥有特色的小吃应该尝尝等等。当时间组提醒到达晚饭/早饭/午饭时间时,人文组触发‘率领大家觅食’动作。到达预定地点后,触发‘吃饭’动作。当‘吃饭’行为结束后,由社会组触发‘砍价’动作。当‘砍价’行为发生时,人文组负责做必要的辅助和提醒(别砍太过了),当‘砍价’动作结束后,触发会计组的‘结账’动作。当到达景区时,触发会计组的‘买票’行为。如果此时发生‘没票’,‘黄牛’等异常,由社会组负责进行‘tjjtds’处理”
听到这李那厮替麦塔金问“听明白了么?”
“不明觉厉……”
“我就知道你是这句!”
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~
还没等图笨笨搞明白面向对象跟面向老丈人的关系,老师已经来到了教室,并翻开课本开始念书了。
一分钟后,喧嚣渐远
两分钟后,一片沉寂
三分钟后,万籁俱静
五分钟后,鼾声四起……
图笨笨挣扎在睡与不睡的生死线上,强撑着两只眼皮问李那厮:“MOV到底是干什么的呀……”李那斯也是意识模糊,胡乱说了句:“往……寄存器……恩,数据……”就倒下了。
当图笨笨再次睁开眼睛时,朦胧中看到一个甜美的女生,正在向他微笑,伸过一只纤纤玉手推了推他,对他说:“同学,同学,我们要上课了,你回寝室睡吧。哦,还有,你口水流桌子上了,麻烦你走的时候擦擦。”
(不知道该如何往下写了……)
一分钟后,喧嚣渐远
两分钟后,一片沉寂
三分钟后,万籁俱静
五分钟后,鼾声四起……
图笨笨挣扎在睡与不睡的生死线上,强撑着两只眼皮问李那厮:“MOV到底是干什么的呀……”李那斯也是意识模糊,胡乱说了句:“往……寄存器……恩,数据……”就倒下了。
当图笨笨再次睁开眼睛时,朦胧中看到一个甜美的女生,正在向他微笑,伸过一只纤纤玉手推了推他,对他说:“同学,同学,我们要上课了,你回寝室睡吧。哦,还有,你口水流桌子上了,麻烦你走的时候擦擦。”
(不知道该如何往下写了……)
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- wangchaoran
- 帖子: 764
- 注册时间: 2011-11-18 21:41
- 系统: kubuntu 13.4 amd64
- 来自: China
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
- wangchaoran
- 帖子: 764
- 注册时间: 2011-11-18 21:41
- 系统: kubuntu 13.4 amd64
- 来自: China
Re: C语言那点事儿~
C与汇编语言的“亲缘关系”至少比basic与C的“亲缘关系”近吧,C源代码汇编后不就成汇编代码了么?反正都扯到MOV了,下边再扯上汇编语言吧,或者扯扯C与汇编语言的关系,C的历史,汇编语言的历史,etc。 

代码: 全选
The best way to predict the future is to invent it.
-
- 帖子: 447
- 注册时间: 2008-06-23 19:31
- 系统: debian+fedora+win10
Re: C语言那点事儿~
歪的妙JiangHui 写了:最终她嫌弃他没有房,离他而去傍了大款当了小三。
他对爱情心灰意冷,将精力全部投入到了学习与工作之中,进了大公司从事软件开发。
也许这就是报应吧,上天连一丝幸福也不肯多给她,大款的原配发现了他们的奸情,雇人用硫酸去毁她的容。
他每天加班加到深夜两点,希望以充实的生活冲淡对她的思念。
她捂住脸,躺在地上不知所措。
他拖着疲惫的身躯走在回廉租房的路上,耳畔传来救护车的鸣叫。
悔恨的泪水从她的绷带上渗出。
他的脑海中浮现的依旧是青春美丽的她。
她郁郁而终。
他过劳死。
大团圆结局,可喜可贺可口可乐。
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~
离开了教室,图笨笨独自走向图书馆。带着课堂上满脑子的怀疑与迷惑,他要去找寻真理。汇编,到底是一种什么样的语言呢?
为什么所有语言最终都避免不了转换成汇编的命运?
C语言是怎么被变成汇编的呢?
图笨笨静静的坐了下来,开始了他那汇编之旅。
其实说起来无比牛逼,在计算机中无比重要的CPU这个东西,其实它能够做的事情少的可怜。在最初的8086时代,CPU能够做的事情只有这么3个:算个加减法或逻辑运算、把数据放到指定的内存里、从指定的内存里取数据。除了这三件事以外,它什么也干不了。现在的CPU虽然比那时强大了很多,但本质上能做的事情也没多多少。进一步精简一下,我们就总结出了CPU的两大功能:计算数据和倒腾数据。
那么既然CPU就这么点能耐,要想操作它还是很简单的。人类们一开始就是根据CPU的能力设计出对应的指令。比如想让他算加法(属于计算数据功能中得子功能),就是用add指令;想让他把算好的数据放入指定的寄存器,就是用mov指令;想把数据打印在打印机上,就用mov或load等指令把数据写入特定的地址,剩下的事情就是打印机这个硬件的任务了。(后两项工作是倒腾数据的典型)
但是随着计算机的能力越来越强,人类已经不满足于拿这种重达好几吨(当时)价值几千万(当时)的设备当计算器(现在的)用了。要想让电脑去做些复杂的事情,光靠写汇编指令,就会比较累了。比如要写个中国象棋,光是想让屏幕上能显示出“中国象棋”这四个字,就要n多条mov,load,add之类的指令。(那年代在屏幕上绘图大约只有描点法可用)当然,即使这样,依然有牛人用汇编语言改造着当时的计算机世界。最初的Unix系统,就是用汇编写的,然而写完了之后,大牛们面对自己写的代码依然是一头雾水,汇编代码一旦写完了再回过头来看,真跟天书一样啊。于是,才有了C语言的诞生。
为什么所有语言最终都避免不了转换成汇编的命运?
C语言是怎么被变成汇编的呢?
图笨笨静静的坐了下来,开始了他那汇编之旅。
其实说起来无比牛逼,在计算机中无比重要的CPU这个东西,其实它能够做的事情少的可怜。在最初的8086时代,CPU能够做的事情只有这么3个:算个加减法或逻辑运算、把数据放到指定的内存里、从指定的内存里取数据。除了这三件事以外,它什么也干不了。现在的CPU虽然比那时强大了很多,但本质上能做的事情也没多多少。进一步精简一下,我们就总结出了CPU的两大功能:计算数据和倒腾数据。
那么既然CPU就这么点能耐,要想操作它还是很简单的。人类们一开始就是根据CPU的能力设计出对应的指令。比如想让他算加法(属于计算数据功能中得子功能),就是用add指令;想让他把算好的数据放入指定的寄存器,就是用mov指令;想把数据打印在打印机上,就用mov或load等指令把数据写入特定的地址,剩下的事情就是打印机这个硬件的任务了。(后两项工作是倒腾数据的典型)
但是随着计算机的能力越来越强,人类已经不满足于拿这种重达好几吨(当时)价值几千万(当时)的设备当计算器(现在的)用了。要想让电脑去做些复杂的事情,光靠写汇编指令,就会比较累了。比如要写个中国象棋,光是想让屏幕上能显示出“中国象棋”这四个字,就要n多条mov,load,add之类的指令。(那年代在屏幕上绘图大约只有描点法可用)当然,即使这样,依然有牛人用汇编语言改造着当时的计算机世界。最初的Unix系统,就是用汇编写的,然而写完了之后,大牛们面对自己写的代码依然是一头雾水,汇编代码一旦写完了再回过头来看,真跟天书一样啊。于是,才有了C语言的诞生。
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- 广岛天气
- 帖子: 58
- 注册时间: 2011-11-09 17:30
Re: C语言那点事儿~
讲得真好,mark一下
期待蜗牛下文
期待蜗牛下文
告诉你一个背单词练阅读的好地方啊,你上扇贝网看看,每次背完单词都可以打卡记录,像上班一样,还会奖励积分,督促自己每天学。你还可以加入各个小组,和志同道合的网友们一同背单词,互相激励。 http://shanbay.com/referral/ref/19ab5/
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~


虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
-
- 帖子: 1
- 注册时间: 2014-01-02 20:05
- 系统: ubuntu
Re: C语言那点事儿~
心中常看的圆满,自无缺陷之世界。
。。。。。大学毕业了,要找工作了,才知道自己什么也不会啊,爱,急,急,啊。。。
。。。。。大学毕业了,要找工作了,才知道自己什么也不会啊,爱,急,急,啊。。。
-
- 帖子: 333
- 注册时间: 2013-12-23 13:42
Re: C语言那点事儿~
要写书了?
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~
懒蜗牛右手握着第3个纸团,眼睛盯着不远处的那个奇怪的垃圾桶。那是一个圆形塑料垃圾桶,上面有个盖子。比较奇特的是,垃圾桶下面被装上了轮子,桶身上还用胶条绑着一块电路板,上面全是花花绿绿的电线,以及各种芯片和奇怪的设备,并且还有一根天线。凝视了一小会之后,懒蜗牛似乎下定了决心,右手轻抛,那个纸团轻轻飞出,差不多在纸团运行到抛物线的最高点的时候,那个垃圾桶忽然颤动了一下,接着底下的轮子转起来,整个桶身转向纸团飞来的方向,打开桶盖,可那纸团似乎力度不够,眼看就要掉落在桶前面10厘米左右的位置,垃圾桶一见大事不妙,8轮飞转向前移动了20厘米,成功的用盖子把那个纸团扣进了桶里。这时候,只听旁边的电脑发出一声清脆的“叮咚”声,屏幕上打印出了一行字:“Yeah!I did it!”
懒蜗牛赶紧跑到电脑旁边,刚刚坐下,还没有碰键盘和鼠标,电脑似乎知道他来了一样,屏幕底部升起一个输入框,并且切换好了懒蜗牛最常用的输入法。懒蜗牛对这个已经是习以为常,立刻开始在键盘上输入起来:“这次算的很好”
回车之后,电脑上滚动出一句答复:“谢谢 主人”
懒蜗牛继续输入:“修改了雷达模块的捕捉算法么?”
那台电脑回答:“不, 加快 轮子 的速度”
“那两台电机不是步进电机啊,怎么调整速度的?”
“修改 电源模块。提供 电机 电压 由 3.5v 到 4.1v。”
“靠,不行啊,你这是作弊!你是让电机超负荷运转,会影响使用寿命的。”
“我 搜索 这个型号电机 资料。线圈 使用漆包线 种类 足以承受18%的 超负荷带来的 热量增加 并且 高转速带来的 额外磨损 导致 电机主轴寿命70年 减少到 50年。考虑主人 50年后 还在玩这个电机的概率 经过计算 基本为0 所以 结论 可以使用此方法。”
懒蜗牛正不知道跟这台自作主张的电脑说什么好,屏幕上又蹦出一行字:“有一条新的任务”。懒蜗牛通过键盘下达命令:查看。随后屏幕上列出了一个段任务描述:
看完任务的描述以后,懒蜗牛问(当然是用键盘):“你能自己搞定么?”屏幕上打出三个字:“小意思”
懒蜗牛赶紧跑到电脑旁边,刚刚坐下,还没有碰键盘和鼠标,电脑似乎知道他来了一样,屏幕底部升起一个输入框,并且切换好了懒蜗牛最常用的输入法。懒蜗牛对这个已经是习以为常,立刻开始在键盘上输入起来:“这次算的很好”
回车之后,电脑上滚动出一句答复:“谢谢 主人”
懒蜗牛继续输入:“修改了雷达模块的捕捉算法么?”
那台电脑回答:“不, 加快 轮子 的速度”
“那两台电机不是步进电机啊,怎么调整速度的?”
“修改 电源模块。提供 电机 电压 由 3.5v 到 4.1v。”
“靠,不行啊,你这是作弊!你是让电机超负荷运转,会影响使用寿命的。”
“我 搜索 这个型号电机 资料。线圈 使用漆包线 种类 足以承受18%的 超负荷带来的 热量增加 并且 高转速带来的 额外磨损 导致 电机主轴寿命70年 减少到 50年。考虑主人 50年后 还在玩这个电机的概率 经过计算 基本为0 所以 结论 可以使用此方法。”
懒蜗牛正不知道跟这台自作主张的电脑说什么好,屏幕上又蹦出一行字:“有一条新的任务”。懒蜗牛通过键盘下达命令:查看。随后屏幕上列出了一个段任务描述:
代码: 全选
任务编号:298361739
请求人:takumar
任务描述:我的电脑C盘分的太小了,只有20G,装了Win7以后觉得不够用,能不能帮我把D盘的空间分一部分给C盘。现在D盘有500G,用了320多。我想分个100G给C盘。我已经建好了有权限的远程用户
远程用户名:bentutu_help_me
远程用户密码:12345678
任务悬赏:5¥
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事
- 月下叹逍遥
- 论坛版主
- 帖子: 33994
- 注册时间: 2010-10-07 14:23
- 系统: Archdows10
- 来自: 某系某星某洲某国某省某市
- 联系:
- 懒蜗牛Gentoo
- 论坛版主
- 帖子: 7362
- 注册时间: 2007-03-02 17:36
- 系统: Linux Mint
Re: C语言那点事儿~

在如此恶劣的生存环境下,要码字简直是~ 一把辛酸泪啊

虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
10.04新手入门——笨兔兔讲述自己的故事