code for Programming Abstractions in C