Sure. But these are domain-spesific words. Knowing and recognizing them are different from knowing the language in general.
You may need to understand what printf, strstr, mutex, heap, CreateNode, while, string, for and a lot of stuff like that means.
But the fact that these are origined in english is almost completely unimportant, a non-programming english-native would not be able to tell what a "heap" or a "mutex" is in this context any better than a non-programming Indian or Norwegian or whatever.
When he -does- learn programming, he also learns the spesific meaning of the most common words, he learns more when he uses libraries etc. But here's the thing; this spesific meaning is so specialised that knowledge of what the word means in everyday english is almost completely irrelevant.
It's -not- much easier to learn what a "heap" is in programming-context if you're a native english-speaker than it is if you know no english at all.
Try asking your grandmother (assuming she is english native, and does no programming) what a "string" or a "heap" is. You'll get an answer, but not one that would help much in understanding a C-program.