Source Code Formatting
atyle http://astyle.sourceforge.net/

Artistic Style can format C, C++, and Java source code. Since I like it's default format, I generally run the command
astyle *.{c,h,cc,java}
in a directory. This copies all the original files to *.orig and formats everything!

Use astyle -h for the help page and style options.

Source code printing
Source Code Documentation

Marc Mosko
http://www.cse.ucsc.edu/~mmosko
mmosko@cse.ucsc.edu