Demystifying C

Demystifying C Programming Language |

Demystifying C Programming Language

The course attempts to demystify internals of C programming language in absolutely innovative way…! Anybody can learn

(32 ratings)

305 students enrolled


Take This Course

  • Lectures
  • Contents

    Video: 14 hours

    Other: 19 mins

  • Skill Level
    All Levels
  • Languages

  • Includes

    Lifetime access

    30 day money back guarantee!

    Available on iOS and Android

    Certificate of Completion


About This Course

Published 7/2014


Course Description

This course lets you master all fundamentals concepts of C programming language because:

  • Internal working has been explained using simple Animation
  • Numerous real life examples have been given to understand tricky concepts
  • Your understanding and queries have been mapped with concerned examples

The course is not assumption oriented. So we assume that

  • You don't know computer fundamentals
  • You don't know programming fundamentals
  • You want to master C programming language by self learning way
  • You don't know why to learn C programming language
  • You are curious enough to think and imagine "out of the box"

The Course contains

All concepts explained using animation supported by voice-over

Tests at the end of chapter and at the end of important units

Gradually this course would be 10+ hours of course. The number of hours taken may vary from programmer to programmer. If you write sufficient programs at the end of each chapter then you will become master in C programming language. Support material will be uploaded continuously.

If you are undergraduate engineering or polytechnic student or a professional or a job aspirant then this course is for you. The course is going to cover writing programs in conventional DOS based TC compiler, latest IDEs as well as gcc compilation in Linux environment.

The addition of notes, glossary, e-contents will be continuous process.

What are the requirements?

  • TC or gcc or any IDE

What am I going to get from this course?

  • Would be able to write a small game application in C using pointers and Structures
  • would be able to get rid of fear about pointers in C
  • Able 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 conversant with computer fundamentals
  • You will be comfortable with programming fundamentals
  • have absolute mastery over C language fundamentals
  • You will able to use various compilers like TC, gcc and CodeBlock compiler

What is the target audience?

  • Absolutely new to Programming
  • Undergraduate
  • Any student who wants to learn programming language
  • School student


Section 1: ABC of C


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

10 questions

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


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

10 questions

Here is test on fundamental concepts of Software


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…

10 questions

Take a quiz on fundamentals of Programming languages


"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?

14 questions

A Simple test on Introduction to 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

15 questions

Take an exhaustive test on this topic


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

20 questions

Try out an interesting quiz on structure of any standard 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.

23 questions

This is final test on first chapter of Demystifying C


C is quirky, flawed, and an enormous success…

Dennis Ritchie


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…!

Section 2: C under Linux


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.


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


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

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


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


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.


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


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.


Here is second part of an interesting program. Listen Carefully


Here is an interesting code for you to study.


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

14 questions

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

Good Wishes

Section 3: 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…


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

11 questions

Take a refreshing test on if 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 explaination

7 questions

Attempt this tricky questions on if-else control structure 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…!


conditions… more conditions…. many conditions… life becomes complex know…to fulfil the expections…

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

10 questions

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


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

11 questions

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


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

Dennis Ritchie

Section 4: 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


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?

2 questions

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


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?


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…


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…!

10 questions

Take a combined test on while, for and do…while loop 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.


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 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…

5 questions

Take an exhausted test on loop control structure in C

1 page

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

Section 5: Menu of 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


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


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



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

Anna Kournikova

5 questions

Take a test on switch-case control structure in C

1 page

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.

Section 6: Functions in C language


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


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.


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.


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 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…


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

16 questions

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

1 page

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.

Section 7: Naughty Pointers


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


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…! 🙂


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

Bob Gray


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

Joel Spolsky

9 questions

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


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.

Tryst with Pointers

6 questions

Section 8: 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.


"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.


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…


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.


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.


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++.


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


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…!


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…


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.


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 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.

11 questions

Have a break…Have a quiz

Section 9: Pulling the Strings


In the last chapter, we studied an array, a derived data type. However We deliberately did not declare an array of characters in the last chapter because of its peculiar nature. Here is why…


Here is the video to define the string. I am in the process of creating animation for gcc compiler simultaneously however it takes enormous time and efforts. So I will be uploading a few contents keeping DOS based old TC compiler. As said before if your are using latest compilers or IDEs there would not be much difference in the code. Please cooperate till I create and replace them with IDE based or gcc based explanation. Thanks


Here is the way to take the string input from the keyboard and print it on the screen.

Instructor Biography

Bhalchandra Gholkar,
Creating innovative e-contents for programming languages

Post graduate Engineer… Computer Programming language trainer for last 15 years… Passionate about teaching and have taught personally over 3500 students. Currently my team is developing unique methodology for teaching programming language to the masses at lowest possible price. My team has tried to develop absolutely out of the box e-learning contents similar to Crafting a diamond…. for those who want to understand language concepts…


%d bloggers like this: