2008年7月29日星期二

bc

bc 是命令行下一个任意精度的计算器语言(可不是那个 bc 哦),包含有以下内容:
/usr/bin/bc
/usr/share/doc/bc/README
/usr/share/doc/bc/AUTHORS
/usr/share/doc/bc/copyright
/usr/share/doc/bc/examples/ckbook.b
/usr/share/doc/bc/examples/pi.b
/usr/share/doc/bc/examples/primes.b
/usr/share/doc/bc/examples/twins.b
/usr/share/doc/bc/changelog.gz
/usr/share/doc/bc/NEWS.gz
/usr/share/doc/bc/changelog.Debian.gz
/usr/share/menu/bc
/usr/share/man/man1
/usr/share/man/man1/bc.1.gz
结构非常的简单。既然说是一种语言,那么就对应有它的语法。bc 本身提供了一个交互式界面(-i 或者默认的情况),另外也允许把一些命令写入文件执行(作为命令参数)。Debian 带的 bc 是扩展之后的版本,如果希望使用 POSIX 标准下的 bc 可以用 -s,另外可以用 -l 读入数学库调用里面的函数。

bc 里面的数字有两个属性,一个是 length(表达该数字使用的位数),一个是 scale(该数字使用小数个数)。变量名命名规则和 C 语言类似,有几个重要的变量控制着 bc 的行为,比如 scale 表示输出的时候显示的小数点位数,ibase 和 obase 指定输入输出的进制(默认都是 10 进制),last 记录了上次计算结果。注释使用 /* 和 */ 对或者单行注释 #。使用的运算符和 C 类似,如四则运算、赋值、自增自减、逻辑运算等,另外控制结构比如 if、while、for、流程控制命令 break、continue、return 等也完全一致。

bc 提供了几个常用的表达,如 length()、scale() 求对应的长度、小数点后位数,read() 读入用户输入的数据,sqrt() 求平方根。print 和 printf 类似。halt 表示退出 bc。limits 显示系统的一些限制,quit 是退出 bc。另外 bc 允许自定义函数,格式是 define function-name( parameter list ) {},在函数体里面有 auto 定义的局部变量。函数可以为 void 类型,此时不返回值。

使用数学库,有正弦 s()、余弦 c()、反正切 a()、自然对数 l()、指数函数 e() 和 n 阶 Bessel 函数 j( n, x) 可以用。

没有评论: