这习题还真是江夏这小子出的。
国内刚开始有人学c语言的时候,磕磕绊绊的。这门语言是我们自己人捣鼓出来的不假,可捣鼓它的人一天到晚见不着影……
想请教问题?找不着人。
论坛上有人发帖抱怨:“某人又跑了。这个指向指针的指针,到底是个啥玩意儿?书上说‘指针变量存放的是地址,指向指针的指针存放的是指针变量的地址’。
看看,这一堆的指针,某个人到底是怎么写出来的?字我是背得滚瓜烂熟,可一写代码就懵。谁救救我,卡了三天了!”
底下跟了一串:“同卡”
“同卡”
“+1”。
当然也有天之聪慧一看就会的。
但那两个问题青年早就沉浸在自己的世界中无法自拔了,想让金珍和胖墩他俩干活没问题,可是让他们教人……
还是算了吧。
就像屏幕前的你一样,你也不会想着去和蚂蚁交流是吧。
后来还是云贵大师兄出来说了句公道话:“小师弟忙,咱们自己琢磨。琢磨不透的先放着,等他回来再问。”
“呸!你个搞doS的,核心是汇编语言,你是站着说话不腰疼!”
“搞doS怎么了?汇编怎么了?吃你家大米了?
汇编不也要一条一条指令背,一个一个寄存器记?c语言再难,它有汇编难吗?汇编你写错一个寄存器,程序跑飞了连个报错都没有,c语言至少还给你个段错误,让你知道死在哪了。”
(⊙o⊙)…,也对哈。最起码c语言有回馈,最起码找出错的地方能快点……
个屁啊!
那破指针指来指去的,很容易把人脑子绕成麻花好不?
虽然说多了都是泪,可该等还是要等。
可等着等着,问题越积越多。学语言这种事,卡住的地方不解决,后面的就学不下去。论坛上哀鸿遍野,眼看着就要偃旗息鼓了。
然后江夏出现了。不是回来答疑,是出了一套题。
“闲着也是闲着,做几道题练练手。”
第一道题:“用递归函数解决汉诺塔问题。如果有64个盘子,最少需要移动多少次?用递归怎么推导?”
第二道:“用指针实现动态内存分配。写一段代码,输入一个整数n,动态分配一个长度为n的数组,然后输入n个数,排序后输出。”
第三道:“判断回文字符串。写一个函数,判断一个字符串是否是回文(不考虑大小写和标点)。”
第四道、第五道、第六道……一口气出了十几道。
然后江夏把答案贴在后面,说了一句:“自己学去吧。”
论坛上安静了三天。三天之后,开始有人交作业。有人做出来了,有人卡在某一道题上,有人做完了又发现了新问题。
江夏偶尔回来看一眼,不直接给答案,只是在卡住的地方点一句:“指针的地址传递再想想。”
“递归的终止条件写对了吗?”
就这么一句一句地“点”,硬是把那帮人点明白了。
后来有人统计,江夏在论坛上出的题,前前后后加起来有上百道。从基础语法到数据结构,从算法分析到系统设计,一道一道,像铺石子路一样,把那条坑坑洼洼的路给铺平了。
为什么江夏这么熟悉c语言?
没办法,后世大学课程里,自动化这个专业,从大一开始就跟c语言绑死了。
c语言程序设计是必修课,数据结构要用c写,《单片机原理与应用》用c51,《嵌入式系统开发》还是c。
大二学《计算机控制技术》,pId算法用c实现;
大三学《数字信号处理》,滤波器用c仿真;
大四做毕业设计,随便哪个课题都少不了几行c代码。
四年下来,别的语言可能生疏了,c语言是刻进脑子里的东西。
江夏在后世读书那会儿,最烦的就是c语言课设。
课设要求搞个学生管理系统,他非要搞个步进电机pId调速的实时控制程序,结果指针满天飞,段错误调到凌晨三点,舍友都睡了他还在gdb。
(gdb是GNU debugger的缩写,GNU调试器。江夏在后世读书时遇到“段错误”,就是程序试图访问不该访问的内存地址,通常是野指针惹的祸。这种情况,就要靠gdb一行一行地排查,找到到底是哪个指针指向了错误的地方。
诶,说多了都是泪……gdb多了,真的会挂的。)
后来江夏总结出一条规律:c语言这东西,你越是怕指针,指针越是找你。你把它当朋友,天天写天天调,写到后来自然就熟了。
所以当他在论坛上看见那些学c语言的同志们卡在“指针的指针”上时,江夏太知道那种感觉了。
他出的那些题,一些是从后世教科书上抄的,一些则是把自己当年踩过的坑、熬过的夜、调过的bug,一道一道挖出来,让别人不用再踩一遍。
这种填鸭式的方式,后世搞学校相关工作的人看见了,大概摇摇头:“这不是培养机器吗?”
“理解了吗就做题?”
“学编程要靠兴趣,不能靠刷题。”
可那是后世。
现在的华国,学c语言的人,谁跟你谈兴趣?
他们只知道,这东西是国家需要的,是国防需要的,是搞出大黄三代、搞出大小姐的轿子以及天上的眼睛需要的。
没有兴趣班,没有课外读物,只有一个见不着影的“老师”,和一堆被扔在论坛上的题。
做题!
不会?
看答案。
看不懂?翻回去想。
想不通?继续做。
就这么一遍一遍地啃,一遍一遍地磨,把那些代码、那些算法、那些逻辑,硬生生刻进脑子里。
后来云贵大师兄在论坛跟江夏说:“你那套题,我做了三遍。第一遍做完,觉得会了。第二遍做完,觉得之前是瞎了。第三遍做完,觉得还能再学点新的。”
江夏一边感慨后世教材还是太权威了,一边回帖,就八个字:“多做几遍,自然就通了。”
现在,这些题被印成了书,装进木箱,漂洋过海,摆在了莱比锡书展的展台上。








