C Programming Language and Software Design by Tim Bailey