Bc (UNIX)
標準では唯一の組み込み関数として sqrt() がある。他の関数は外部の標準ライブラリの形で提供される。
bcは伝統的に、後置記法(逆ポーランド記法)のdcというプログラムのフロントエンドプロセスとして実装されてきた。標準も、それに倣った実装を考慮して定義されているが、必ずそのように実装しなければならない、とはしていない。後述するGNU版ではbcとdcはそれぞれ別のプログラムとして実装されている。bcをdcと連携させる実装において、bcとdcのどちら側を親プロセスとするかは実装によって異なる。
言語要素には、1文字の変数名・配列名・関数名、ほとんどの標準的演算子、よくある制御構造としてC言語にあるもの(if文、whileループ、forループ)が備わっている。なお、C言語とは異なり、if文にはelse節がない。
関数の定義にはキーワード define を使い、関数の返す値は return の後の括弧内にその値を記述する。関数内で変数が局所変数であることを示すため、auto というキーワードを使って変数を宣言する(C言語ではオプション)。
全ての数と変数の中身は任意精度数であり、その精度(十進での桁数)は大域変数 scale で決まる。
対話型モードでの入力と出力やプログラム内の定数の底(基数)は、予約された変数 ibase (入力)と obase (出力)で指定できる。
計算結果を変数に格納しないと、そのまま出力として結果が表示される。 BASIC言語のような対話型での利用を想定されているため、文の終わりは改行(LF)が必要。セミコロン ; などをつけると文法エラーとなる。
コメントは、C言語と同様に /* と */ で囲む。
Plan 9版は標準とほぼ同じだが、print 文が追加されている。