4.05 out of 5
187 reviews on Udemy

C Programming Language Demystified

Through the use of animation this course will demystify the internals of the C language in a way that anyone can learn!
Bhalchandra Gholkar
1,006 students enrolled
English [Auto]
You will be able to write a small game application in C using pointers, Structures, arrays, functions, etc..
You will overcome the fear of pointers, arrays and functions
Ability to write 150+ lines of C program using various control structures of C language viz. Decision control structure, loop control structure and switch case control structure in C, functions, and pointers in C
Advanced topics like Structues, File Handling, Dynamic Memory Allocation, Preprocessor Directives and Storage Classes in C
You will understand and don't need to remember
At the end of this course you will be well versed with Programming Fundamentals
Master the foundations of the C language
You will able to use various compilers like TC, gcc and CodeBlocks

What sets us apart from other C language courses?  Our novel approach presents the course in real-world illustrations through animation and examples.  We explain why you do it, not just how.  Have you ever tried to “learn C in an hour”, it sometimes takes a little more time.  We know that understanding the “why” is just as important as the “how” in getting your head around the concepts of C programming.

This course is designed to be comprehensive, so we assume that you desire the following:

  • Knowledge of computer fundamentals
  • Basic programming fundamentals
  • Mastery of the C programming language through a self-study program
  • Why you should learn the C programming language
  • You want to use curiosity and “out-of-the-box” thinking to create excellent computer programs.

Our voice-over artists are selected to complement the animation and unique teaching styles of our instructors.  Tests, quizzes and assignments are dispersed throughout the course to help you retain more information.  The self-study nature and added new material ensures that the learning never stops.  As the student, your effort and participation determines the extent of your mastery.  If you write sufficient programs to practice as you come to the end of each chapter, then you will become a master in the C programming language.  We are continuously adding course content and revising older courses to benefit our students.

Whether you are an undergraduate in engineering, a polytechnic student, a professional or looking for an engaging career, then this course is for you! Be ready to explore writing programs in the conventional DOS based TC compiler, the latest IDEs as well as the GCC compiler in the Linux environment.

We are excited to get you started in the rewarding process of learning and mastering the C programming language.  Start this course now and get ready to have the C language demystified!

ABC of C

Introduction to Computers

If the automobile had followed the same development as the computer, a Rolls Royce would today cost $100, get a million miles per gallon, and explode once a year killing everyone inside...!

Here is introduction to computers. Even you know about computers, just enjoy the beginning...!

Good Wishes

Test youself

This quiz is to test how carefully you have listened to recently covered lecture

I am here to help you... How to contact me...?

Demystifying C programming language has more than 17 hours of animated videos to help you with other resource material. There is one video for many exercises where I either demonstrate the exercise, or give you tips
for completing the exercise. The best way to use the videos is to listen it carefully either single time or multiple times. Then attempt or complete the exercises. If you fail to write error free code then review what you have learned. if you are stuck, don't worry. Just move ahead. Go for next chapter. Come back and attempt exercises in your break time. This will slowly wean you off of using videos repeatedly to learn programming and build your skills
at understanding code directly. Stick with it.


Software innovations, like every other kind of innovation, requires the ability to collaborate and share ideas with other people and to sit down and talk with customers and get their feedback and understand their needs

Bill Gates

Here is a video explaining software part of computers. We need to know before we start learning language

Test on Softwares

Here is test on fundamental concepts of Software

Introduction to Language

When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.

Let's see what the computer programming language is all about...

Quiz on Programming Languages

Take a quiz on fundamentals of Programming languages

History of the C Language

"It's not good because it's old, it's old because it's good.".

Anonymous Quote...

He might have written for C... who knows?

Evaluation on Introduction to C

A Simple test on Introduction to C

Constants, keywords and variables in C

If you talk to a man in a language he understands, that goes to his head. If you talk to him in his language that goes to his heart

Let's have a look at building blocks of C language

Quiz on constants, keywords and variables in C

Take an exhaustive test on this topic

Structure of C program

This unit explains basic structure of any standard C Program which is prerequisite for writing first C program.

Any C statement will come under either of the 4 categories of general structure of C program viz. Type declaration statement, input/output statement, arithmetic instruction and control structure.

Each of the above category except control structure has been covered in detail using animation and assuming that student does not know anything about general structure of any program

Special focus is given on operators, category of operators, operands and arithmetic instruction

The unit is concluded by focusing on two of the frequently used functions in C i.e. printf and scanf in C

Quiz on Structure of C program

Try out an interesting quiz on structure of any standard C program

Sample C Program

First, solve the problem. Then, write the code.
John Johnson

