C Programming: A Self-Teaching Introduction