With C you have to teach a whole bunch of syntax structures that are in many ways completely orthogonal to computer programming. You have to teach operator precedence, code blocks, assignments and pointers which are not triavial. For a beginner it is best to give them less syntactic baggage and some them the concepts. Once they get the concepts down, you can show them how to express it any language.
I used to teach Java programming, and the best year I gad was when I took three weeks to teach them Scheme first, all the way up to object construction(basically a summary of SICP to chapter 3). Then we were able to go very quickly into Java with these concepts. The kids then got to see Java not as a black box but the principles that make it work.
In the old days they used to teach Latin before they taught English grammar for many of the same reasons. The investment in time and effort pays back large dividends in the future.
I suggest that you try teaching C to ninth graders, and see if they grasp right away such a concept as a pointer in an easy manner. A good teacher doesn't throw the kids into the deep water right away but lets them walk about in the shallow end for awhile.