Мне кажется, я видел уже такой вопрос...
Дело в том, что C и C++ - это разные языки. По применимости.
С - язык системного программирования, язык на котором пишут консольные утилиты, служебные программы, собственно систему etc. Он весьма низкоуровневый, в том смысле, что при работе на нем нужно точно знать, что тебе нужно и как этого достичь. Он вполне позволяет выстрелить себе в ногу, особенно на работе с памятью.
С++ - язык прикладного программирования с классами, свистелками, пищалками и излучателями неприличных звуков :)