How can I learn C ++ Windows programming

C learn to program

C is a procedural and imperative programming language that has influenced many other popular languages ​​such as PHP, Perl, and Java. The programming language was developed in 1972 by an American programmer named Dennis Ritchie. The name "C" is derived from the previous versions A and B. C is primarily used for programming applications and systems. The basic programs of all systems based on Unix, and many other operating system kernels, were programmed in C.

Many other programming languages, such as PHP, Java, JavaScript and Perl, are based on both the properties and the syntax of C. If you want to learn to program C, you will definitely choose one of the best and most popular programming languages.

Table of Contents

Why should I study C?

Solid basis, proven and versatile

Although C is one of the oldest programming languages, it is still one of the most popular programming languages ​​today. If you want to learn programming, C is definitely recommended. Many newer languages ​​are based on C. Thus, once you have mastered C, you can learn many other programming languages ​​more easily and, above all, understand them better. Almost all hardware-related programming is done in C. The programming language is so popular because you benefit from enormous freedom when programming and are not restricted by any editors.

Programming languages ​​based on C are for example:

  • PHP for web development
  • Perl for web and Linux development
  • C ++ for software development
  • C # for system and software development
  • Java for software development
  • JavaScript for web development

Extremely widespread

The C programming language is available to you on almost every computer system, because it has been standardized several times under C99, C11, C89 and C90: The main area of ​​application of the programming language is in the creation of operating systems, in system programming and in the development of embedded systems.

Relatively slim

Writing programs with C is possible with far less code compared to other programming languages. This makes execution faster and uses fewer resources. In addition, the written programs can easily be imported to other systems. C has a comparatively small range of languages. The smallest C compiler can compile itself and consists of just 3,742 bytes of code.


The programming language C is very well known and popular and has a wide range of applications. C programs can be easily ported between different systems. The programs do not require a special runtime environment or a special interpreter. You can create resource-saving and fast applications with the programming language. This is mainly due to the direct access to the hardware and the storage space.

Promising for the future

C and C ++ are programming languages ​​that have remained young forever and function as the basis for almost all low-level systems. Regardless of their age, the two programming languages ​​always remain in demand and show promise. This works best if you are familiar with all of the programming languages' capabilities.

Extensive libraries and a huge community

The C programming language has a huge community. If you have a question or a problem, you will find a suitable answer or solution on the Internet in no time. Every problem you will encounter while learning or programming C has certainly already been solved by another programmer and has put an easy-to-understand solution on the Internet.

Good salary and job prospects

If you can program with C, it will certainly pay off well for you. Programmers in this field are urgently needed in many large cities, above all in Hamburg, Munich and Berlin. The Internet job platform StepStone specializes primarily in specialists and executives and had more than 50,000 job offers for C programmers online in the summer of 2020 alone.

