It tests if a student is able to follow a program's logic with rigor. It tests if you don't interpret the code but actually read it "as is".
Question#1 and Question#2 are less intelligent.
Also, no template test? Are you testing C with classes or C++ ? ;)
I think that's the problem with a lot of first time test (or interview) makers, they make their questions into trick/puzzle questions where they want the test taker to guess what the writer had in their mind.
--edited because I skimmed over the last question and assumed it was printing the values of the variables not the strings--