Here is a video that explains how to open compiler (DOS based TC), open file, write program and how to save the program. Further two programs have been been taken in this video and each step has been explained with appropriate animation. What happens at the background has been shown using animation which will boost your confidence before you write programs on your own.

Final test on first Chapter

This is final test on first chapter of Demystifying C


C is quirky, flawed, and an enormous success...

Dennis Ritchie

Interview Questions - 1

Unix is basically a simple operating system but you have to be a genius to understand the simplicity...!

Dennis Ritchie


C the Princess of Programming Languages...!

C under Linux

Introduction to Ubuntu

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program...
Linus Torvalds

This is the new topic inserted for those who want to write and compile programs in Ubuntu based gcc compiler. My designers, animators are working round the clock to complete contents of this chapter and are committed to finish remaining topics in this chapter as early as possible.

How to use an editor and terminal window in gcc...?

Controlling complexity is the essence of computer programming...!
Brian Kernighan

Hello World Program - Part 1

``C Code. C code run. Run, code, run... PLEASE!!!'' -- Barbara Tongue

Here is the most popular program in the world i.e. "Hello World"....

In this program you would learn about commenting and header files...

Hello World Program - Part 2

Computers are good at following instructions, but not at reading your mind...!
Donald Knuth

In the second part I am covering basics of main function in C like return type of main function, arguments taken by main function and comparison of gcc with DOS based TC editor

Hello World Program - Part 3

Replace "I'm not good at this" with "I'm Not Good At This Yet"...!

The part 3 covers a few gcc commands once code is written using gedit editor and use of terminal window.

Hello World Program - Part 4

The video explains you compilation and execution of C program using gcc commands

Temperature Conversion Program - Part 1

Unix is simple. It just takes a genius to understand its simplicity....!
Dennis Ritchie

Here is sample program to convert Temperature in Fahrenheit to degree centigrade.

Temperature Conversion Program - Part 2

Here is second part of an interesting program. Listen Carefully

Cryptic Code
"C takes the point of view that the programmer is always right." -- Michael DeCorte

Here is an interesting code for you to study.


Here is summary of this chapter....what you have learnt so far

Quick Quiz

Take an interesting quiz....! Refresh your mind....Recall your memory....Analyse your understanding...

Good Wishes

Steering the Control


A good decision is based on knowledge and not on numbers... Plato

Decision is inherent part of everybody's life. So how could be C is away from inclusion of decision while writing program...?

Here the revision of first section is followed by need of decision control structure in C with a few real life examples. Before you learn such control structure in C, you need to know why is it necessary and in which situations...

If control structure in C

Here you can learn first decision control structure in C i.e. if control structure

Listen and watch carefully what is the syntax proposed by Dennis and how it can be used while writing a C program

This section also covers a one more operators category like relational operators in C

Quiz on if control structure in C

Take a refreshing test on if control structure in C

if else control structure in C

Here is second decision control structure i.e. if...else control structure in C. Apart from syntax, I am focusing on design aspect of any program i.e. importance of flowchart... Along with syntax, the flow of control has been explained using animation and a correlated with real life examples.  A typical C program also has been explained with step by step explanation

Test on if-else control structure in C

Attempt this tricky questions on if-else control structure in C

Nesting of if-else control structures in C

Sometimes single decision is not sufficient but multiple decisions need to be taken to arrive at the conclusion. The video gives you interesting real life examples for complete clarity of the nesting of if else blocks...!

Logical operators in C

conditions... more conditions.... many conditions... life becomes complex know...to fulfill the expectations...

Same happens with C program and logical operators would help you to convert complex program. Over all there are 3 logical operators in C viz. logical AND, logical OR, and logical NOT

Test on logical operators in C

Take a mind twisting test on logical operators in C. To solve this quiz you need to have sufficient knowledge of not only logical operators but relational operators as well. But Don't be discouraged if you score less in this test as it is designed to impart you more knowledge than test your knowledge 

Ternary operators in C

It's not at all important to get it right the first time. It's vitally important to get it right the last time...!
Andrew Hunt

When Dennis worked on C, he wanted it to be compact language. Many such facilities are there in C, which justify his attitude. Ternary operator is one of the best example to make the code compact.

Same is explained here with example. Enjoy learning

Final test on decision control structure in C

Take an exhausted test on if-else control structure in C


The one skill that separates bad programmers from good programmers is attention to detail. In fact, it's what separates the good from the bad in any profession. You must pay attention to the tiniest details of your work or you will miss important elements of what you create. In programming, this is how you end up with bugs and difficult-to-use systems

Interview Questions - 2

For infrastructure technology, C will be hard to displace...!

Dennis Ritchie

Merry go Round


Repetition in our life makes us perfect...

