¿Necesito aprender el lenguaje C primero para aprender C?
1) C no es un superconjunto de C. Tal vez se podría pensar de esta manera cuando nació, pero cuando ISO desarrolló el estándar para C en 1998, C y C eran dos lenguajes que no estaban muy relacionados, y C contenía un subconjunto que era igualmente compatible con C. lo más posible.
2) Si eliges un buen libro, incluso si no sabes nada sobre C, no hay absolutamente ninguna necesidad de aprender C antes de aprender C.
3) En cuanto a aprender C, es necesario conocer cierta compilación, sistemas operativos y estructuras de datos. No se trata de C y C, si tienes que aprenderlo, entonces también tienes que aprender PASCAL, JAVA, aprender cualquier cosa sobre programación. La estructura de datos es un curso obligatorio para la programación, pero los sistemas operativos y los principios de compilación solo pueden ser cursos optativos.