`
javatgo
  • 浏览: 1124346 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

老手是这样教新手编程的

阅读更多

周末, 轻松一下.

酷壳: http://collshell.cn/

本文来自: http://coolshell.cn/?p=2420

comp.lang.c全球最大的C语言新闻组,其Google的链接是:http://groups.google.com/group/comp.lang.c/ 可惜被GFW了。在comp.lang.c新闻组,有一个日本网友发了个贴子,说他正在学习一个在线的C语言课程,要完成一个作业,用程序输出如下的结果,而他的老师在美国,因为时差问题,他无法和他联系,所以只有上这里来寻求帮助。

    *
   ***
  *****
 *******
*********
*********
 *******
  *****
   ***
    *

很明显,在comp.lang.c上发这种贴子是一定会被拍的很惨的,这样的事,以前在SUN的论坛上也发生过,详情请看这里。还有一个去软件官网上要一个盗版序列号的。果不然后,我看到了这样的一个回贴。提供这样的一段代码:

01 #define M 002354l
02 #define A 000644l
03 #define G 000132l
04 #define I 000322l
05 #define C 000374l
06 #define a ;
07 #define b for
08 #define c ++
09 #define d %
10 #define e int
11 #define f ,
12 #define g -
13 #define h 011
14 #define i =
15 #define j {
16 #define k )
17 #define l '\n'
18 #define m main
19 #define n <
20 #define o }
21 #define p >
22 #define q &&
23 #define r (
24 #define s ||
25 #define t ?
26 #define u putchar
27 #define v void
28 #define w '*'
29 #define x :
30 #define y ' '
31 #define _ /
32 #define C_O_O_L return
33 e u r e k a
34 e
35 m r
36 v k j
37 j j j j
38 j j j j j
39 j j j j j j
40 j j j j j j j
41 j e z a b r z i
42 M _ A _ G _ I _ C
43 a z n G a u r z d h
44 + z _ h p M _ A q z d
45 h + z _ h n M _ G q z _
46 h n z d h + M _ I q z _ h
47 p z d h g M _ C t w x y k f
48 z d h g h + 1 s u r l k f z c
49 k a u r l k a j j j j j j j j j
50 j j C_O_O_L M _ A _ G _ I _ C a o
51 o o o o o o o o o o o o o o o o o o
52 o o o o
53 o o o o
54 o o o o
55 o o o o

这段程序是可以编译通过的,没有任何问题,而且还是可以得到正确的结果的。关于这样的程序,你可以参考本站的这篇文章《6个变态的C语言Hello World程序》,而另一篇文章教你如何搞乱你的C代码。呵呵。当然,你并不需要把在你的VC或是GCC下编译这段代码,现在什么都有在线了,编译器当然也在线了,这里是一篇关于在线编译器的文章,甚至一个在线的IDE(连这个网站的CTO都在本站留言了),上去编译一下你就可以看到结果了。

最后,不恶搞了,在comp.lang.c的这个贴子中看到了很多不错的“如何教新手编程”的观点,下面罗列一些:

1)你把你自认为最好程序贴出来,我会帮你看的,但我是不会帮你写的。

2)要解决这个问题,你需要先观察输出,然后找到其规律,算法总是去描述一些有规律的事情。关于你的这个程序,很明显,你可以分成两个部分,一个正三角,一个倒三角,每一行的星号都是连续的奇数,1,3,5,7,9,而前面的空格又是顺序的自然数:4,3,2,1,你看这样的规律用程序来干不是正合适吗?

从这两个例子,我们可以看到,老手应该如何去教新手,那就是,a)让其独立思考,b)步步为营的引导,c)教一种方法而不是直接给答案。希望与大家共勉。

(全文完)

分享到:
评论

相关推荐

    编程新手真言(不管新手还是老手都需要的教程)

    编程新手真言,不管新手还是老手都需要的教程.

    Visual C++编程高手(新手老手都适合)

    无论对于Visual C++新手还是老手,以及其他编程语言,比如VB、Delphi的程序员,都具有很好的参考价值。 如果你正在用Visual C++做开发,请一定要先浏览本书,也许你现在需要解决的问题,他人已帮助你解决,无需费时...

    PLC编程入门教程.ppt

    PLC编程入门教程 比较简单 特别适用于新手观看 学习。老手就不要浪费积分下载了,里面有的估计你们 也都会。

    编程规范和文档(适合新手和老手注意的地方)

    只有一页文档,但是无论是初学者还是资深编程者,可能这些都需要注意下,相信会有所收获吧。规范很重要。

    高质量C/C++编程指南

    如果你是编程老手,想变成编程高手,该资源非你莫属,不容错过;如果你是编程高手,想再提升,该资源不容错过那么;如果你既不是编程老手,又不是编程高手,而是新手,那你更加不容错过。

    visual c++ 编程技巧 精选

    vc++编程技巧 适合新手老手的学习 和巩固

    uclinux内核配置傻瓜教程

    uclinux内核配置与编程傻瓜教程 ,新手入门,老手入门.uclinux内核配置与编程傻瓜教程 ,新手入门,老手入门.

    Java编程中为了性能需做的26件事 (编程必看)

    Java编程中为了性能需做的26件事 (编程必看) 对于一个有2年以上工作经验的程序员,也未必能搞清楚java编程时性能的注意事项;所以建议新手老手必看;

    简明python教程+源代码

    简明python教程+源代码,英文原版名为...非常熟练编程的老手,深谙编程本质,换语言不过是换工具而已,通过简要地提点,其他诸多方面自然通晓,辅以浏览官方文档和《Python Cookbook》此类书籍,就和Python熟手无异。

    欧姆龙CP1H编程手册

    介绍欧姆龙CP1H可编程控制器的编程指令的应用,详细介绍个指令的基本知识和应用情况,老手和新手都适合使用。

    AJAX——新手快车道

    老手虽然会比新手学习得更快一些,但 是也同样会碰到麻烦,遇到障碍,感觉头痛。如果没有真正的专家的指导,我不 可能如此迅速地将AJAX掌握到目前这样的程度,要真是让我自学三个月,然 后就写出书来的话,那真是在...

    windows_socket编程实战

    windows_socket编程实 教程,绝对的推荐,适合新手,老手!

    linux下c编程实例

    linux下c编程实例 一共9章。从基础的c到tcp/ip,socket等各种实例。 100%能编译,能执行。不管是新手,还是老手。都是一本好的资料。

    Scala编程实战.zip

    此文档是讲解实战Scala,希望对喜欢大数据的同学有所帮助!!! 学习Scala语言,不仅仅意味着熟悉新的API,更重要的是...对于Scala新手来说这是一本不错的入门书,对于老手来说也是一本夯实基础,检视自己所学知识的好书。

    Shell高级编程(中文版)

    Shell高级编程(中文版) ...无论你是新手还是老手,或是使用其他 语言的程序员,我能肯定你能在此书用受益。而本书除了介绍 BASH 的知识之外,也有许多有用的关 于 Linux/UNIX 的知识和其他 shell 的介绍。

    VB_WinSock网络编程论文

    一篇关于VB Winsock网络编程的论文,老手勿下,新手可以看看,简单明了。

    给新手学习用游戏框架

    游戏框架源码,适合新手编程,老手参考 框架比较完整

    c语言嵌入式系统编程修炼之道.pdf

    经典的集嵌入式与C语言编程的好文章,适合新手和老手学习深造

    《scala编程实战》高清完整版

    学习Scala语言,不仅仅意味着熟悉新的API,更重要的是一种思维方式的转变。从原有的面向对象编程(OO)到函数式...对于Scala新手来说这是一本不错的入门书,对于老手来说也是一本夯实基础,检视自己所学知识的好书。

Global site tag (gtag.js) - Google Analytics