GNU Bc
GNU bc derives from the POSIX standard and includes many enhancements. It is entirely separate from dc-based implementations of the POSIX standard and is instead written in C. Nevertheless, it is fully backwards compatible as all POSIX bc programs will run unmodified as GNU bc programs.
GNU bc variables, arrays and function names may contain more than one character, some more operators have been included from C, and notably, an if clause may be followed by an else.
Output is achieved either by deliberately not assigning a result of a calculation to a variable (the POSIX way) or by using the added print statement.
Furthermore, a read statement allows the interactive input of a number into a running calculation.
In addition to C-style comments, a # character will cause everything after it until the next new-line to be ignored.
The value of the last calculation is always stored within the additional built-in last variable.
Read more about this topic: Bc Programming Language