Well...I think C and C++ might be too hard for beginners, I think C# is a better coice because it combines syntax that is really similar to C with a few high level and concepts, basically it's a better mix between C and Java, the only problems are the forced object-orientation and the - compared to C/C++ - bad performance, but both should not be that big of a concern for a beginner.