Introduction to C Tutorial

In this introductory tutorial we talk about what C is, what it's used for, and why you should learn this simple and powerful programming language.

We also quickly cover the learning level of difficulty for C and prerequisites for this tutorial course.

What is C

C is a powerful, high-level, general purpose programming language used to create applications across multiple platforms.

Why learn C

C is Efficient and Compact. Among other benefits, efficient mapping makes C programs as compact and fast as assembly language programs.

C is Portable. Little or no modification is needed to create cross-platform programs for Windows, Unix and Unix based systems such as Mac and Linux.

C is Powerful and Flexible. Most kernels (operating system brains) are written in C, and it can be used to develop just about any program you can imagine.

  • Operating system kernels (Unix, Linux, Windows, Mac)
  • Embedded systems, The Internet of Things
  • Databases such as Oracle, PostgreSQL and MySQL all use C
  • Compilers for Perl and Python, among others
  • Drivers for printers and networking
  • Microsoft Excel, Git, Facebook, the Go programming language etc.

Why learn C over C++

Mostly, it comes down to personal preference. Some people may feel that they don’t need the extra features of C++ or it introduces undesirable overhead or that C is just simpler.

Knowing C also makes C++ easier to learn, if or when you need to.

Is C hard to learn

Although C is sometimes considered to be hard to learn, it is in fact a simple language. Because of its compactness, C is relatively easy to learn and an ideal first language.


Before we proceed, please note that we make the following assumptions:

  • You know how to install software on whichever operating system you use.
  • You can create and navigate directories and files on your computer.

While this tutorial series is for beginners with no knowledge of C or programming in general, programmers coming from other languages that want to learn C will also find it very helpful.

This tutorial series covers many topics of programming in C, ranging from beginner concepts to advanced.