C语言剖解(01)
真正登上三尺讲堂的时间,其实远早于公开课的时间。我想使自己的讲课风格别具一格,又能提起学生的兴趣。如果老师讲的死气沉沉,学生在下面听的只能是昏昏欲睡。
我首先会告诉他们优秀的程序员是怎么炼成的。我从来不认为是老师的功劳,其实完全是学生自觉学习,自己炼出来的。老师的目的仅仅是上课讲的东西能让学生听懂,能引导学生去练习,要不怎么说:“师傅领进门,自修在个人”呢?
讲C也是一样,因此,我讲C,我第一堂课一定会告诉学生:“你们学好了,不是我教出来的,是你们自己练出来的,我的作用仅仅是引导;而你如果学不好,那很可能是我的错,是我没把你引导好。”
曾记得一个铁道部发言人如是说:不管你信不信,反正我信。这句话被大家拿来调侃的版本相当相当的多。我这里编撰一个自己的版本。
一个学生过来找老师
“老师,我跟着你能学好C语言么?”
“能,一定能,只要你跟着我!”
“你确信?”
“当然我确信,我非常确信这一点。”
“可我怎么相信这些呢?”
“不管你信还是不信,反正我信!”
看着老师如此自信,这个学生就听了这个老师的。
后来:
“老师,你不是说我跟着你能学好C语言么?”
“是呀,肯定没问题呀”
“可我现在没学好,我发现和没跟你学之前一个样!”
“真的么?你确信?”
“我确信。”
“哦,这是一个奇迹。”
而我不想让这个奇迹发生在我身上,至少是尽可能的不让发生在我身上,因此,我必须负责人的告诉学生,你们才是真正的C语言的主宰。
怎么把C语言课艺术般的讲解出来呢?我想我应该做到三点。
1、让学生佩服你。
2、你让学生佩服。
3、学生真的佩服你。
如果能做到这三点,那你就完成了C语言的讲课艺术。
记得我刚学C语言的时候,从网上看到了很多关于鄙视谭浩强的那本书的文章,因此,对谭浩强的C是倍加鄙视。但随着时间的推移,我开始客观的评判这本书了,尽管这本书的编码风格让我所不齿,但其基础知识的讲解,课后作业的设计,还是相当有水平的。因此,我讲C,也让学生以这本书为主,但坚决抛弃掉这本书的编程风格。
我开始讲课了,我双击鼠标,打开VC++,但我不直接教学生怎么创建一个工程,我首先问学生:“这是什么玩意儿?”。大多学生会愣在那里,有几个个别的会这样回答“编译器”。这当然是个错误的答案,我沾沾自喜于这个发问,并不是我想炫耀自己有多能耐,实在是为了让学生搞懂这个玩意到底是什么。我记得我一个同学,学习非常好,大学毕业之后,就留校当了一个老师,有一天,他在QQ上和我说话:
“你用什么语言开发项目?”
“C/C++”
“鄙视你!我早就不用了。”
“那你用什么?”
“我用VC++6.0,听过没?”
于是我好一番感慨,还没等我感慨玩。他又说话了。
“你看我出的这些考题咋样?难吧?”
我看他发过来的考题,晕,简单的跟1+1=2差不多,但礼貌的我还是这么回了话:“呵呵,不难呀,这都是C++语言的基础题。”
“这不是C++,这是VC++语言题。”
“!@#¥%……&*(”
至此,我开始鄙视一部分大学老师了,甚至将我学不好的原因开始归为老师了。
因此,我一定要不让我的学生说出这么可笑的话,从开始就杜绝。
于是,我会问回答‘编译器’的同学。
“哟呵,懂得不少呀,还知道编译器。”,学生以为我夸他回答正确呢,还没来得及品味被表扬的果实,我就有继续发问了
“这是编译器么?那这是什么?”
我熟练的打开开始菜单,然后在【运行】里面输入‘cmd’回车,然后又输入一个‘cl.exe’。显示出如下一个屏幕:
图01:
这下他不吭声了。
“不知道了吧!英语四级没过吧,里面的英文看不懂吧。”,我调侃着,然后新建一个hello.txt的文本文件,在里面写了如下程序。
#include<stdio.h>
int main(void)
{
printf(“hello world!\n”);
return0;
}
我把 “hello.txt”改为“hello.c”,然后在我刚打开的窗口里面输入:
cl hello.c,结果出现了如下情况:
图02:
学生看了一下屏幕,有人开始反应,“这是编译器”。
“对,这才是编译器!”,说完,我输入hello.exe,然后回车,程序打印出了hello world!。屏显如下:
图03:
学生开始感叹于这个神奇的一刻了,而我也会藉此稍微解释一下cl,并告诉大家,cl正是VC++的一小部分,负责编译和链接并生成执行程序。我会告诉他们,类似如gcc,g++,都是编译器,甚至,我兴趣来时,会在windows机器上装一个gcc,然后也演示一下。
学生开始佩服我的博学了,我藉此才引出,VC++是什么,它是IDE,即“集成开发环境”,它是集:编辑、编译、链接、调试、运行、部署于一体的集成开发环境。为了更丰富我的讲课内容,我会拉出Edit命令来进行说明,说明一下什么是编辑器,然后我才开始建一个c语言工程。