In programming if we want certain part of the code to be executed repetitively then Dennis has provided the solution in the form of loop control structure

Here is introduction to this 3rd control structure in C language i.e. Loop Control Structure in C

Parts of loop

Before learning types, semantics of loops in C, its time to have a look at common parts of loop. Prima facie parts of loop are easy to understand...

But beware... the word "Loophole" is derived from the loop only...

you know what I mean...! Don't you?

Test on parts of loop

Take a simple test on parts of loop... Get fresh...Get Confident

while loop in C

This video explains the first of 3 loops in C and that is wile loop

The syntax is explained with real life animation and real life examples followed by sample program. You can pause and play simultaneously while writing program... Interesting know?

for loop in C

It's said that there is no formula for success or even to become popular...!  Here is second type of loop control structure in C and it is for loop in C. Though all loop serves same purpose and fulfills the need of a programmer, for loop is largely used while writing programs.  May be because of it's syntax, this is most popular loop among programmers community at least at the academic level...   

do...while loop in C

As apparent in the name, this is the 3rd type of loop in C which is slightly modified version of the first loop i.e. while loop... Seasoned programmers use this loop while implementing data structures in C...!

Don't get trapped in the loop...!

Take a combined test on while, for and do...while loop in C

Nesting of loops in C

IDE features are language smells....!
Reg Braithwaite

Story listening should not necessarily be restricted to childhood...!

So here is wonderful story followed by explanation of nesting of loops in C.

break and continue statement in C

To reduce the speed of life we need to apply break... at the same time we forget the past and move on i mean continue... Isn't that the way we live life...?

Here is syntax and use of 2 statements in C incidentally keywords, wonderfully explained using animation

Special loop in C

Special dish is always modified version of basic dish particularly prepared to suit food lovers taste and demand... So is the case of this loop in C. So special loop neither a keyword nor a official loop but is a modified version of while or do while loop in C but very useful in practical applications...

Final test on loops in C

Take an exhausted test on loop control structure in C


People are always making rules for themselves and always finding loop-holes...!

Game Challenge

Here is first game program for you...

It's simple but interesting. Try it out

Pattern Printing

This is a bit cryptic program which will help you to implement your logic and understanding of loops and decision control structure. Try on your own. Don't google it. It's fun to write these kind of codes in C.

Menu of C

Introduction to switch-case control structure in C

Go to withdraw cash at the ATM, get into the car, open your laptop or unlock your smart phone... everywhere you will see Menu... The world is changing and options are numerous... Be it gadgets or utilities... Dennis perhaps was aware about that and so made a provision of one more control structure in C for menu driven programming...!

So here is switch case control structure in C in most interesting way.

By the way if you faced solving a few tricky questions in the quiz section of previous two chapters, I am keeping intricacies of pre-fix and post-fix increment operator in C for download. 

Syntax of switch-case block

The golden rule when reading the menu is, if you cannot pronounce it, you cannot afford it

Sample program on switch-case control structure in C

C is for cookie, it's good enough for me; oh cookie cookie cookie starts with C...


Special program using switch-case block in C

I am like an expensive menu... You can look but you can't afford...!

Anna Kournikova

Test on switch-case control structure in C

Take a test on switch-case control structure in C


A very important skill (that most programmers develop over time) is the ability to visually notice differences between things. An experienced programmer can take two pieces of code that are slightly different and immediately start pointing out the differences. Programmers have invented tools to make this even easier, but we won't be using any of these. You first have to train your brain the hard way, then use the tools.

Functions in C language

Introduction to functions in C

Functions are building blocks of C language. Its time to learn now techniques to break large code into small and manageable modules. This small piece of codes carrying independent tasks are called as functions in C. That is the reason C is called as structured language as well as modular language which ultimately is based on procedure oriented programming methodology. In this lecture let's have a look at introduction to functions in C

Types of function in C

In first 4 sections we were writing code inside single function i.e. main function. Besides we were calling a few library functions like printf and scanf. Here we will have a look at types i.e. categories of functions in C language.

Function calling mechanism in C

Here we are going to study important terminology related with function calling mechanism. Careful listening to these concepts would help you to understand remaining chapters for sure.

Return type of function in C

Right from the day one after taking up this course, you have been writing int main or void main... What does this exactly mean? The same is explained here with interesting real life example... Enjoy and Understand

Function Prototype

Function prototype, function declaration are important part of any C program. As a programmer one needs not only know these concepts but understand and use them. Here is explanation of the same in exclusively interesting way...

Sample program with summary of function

Here is a sample program which is going to cover all concepts learnt so far in this chapter

Quiz on functions in C

