C Programming 2021: Master The Basics!

Learn C Fast | Start Coding Quickly | Master The Fundamentals of C
Free tutorial
Rating: 4.2 out of 5 (3,065 ratings)
92,407 students
3hr of on-demand video
English [Auto]

The Basics of C Programming
Deeply Understand The Fundamentals of Programming
Solve Beginner Programming Problems
Get the Knowledge you need to get into Advanced Topics Confidently


  • Computer
  • Determination


Welcome to "C Programming 2021: Master The Basics!"

This course is for total Beginners, you will learn how to code using the  C Programming Language in an easy, simple, and efficient way.

What Will You Get?

- Develop your programming skills: From ZERO to ONE

- In-depth knowledge and practice - 2+ Hours Course with Exercises

- Flexible learning - At Your Own Pace, On Any Device

- Zero-fluff - Straight to the point, no time wasted

- Clear delivery - I explain every single thing clearly, step-by-step

What Will You Learn?


- Installing Code::Blocks IDE

- Basic Program Structure, Comments

- The Build Process

- Variables and Data Types

- Constants and Addresses

- Input and Output (scanf(), printf())

- Arrays

- Strings (char arrays)

- Operators

- Control Flow (Decisions)

- Control Flow (Loops)

- Functions, Scope


- power

- Sum of Input

- Divisors of a Number

- Min and Max

- GCD and LCM

- 1D Array: Sum and Product

- 2D Array: print [row-row, column-column]

- 2D Array: Rain Fall

- Strings: Read a string

- Strings: Copy String to String

This is a part of the full 18-hours long ( 11+ hours of exercises ) course "C Programming: Become A Pro! Think Like a Programmer!", you can check it after you finish this course for more content and advanced topics!

REMEMBER: you have a "30-Days" money-back guarantee, so don't worry if you have any doubts...

So what are you waiting for? SEE YOU INSIDE!
Enjoy the course! I'm sure it will make you a better programmer!

Who this course is for:

  • Anyone Who Wants a Deep Understanding of Programming in General and Specifically C
  • Anyone Who Wants to get the Knowledge he needs to get into Advanced Topics Later
  • Beginners Who Know Nothing About Programming
  • Beginners Who Want to Build A Strong Base in Programming
  • Programmers Who Want to Refresh Their Knowledge Fast


Programmer | Android Developer | Instructor
Ali Badran
  • 4.3 Instructor Rating
  • 3,471 Reviews
  • 103,712 Students
  • 4 Courses

My name is Ali Badran, I am from lebanon.

I love to share what I know with others by creating high quality courses.

If you are serious about becoming a programmer have a look at my courses.

I am a Programmer, teacher, and computer scientist.

I am the Founder of Computer Science Academy on YouTube

How I became a Programmer

And by "Programmer" I don't mean someone who knows how to use a progamming language only. But who also knows how to think like a programmer does. Someone who knows how to come up with different ways to solve a problem and chooses the most efficient one.

First of all, I started learning the basics of programming, which you will find in almost every programming language. Topics like: variables, data types, relational operators, logical operators, control flow ( conditions and loops ), and functions. And that was using the C programming language.

Now you might ask "why the C?". Well, I had the same question, why not learn python from the start for example, it is easy, very powerful, and popular.

I actually found the answer when I learned other Programming languages like java and python. More on that later.

After that stage was done, I had to dive into more complicated topics in C, such as structures, pointers, and dynamic memory allocation. Also, I needed to get familiar with what's called "recursion", which is basically another way of programming which you will use whenever using loops ( a loop is a basic programming concept mentioned above ) is very complicated and not even possible.

So after that, I was now ready to dive into the beast "Algorithms and Data Structures".

So data structures and algorithms basically give you the necessary skills to write efficient programs taking into consideration time and space (memory). Stacks, queues, trees, binary search trees, heaps, and hash tables are some popular data structures.

Now I shall say this, using C to write data structures is harder and more complex than using python for example. And here is the beauty of using C, you have to write almost everything yourself, you have to think about every single detail, and most importantly you have to manage the computer's memory yourself. And all that is what made me very strong in solving problems and gave me the logical thinking power that I needed as a programmer. I was able to find a solution for complex problems easier than programmers who started with python for example because I got used to complex problems.

Before I continue, I must say that the most important thing up until now is solving as many exercises as possible. Practice is everything. Literally, if you don't practice and solve a lot of exercises you will never progress as a programmer. So if you are serious about being a powerful programmer you should sit many hours in front of your computer trying to solve exercise every single day.

Now it was time to start with object oriented programming, so I got into the java programming language. Here comes another advantage of C, the grammar ( syntax ) of Java is very similar to that of C, so it took me no time to start coding using java, and all I had to do is focus on learning OOP. So as time passed I got to know classes, objects, abstraction, encapsulation, inheritance, polymorphism, abstract classes and interfaces. And with that my friend, I got all what I need to get into android development!

I know java, OOP, and I know my way around the code, so all I had to do is to learn how android development works, and how everything works. And now I'm still in the process of learning.

Top companies trust Udemy

Get your team access to Udemy's top 26,000+ courses