c와 c++은 객체지향 여부의 차이 입니다.
c는 객체지향이 아니다보니 C++의 명령어를 인식 못하죠
C++은 C와 호환성을 유지하도록 만들어 졌기에 C의 명령어를 그대로 쓸수 있습니다.
하지만 C++은 완전한 객체지향 언어가 아닙니다. C의 강력한 정의(define, template) 명령어로 기교를 부린것이죠
C#은 완전한 객체지향 언어 입니다.
C언어를 배웠던 사람이 배우기 쉽게끔 C++언어를 모테로 한것이지
완전히 다른 언어 입니다. 어떤 관계가 있다고 생각할 필요 없습니다.
때문에 C, C++과 전혀 호환이 되지 않습니다.
printf, scanf, cout 같은 C/C++의 "근본없는" 명령어는 C#에 존재하지 않습니다.
C# 에서는 System.Console.Write("Hello"); 같이 시스템의 콘솔화면에 Hello를 써라 같은 형식의 " 근본 있는"명령어를 씁니다.