A small C-like language that turing machines can simulate
If your students have done any functional programming, the nicest approach I know is to start with the untyped lambda calculus, and then use the bracket abstraction theorem to translate it into SKI combinators. Then, you can use the $smn$ and $utm$ theorems to show that Turing machines form a partial combinatory algebra, and so can interpret the SKI combinators. 

I doubt this is the simplest possible approach, but I like how it rests  on some of the most fundamental theorems in computability (which you may well wish to cover for other reasons). 

It appears that Andrej Bauer answered a similar question on Mathoverflow a few months back.
If you are set on a C-like language, your path will be a lot rougher, since they have a rather complicated semantics -- you'll need to 


Show that Turing machines can simulate a stack and a heap at the same time, and 
Show how variables can be implemented with a stack, and
Show that procedure calls can be implemented with a stack. 


This is much of the contents of a compilers class, honestly.