Employees who work as C programmers earn an average of an annual salary (according to a survey by of around 60,000 euros. The maximum possible income is over 72,000 euros, while the minimum income is around 52,000 euros. By far the highest salary for C developers in the USA. Up to $ 80,000 a year is common here.

Getting started with C programming is not that easy, especially due to the rather complex language. We definitely recommend one of the online courses or tutorials listed below if you want to learn C programming.

What can I program with C?

Basically, you can program almost anything with C, because it is a complete programming language. Regardless of whether you are writing a program, for example, which corresponds to the ANSI standard and which is then portable between Linux and Windows. Or whether you commit yourself to a certain platform (e.g. Microsoft Windows) and program specific things for this. Among other things, you can program Windows-specific programs with the well-known WinAPI or develop games using DirectX. Regardless of the area of ​​application, the only question is how well the programming works in practice. For this reason there are many other programming languages ​​besides C and each individual language has its strengths in a different area.

What do you need to program with C?

There are several integrated development environments (IDEs) for the well-known operating systems Windows, Mac OS and Ubuntu Linux and these provide you with everything you need as a budding C programmer:

  • an editor with which you can write the program code
  • a compiler with which you can translate your program code into a language that the respective system understands
  • a debugger to help you troubleshoot

The best thing to do is to opt for a freely available IDE such as NetBeans, Eclipse or the easy-to-use and clear Code :: Blocks. All 3 development environments are available under Windows, Mac OS and Linux.

Alternatively, you can use a conventional text editor and simply work with a C compiler at the command line level. This partly makes it easier for you to use the external libraries and these provide you with additional functions. Most conventional text editors have what is known as syntax highlighting, and with this you can highlight the most important elements of C in color.

Differences between C and the C ++ programming language

  • C supports structured programming with functions, structures and variables. The programming language processes procedures on the basis of specific instructions and is suitable for imperative programming.
  • C ++ was developed from the C programming language in the early 1980s.
  • Object-oriented programming is possible with C ++. You can describe relationships and interactions by translating real objects, their dependencies and their relationships to one another with the help of several abstract objects in C ++. In addition, C ++ provides you with templates for generating program codes and preprocessor macros and impresses with its higher performance.
  • In contrast to C, with C ++ you can even use different file extensions in the header and in the source code. The header files simplify the handling of extensive applications for you. Several variables are agreed in the files and special source codes are stored that can be accessed by programs belonging together or by several program parts.

What should I start with? C or rather C ++?

The answer to this important question mainly depends on what you want to program later, what previous knowledge you already have and how much patience and time you want to invest in the respective project.

For a completely new entry into the world of programming, C is more recommended. The well-known programming language has fewer language elements and can therefore be learned more quickly. Once you have mastered C, you have already mastered a huge part of C ++ at the same time. If you want to program applications for a microcontroller or hardware-related programs, you only need the elements that the C programming language provides. In addition, almost every platform has its own C compiler.

If you want to learn C ++, you need more time and more patience. In return, you benefit from significantly more options and can also program larger applications. Should you later switch from C to C ++, you will benefit from the knowledge you already have. If you want to work in the opposite direction, you first have to find out what doesn't work with the C programming language. If you want to program an application for a processor in the future that only has a C compiler, this harbors numerous sources of error.

Where can I learn C programming?

There are several places to go if you want to learn the C programming language. The choice can be a bit overwhelming. For this reason I have put together the best German-language content and courses for you in the following section.

Personally, I think very highly of these online courses because I taught myself JavaScript using two courses on the popular platform.

Learn C in online courses

Paid, professional online courses are of a significantly higher quality than free courses. The information was prepared in a structured way for the learners and is well thought out in each case. The high-quality online learning content is available to you almost always and from almost anywhere. This allows you to pause or repeat the learning content as often as you want and completely learn at your own pace. In addition, you benefit from additional learning material and even receive one from some providers Certificate of completion.

Udemy: Complete C course - practical C programming for beginners

The C complete course (by Jan Schaffranek) consists of 19.5 hours of video material, 6 written articles, 159 additional materials and 12 additional programming exercises. In this online course you will learn everything you need to get started with C, and you will also receive a lot of additional information.
So far, over 2,760 participants have booked this popular online course.

With a Overall rating of an impressive 4.7 out of 5 maximum possible points for more than 525 ratings This C complete course is the absolute bestseller among the C beginner courses on the platform

My advice: New customers at Udemy enjoy regular discount campaigns and can save a lot of money on the courses.

Learn C at a distance learning university

Some distance universities in Germany offer online courses and with these you can become a certified C programmer. The costs for such a distance learning are usually significantly higher than the costs for an online course, but you benefit from a higher quality. If you have successfully completed the distance learning course, you will receive a certificate and this will be recognized by all employers.

I couldn't find any courses at the moment.

C books

C programming for beginners - the easy way to become a C expert

This beginner's book is by Markus Neumann. It offers you all information about all the basics of the programming language and many other in-depth lessons. In the book you will learn to program with C and this begins with understandable and practice-oriented basics, without you needing any previous knowledge. After you have successfully worked through the book, you can develop your own, more complex C programs including a graphical user interface.

With a Overall rating of 4.7 out of 5 maximum points With a total of 122 reviews, the beginner's book on is one of the best books on this topic.

Learn C with YouTube Videos

Since C is still one of the most popular programming languages ​​worldwide, there are of course countless good German-language courses for beginners and tutorials on the world-famous video platform YouTube. I particularly liked “The Morpheus Tutorials”: ​​In my opinion, this is the most extensive and most up-to-date German C tutorial. In a total of over 30 YouTube videos, you will get a lot of knowledge here.

FAQ: The most common questions about C

Who invented the C programming language?

The imperative, procedural programming language was developed at the "Bell Laboratories" by computer scientist Dennis Ritchie at the beginning of the 1970s.

What is the difference between C, C # and C ++?

  • C is useful for developing procedures that consist of a sequence of statements.
  • C # is a collection that consists of several libraries (subroutines) and from these the program is put together. The calls to the individual functions do not exist in C #.
  • C ++ is a consistent further development of the C programming language. This includes object-oriented programming and allows the development of more powerful applications.