歷史介紹
B語言是從BCPL系統中刪減了湯姆森認為非必備的組件以便能運行在當時的小型計算機上而產生的。B語言還包括了湯姆森的一些個人偏好(主要在一些特定的程式中減少非空格字元的數量)。
和BCPL以及FORTH類似,B語言只有一種數據類型,計算機字。大部分操作將其作為整數對待(例如進行+、-、*、/操作),但其餘操作將其作為一個復引用的記憶體地址。在許多方面B語言更像是一個早期版本的C語言,它還包括了一些庫函式,其作用類似於C語言中的標準輸入/輸出函式館。
相關示例
下面是來自Ken Thompson的B語言用戶手冊的例子:
/* 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 ANSCII character set, the digits 0 to 9 have sequential
code values. */
printn(n,b) {
extrn putchar;
auto a;
if(a=n/b) /* assignment, not test for equality */
printn(a, b); /* recursive */
putchar(n%b + '0');
}