Brainstorming quiz on functions in C. You may need to recall all concepts from 1st to this chapter to solve this test...! Good Wishes 


While you do these exercises, typing each one in, you will be making mistakes. It's inevitable; even seasoned programmers would make a few. Your job is to compare what you have written to what's required, and fix all the differences. By doing so, you will train yourself to notice mistakes, bugs, and other problems.

Find the digital root of an integer

Naughty Pointers


For a C programmer, life without pointers is life without food. Student always desires to learn and exploit immense power of pointer... Here is why...

Introduction to Pointers

Pointers can be made to work if you fiddle with them long enough. If you fiddle with anything long enough you will ultimately mess it...! :)

Pointers and Functions

Writing in C or C++ is like running a chain saw with all the safety guards removed...!

Bob Gray

Call by Value and Reference

Understanding pointers in C is not a skill, it's an aptitude...

Joel Spolsky

Swap contents of two variables

Here is a famous program in the programming world to understand basics of pointers. The video has been added as a complimentary material and has been produced after the full  course has been developed after considering need of such a program. 

The voice over has been given by Mindy, who is an associate of our production team and the program has been conceptualized by co-instructor, Mr. Daryl Newell.  

This program is going to act as a prerequisite for the 1st program in the Miscellaneous section ahead in the course.   

Quiz Time

Have a refreshing time... after all quiz rejuvenates your mind for new learning process

Sample Program using pointers

A program is like a poem: you cannot write a poem without writing it. Yet people talk about programming as if it were a production process and measure “programmer productivity"in terms of "number of lines of code produced”.In so doing they book that number on the wrong side of the ledger: We should always refer to"the number of lines of code spent".
E. W. Dijkstra

Here is one program to explain how we can write a single function to perform 4 related tasks. The aim of the sample program is how to access variables in other function remotely and makes changes in them.

Pointers - Pass By Refference
Tryst with Pointers

Chapter end quiz

Arrays in C Language


Everyday life is like programming, I guess. If you love something you can put beauty into it...
Donald Knuth

Here is a recap of all topics, we covered so far like data types in C, various control structures available in C, functions in C and introduction to pointers in last chapter.

Introduction to an Array

"Even now, I change my style and cloths from one day to the next, but during high school I blended in. I think a lot of people are that way. I guess that's why I can write about an array of characters"

Cecily von Ziegesar

Here is introduction to an array.

How an array in C works...

Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration...!
Stan Kelly Bottle

This video explains you how actually an array works, i.e. how an array elements are stored in memory, how control structure can be used to access an array elements, how an index of an array is useful for accessing an array element etc...

How to initialize and assign an array elements...

Here is a video to explain you about initializing and assigning an array elements. The syntax is not just important to know but philosophy is equally important. So listen carefully about real life examples using analogy. Just give me feedback about examples.

Pointers Revisited

First interaction with pointers took place in the last chapter. But it was just introduction. Real power of pointers is when you start learning array, string, structure and file handling. Here is our re-visit to pointers.

Arithmetic operations on the Pointers in C

This video covers which operations could be performed and which are invalid. Some of them have got context of single array or multiple array. This rule is important while performing these operations on pointers. These operations though seem to be very easy to understand, are of immense use when we manipulate the string objects in C and C++.

Pointers and Arrays in C

Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity.
David Gelernter
Pointers play a crucial role in arrays. It is the pointer which helps compiler to access any element of an array very quickly...

Study here carefully how really it works in C

Arrays and functions in C

Any fool can write code that a computer can understand. Good programmers write code that humans can understand
Martin Fowler

This is an extension of function chapter and deliberately is covered in array chapter. Find here how an array element and whole array can be sent to the function. The key here is the term "Base address".... So my dear students don't forget that...!

Array bound checking

Whatever you do... there must be some kind of bound checking... Be it love, passion, habits or anything in this world. Otherwise possibility of disaster increases.... Array in C does not follow bound checking... Learn here what I mean...

Inside Array in C

It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free....!
Steve McConnell

This video explains internals of an array and how it works. Important to understand the next topic.

Double Dimensional Array in C

The character of a few people is multidimensional...!

Why an array should be spared...?

This video explains to concept of multidimensional array in C

Pointers and 2-D Array

Pointers play crucial role in accessing element of multidimensional array. This video explains you internal working of two dimensional array. I agree that a few assumptions I have to consider to explain you, but assumptions are only for understanding purpose only.


Measuring programming progress by lines of code is like measuring aircraft building progress by weight...!
Bill Gates

Here is quick review of the topic learnt so far. Much more interesting concepts will be covered in the next topic i.e. Strings in C language.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1 out of 5
187 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


18 hours on-demand video
16 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion