B语言

来自Local Chinese Wikipedia
(重定向自B语言
跳转到导航 跳转到搜索

Template:NoteTA

页面Module:Infobox/styles.css没有内容。

B语言
脚本错误:没有“InfoboxImage”这个模块。
脚本错误:没有“InfoboxImage”这个模块。
设计者肯·汤普森
实作者肯·汤普森丹尼斯·利奇
发行时间1969年,​脚本错误:没有“TimeAgo”这个模块。​(1969[1]
当前版本Template:Software version
型态系统无类型(所有东西都是
文件扩展名.b
网站Template:Official url
受影响于
BCPL, PL/I, Template:Le
影响语言
C语言

脚本错误:没有“Check for unknown parameters”这个模块。

B语言是一种通用的程序设计语言,大约于1969年时,由美国贝尔实验室电脑科学家肯·汤普森丹尼斯·利奇的支持下设计。

肯·汤普森最初想在UNIX上开发一个Fortran编译器,但后来引进了BCPL的风格,形成一个新语言即B语言。后来,丹尼斯·利奇以B语言为基础开发出C语言,自从C语言渐渐发展成为目前世界上最常用的程式语言之一之后,B语言几乎已遭弃置。

例子[编辑]

下面是肯·汤普森在《B用户参考》中提供的源代码[2]

/* The following function will print a non-negative number, n, to
   the base b, where 2<=b<=10.  This routine uses the fact that
   in the ASCII character set, the digits 0 to 9 have sequential
   code values.  */

printn(n, b) {
    extrn putchar;
    auto a;
    /* Wikipedia note: auto declares a variable with automatic
       storage (lifetime is function scope), not "automatic typing"
       as in C++11. */

    if (a = n / b) /* assignment, not test for equality */
        printn(a, b); /* recursive */
    putchar(n % b + '0');
}
/* The following program will calculate the constant e-2 to about
   4000 decimal digits, and print it 50 characters to the line in
   groups of 5 characters.  The method is simple output conversion
   of the expansion
     1/2! + 1/3! + ... = .111....
   where the bases of the digits are 2, 3, 4, . . . */

main() {
    extrn putchar, n, v;
    auto i, c, col, a;

    i = col = 0;
    while(i<n)
        v[i++] = 1;
    while(col<2*n) {
        a = n+1 ;
        c = i = 0;
        while (i<n) {
            c =+ v[i] *10;
            v[i++]  = c%a;
            c =/ a--;
        }
        putchar(c+'0');
        if(!(++col%5))
            putchar(col%50?' ': '*n');
    }
    putchar('*n*n');
}
v[2000];
n 2000;

参见[编辑]

引用[编辑]

  1. 脚本错误:没有“citation/CS1”这个模块。
  2. 脚本错误:没有“citation/CS1”这个模块。

外部链接[编辑]

package.lua第80行Lua错误:module 'Module:Arguments' not found Template:肯·汤普逊navbox