`

Ken Thompson 的经典 C 程序

 
阅读更多

转自<http://www.cnblogs.com/coderzh/archive/2008/05/13/1194426.html>

 自我复制的程序!

 char s[]={
'\t',
'0',
'\n',
'}',
';',
'\n',
'\n',
'm',
'a',
'i',
'n',
'(',
')',
'\n',
'{',
'\n',
'\t',
'i',
'n',
't',
' ',
'i',
';',
'\n',
'\n',
'\t',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'c',
'h',
'a',
'r',
' ',
's',
'[',
']',
'=',
'{',
'\\',
'n',
'"',
')',
';',
'\n',
'\t',
'f',
'o',
'r',
'(',
'i',
'=',
'0',
';',
' ',
's',
'[',
'i',
']',
';',
' ',
'i',
'+',
'+',
')',
'\n',
'\t',
'\t',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'\\',
't',
'%',
'd',
',',
'\\',
'n',
'"',
',',
's',
'[',
'i',
']',
')',
';',
'\n',
'\t',
'p',
'r',
'i',
'n',
't',
'f',
'(',
'"',
'%',
's',
'"',
',',
's',
')',
';',
'\n',
'}',
'\n',
0
};

main()
{
int i;

printf("char s[]={\n");
for(i=0; s[i]; i++)
printf("\t%d,\n",s[i]);
printf("%s",s);
}


============输出结果===============

char s[]={
9,
48,
10,
125,
59,
10,
10,
109,
97,
105,
110,
40,
41,
10,
123,
10,
9,
105,
110,
116,
32,
105,
59,
10,
10,
9,
112,
114,
105,
110,
116,
102,
40,
34,
99,
104,
97,
114,
32,
115,
91,
93,
61,
123,
92,
110,
34,
41,
59,
10,
9,
102,
111,
114,
40,
105,
61,
48,
59,
32,
115,
91,
105,
93,
59,
32,
105,
43,
43,
41,
10,
9,
9,
112,
114,
105,
110,
116,
102,
40,
34,
92,
116,
37,
100,
44,
92,
110,
34,
44,
115,
91,
105,
93,
41,
59,
10,
9,
112,
114,
105,
110,
116,
102,
40,
34,
37,
115,
34,
44,
115,
41,
59,
10,
125,
10,
0
};

main()
{
int i;

printf("char s[]={\n");
for(i=0; s[i]; i++)
printf("\t%d,\n",s[i]);
printf("%s",s);
} 

 

分享到:
评论

相关推荐

    C语言程序设计word文档

    70年代,美国AT&T公司贝尔实验室的Ken Thompson 和Richards为编写UNIX而设计。1988年美国国家标准协会ANSI制定标准ANSI C语言标准,各种版本的C都必须与之兼容。 C语言本身的特点 ● 表达能力强。丰富的数据类型和...

    C语言程序设计课件 c语言 程序设计 课件

    C语言的发展历史 产生背景 产生过程 时间:1972~1973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C语言的标准与版本 由ANSI从1983年制定的ANSI C 多种版本

    C语言程序设计经典教程

    Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。 随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种...

    C程序设计语言 北航软件所 晏海华编写

    1983年,在ACM图林奖颁奖大会上,杰出的计算机科学家、UNIX的鼻祖、C语言的创始人之一,图林大奖得主:Ken Thompson 上台的第一句话便是:“我是一个程序员,在我的1040表(美国报税表)上,我自豪地写上了我的职业...

    c语言程序宝典 C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统

    Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。 随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准, 使得这些C 语言之间出现了一些不一致的地方。为了改变这种...

    学习C语言,并且运用C语言编写程序.zip

    C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。 1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

    C语言代码程序编写处.zip

    C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。 1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

    C程序设计语言(Kernighan_Ritchie_Language_C)

    Kernighan和Ritchie是指Brian w.Kernighan和Dennis M.Ritchie两人,他们是《C程序设计语言(The...从某种意义上来讲,C是以Ken Thompson于1970年所写的程序设计语言和Martin Richards于1969年所写的BCPL语言为模型的。

    The C Programming Language 2E; C程序设计语言 英文文字版

    Thompson两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们两人还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie于1983...

    C语言网络笔记.pdf

    在 1970 年,AT&T 贝尔实验室的 Ken Thompson 根据 BCPL 语言 设计出较先进的并取名为B 的语言,最后导致了C语言的问世。 随着微型计算机的日益普及,出现了许多 C 语言版本。由于没有统一的标准,使得这 些 C 语言...

    Turbo C2.0

    使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo 2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。   基本配置要求  Turbo C 2.0可运行于...

    C程序设计语言(第2版·新版)1

    我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。 『作者介绍』 作者:Brian W.Kernighan Brian W.Kernighan 贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX...

    C++经典教程 chm格式

    C 是贝尔实验室的Dennis Ritchie在 1972 设计的, 当时, 他正和Ken Thompson合作设计 UNIX 操作系统。C 语言并不是从 Ritchie 的脑袋中产生的。C 是从 Thompson 开发的 B 语言中产生的。请看右图: 返回页首 ---...

    C语言课件(PPT版本)

    设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著《The C Programming Language》 ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C 1.2 C语言特点 语言简洁、紧凑、灵活 运算符和...

    计算机C语言基础教程课件

    设计人: Ken.Thompson和Dennis.M.Ritchie C语言特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 C标准 标准C: K&R合著《The C Programming Language》 ...

    go语言圣经 .pdf

    汤姆逊(Ken Thompson):图灵奖得主,Uinx发明人,B语言作者(C语言前身),还做飞行员,后来被谷歌挖走。  罗布.派克(Rob Pike):Unix团队和Plan 9操作系统计划的成员,与Ken老爷子共事多年,并共创出广泛使用的UTF-8...

    C语言与JAVA的区别是什么(推荐)

    1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下...

    go手册,Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能

    罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。 Go是基于Inferno操作系统所开发的。Go于2009年11月...

    shell编程.pptx

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。...Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

    shell命令常用shell命令

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。...Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

Global site tag (gtag.js) - Google Analytics