C, C++, and C# are not necessarily similar. I have combined them into one tab because I have less experience with them than I do in the other programming languages I know.
C is a general-purpose procedural programming language. C was created in the 1970s by Dennis Ritchie at Bell Labs with the goal of creating utilities for a new version of Unix. While it is a high level language, C is designed to be compiled and provides low-level access to computer memory.
C++ is a general-purpose procedural and object-oriented programming language. It was created by Bjarne Stroustrup in the early 1980s at Bell Labs. C++ is considered an extension of C, to provide higher-level features like classes, inheritance, and references.
C# (pronounced C sharp) is also a general-purpose procedural and object-oriented programming language, but it is not a direct extension of C. C# was created by Anders Hejlsberg at Microsoft in 1999, with the intention of creating a language similar to C, but more object-oriented in nature. C# is much more abstracted than C and C++, and provides high-level assistance like garbage collection and compiler warnings.
Here is a handy comparison of the three languages from Upwork:
I learned rudimentary C in my Computer Architecture course at Duke University, where it was taught as a way to familiarize students with computer memory.
I learned C++ in a 2D Computer Graphics course at Duke, where I used it to efficiently manage pixel values and create graphics.
I learned C# as an intern at Nextech Systems, where it was used to support the Angular framework behind our company product (IntelleChartPRO, an electronic medical record system designed for ophthalmology practices).
Unfortunately my contracts prevent me from sharing samples of my past work in these languages, but I have a basic understanding of and can implement basic functions in C, C++, and C#.