Примерно так:
C:
- K&R C
- C89 | ANSI C | ANSI X3.159-1989
- C99 | ISO/IEC 9899:1999
- C11 | ISO/IEC 9899:2011
C++:
- C++98 | ISO/IEC 14882:1998
- C++03 | ISO/IEC 14882:2003
- C++07/TR1 | ISO/IEC TR 19768:2007
- C++11 | ISO/IEC 14882:2011
- C++14 | ISO/IEC 14882:2014
- C++17
Еще в компиляторах бывают свои слабодокументированные расширения или, наоборот, неполная поддержка стандарта, специфичные для компилятора директивы препроцессора, а также встречаются языки содержащие С как подмножество со своими стандартами и еще много всего. Так что ответ в общем-то практически бесполезен.
Чтобы глубже понять ситуацию, я бы на вашем месте посмотрел на язык Forth
, в нем вообще из-за особенностей грамматики каждый пользователь создает свою собственную реализацию для решения нужной ему задачи.