Examples and exercises from Practical C Programming (3rd Edition) by Steve Oualline