सीखिए C गहराई से [From 0 to 1: C Programming - Drill Deep]
4.6 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
572 students enrolled
Wishlisted Wishlist

Please confirm that you want to add सीखिए C गहराई से [From 0 to 1: C Programming - Drill Deep] to your Wishlist.

Add to Wishlist

सीखिए C गहराई से [From 0 to 1: C Programming - Drill Deep]

C Programming is still a very useful skill to have - and this is the course to pick it up!
4.6 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
572 students enrolled
Created by Loony Corn
Last updated 11/2016
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 12.5 hours on-demand video
  • 61 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
What Will I Learn?
  • Write solid, correct and complete C programs
  • Advance - quickly and painlessly - to C++, which is a natural successor to C and still widely used
  • Ace tests or exams on the C programming language
  • Shed their fears about the gotchas and complexities of the C programming language
View Curriculum
  • The course assumes that the student has a way to write and run C programs. This could include gcc on Mac or Unix, or Visual Studio on Windows.

C Programming is still a very valuable skill - and its also surprisingly easy to pick up. Don't be intimidated by C's reputation as scary - we think this course makes it easy as pie!

This course is in Hindi.

What's Covered:

  • Conditional Constructs: If/else and case statements have a surprising number of little details to be aware of. Conditions, and working with relational and logical operators. Short-circuiting and the order of evaluation
  • Loops: For loops, while and do-while loops, break and continue. Again, lots of little details to get right.
  • Data Types and Bit Manipulation Operations, again full of little gotchas that interviewers and professors love to test.
  • Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification - complete with visuals to help you conceptualize how things work.
  • Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations.
  • Structs and Unions: These seem almost archaic in an Object-Oriented world, but worth knowing, especially in order to nail linked list problems.
  • Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many many problems and solutions, doubly linked lists.
  • IO: Both console and file IO
  • Typedefs, macros

Using discussion forums

Please use the discussion forums on this course to engage with other students and to help each other out. Unfortunately, much as we would like to, it is not possible for us at Loonycorn to respond to individual questions from students:-(

We're super small and self-funded with only 2 people developing technical video content. Our mission is to make high-quality courses available at super low prices.

The only way to keep our prices this low is to *NOT offer additional technical support over email or in-person*. The truth is, direct support is hugely expensive and just does not scale.

We understand that this is not ideal and that a lot of students might benefit from this additional support. Hiring resources for additional support would make our offering much more expensive, thus defeating our original purpose.

It is a hard trade-off.

Thank you for your patience and understanding!

Who is the target audience?
  • Yep! Computer science or engineering majors who need to learn C for their course requirements
  • Yep! Any software engineer who will be giving interviews, and fears interview questions on the tricky syntax of C
  • Yep! Embedded systems or hardware folks looking to make the most of C, which is still an awesome technology in those domains
Students Who Viewed This Course Also Viewed
Curriculum For This Course
58 Lectures
Getting your feet wet
3 Lectures 41:33
The C programming language is still relevant, especially for three kinds of folks. One, embedded systems or hardware folks moving to software. Two, folks looking to learn C++, and needing first an introduction to the details of C. Three, folks who have are taking a C course in college, and have no choice but to learn the language:-)
Preview 02:38

Let's start with a very high-level view of what a C program looks like. The compiler, preprocessor, main function as the entry point, and headers. All of these are little bits you've got to understand before you can write your first C program. But fear not! Nothing too complicated here!
Preview 19:24

A quick introduction to the important data types in C - and to two important ideas: that of overflow (what happens if the data in a short int exceeds 32,767?) and that of characters as numeric types in disguise (you can add chars like you would ints)
Preview 19:31
SLanguage constructstart Here
13 Lectures 02:37:47
If/Else statements are decision control structures - they transfer control to different points in code depending on a condition. Let's understand their syntax and intricacies.
Preview 15:40

The condition is at the heart of an if/else statement, and there is a lot going on here: relational operators, logical operators, the order of evaluation, and short-circuiting.
Preview 16:31

We wrap our section on if/else statements by dwelling a bit on the else portion of the if/else loop.
If/Else Statements - IV

A bunch of code examples - including many little gotchas that professors and interviewers love testing :-)

If/Else Statements - V

A bunch of code examples - including many little gotchas that professors and interviewers love testing :-)

If/Else Statements - VI

The switch-case-default control structure, aka the case statement, is a strange bird. Its bristling with strange rules, which is perhaps why its not used very often.
Case Statements

We continue talking about the eccentricities of the switch statement - and you can bet there are a lot of them!
Case Statements - II

We wrap up with the case structure - it is bristling with strange rules, which is perhaps why its not used very often.
Case Statements - III

Once you're used to the idea of an if/else statement, a while loop is not much of a stretch. We parse its structure in detail.
While Loops

We keep going on while-loops - conditions and gotchas, and the break and continue statements make their first appearance.
Break and Continue

For loops are incredible - they are probably the most important and popular construct in all programming languages. Let's see how they work.
For Loops

The ++ and -- operators were introduced by C, and have become ubiquitous in programming. They can be confusing, so let's make sure we understand them - and also that we understand unary/binary/ternary operators, and their precedence rules.
Pre- and Post-Increment Operators
3 Lectures 41:18
Functions are an incredibly powerful idea - let's understand why (hint: Dilbert has the answer). Also - return value and argument list - terms that will become part of our everyday lexicon if we do enough programming.
Preview 12:46

Declaring, defining and calling a function: understand exactly what these terms mean.
C Functions: Defining, Declaring and Calling them

Pass-by-value and pass-by-reference: Understand exactly what these terms mean.
Parameter Passing: Pass-by-value and pass-by-reference
Some loose ends
3 Lectures 51:24
The characteristics of a variable - where it resides, what default value it has (prior to initialisation), its visibility and the lifetime of its existence - are governed by something called the Storage class of a variable. Let's understand the 4 storage classes: automatic, register, static and external.
Preview 19:03

We start with a quick tour of how code compilation works - what the steps are to go from source code to an executable file. Once we understand that, we can easily make sense of the preprocessor, and of the common preprocessor directives such as #define and #include

Pre-processor directives

Making sure we understand the 4 major types of pre-processor directives: macros, file inclusions, conditional compilation directives, and miscellany. Macros and functions each have their place in C

More Preprocessor Directives
Console IO
4 Lectures 44:58
Console IO - reading from or writing to screen - is one of the bits about C programming that folks really find complicated - but don't fear! We'll break it into byte-sized chunks. Starting with printf.
Console IO - printf

We keep going with printf - there's a lot where this came from :-)
Console IO - printf

We dig deep into scanf, which reads input from screen.
Console IO - scanf

We wrap up this section on Console IO by discussing the miscellaneous IO functions: sprintf, fprintf and sscanf.
Console IO - miscellany
File IO
4 Lectures 32:25
File IO in C - and indeed File IO in pretty much all languages - is based on 2 key concepts: buffers and streams. A buffer is a temporary storage area (in memory) for data that's in a file (on disk). A stream is data-in-motion - a conveyor belt moving data from one place (buffer or device) to another. Once you understand this, all File IO will make a lot more sense.
Buffers and Streams

The things that you do with files - open them, close them, read them, write to them - are hardly rocket science. And once you recall what streams and buffers are, its even less arcane. Just look past the syntax (which is pretty arcane)
File Operations are n't rocket science

Now that we are done with really understanding how fopen works, the other operations will stream by (bad joke alert!)

More on file operations

If you can open a file in a text editor and make sense of what it says - then its a text file. Else its a binary file. Just remember that, and you'll be just fine:-)
Binary and Text Files
Bit Manipulation
6 Lectures 01:18:45

We dig into the bitwise AND, OR and NOT operations - visually inspecting how they work

Preview 10:47

We continue with bit manipulation - the right shift and left shift operators are very powerful, but they have 2 issues that you should be sure to understand: overflow, and fill.
Bit Manipulation - II

Before diving headlong into bit manipulation problems it's helpful to learn a few useful tricks which help you build a strong foundation to visualize working with bits.
Useful Bit Manipulation Techniques

Functions to get the nth bit of an integer and to set the nth bit of an integer. These are the building block functions and the concepts underlying these will be used for harder bit manipulation problems.
Get And Set The Nth Bit

Print all the bits used to represent an integer from the most significant bit to the least significant. Learn some subtle details about the shift right (>>) with negative numbers!

Count the number of 1s in an integer, and learn a neat trick which allows you to do it in complexity O(number of 1s).

Print And Count Bits

Reverse the bits in an integer. This pulls together a whole bunch of stuff from the last few problems. As in the case of hard problems, visualizing the process is key to solving this!
Reverse The Bits In An Integer
Structs and Unions
3 Lectures 30:35
C Structs are the first user-defined types that we will encounter - the precursor to objects/classes and all of Object Oriented Programming
C Structs - User-Defined Types Introduced

C Structs are the first user-defined types that we will encounter - the precursor to objects/classes and all of Object Oriented Programming

C Structs: Everything you can do with them

A space-saving trick - C unions have largely passed into history. Just remember that they are just like structs, but for one key difference.

C Unions
Dynamic Memory Allocation
3 Lectures 42:59

We will introduce the idea of dynamically allocating memory, i.e. creating space in memory for data on-the-fly. This contrasts with the typical way in which memory is allocated in C programs.

Preview 18:01

If memory is allocated dynamically, it is super-super important that you also free that memory. Else, your program will leak memory. For any programmer of a certain age, the term 'memory leak' is enough to induce nightmares. So be absolutely sure to free dnyamically allocated memory.
Free that memory!

There is a fundamental difference between dynamically and statically allocated memory: dynamically allocated memory lives on the heap, while regular statically allocated memory lives on the stack. Don't worry if that did not make a lot of sense - it will after you watch the lecture:-)
Stack and Heap Memory
4 Lectures 41:56
Understand what an array in C is: its a contiguous block of memory that holds individual elements, each of the same size and layout.
Preview 19:59

Its a bit of a black art to pass arrays to functions as arguments - but don't be intimidated! Its easy once you think about it right.

Passing arrays as functions arguments

We described arrays as contiguous blocks of memory, holding individual elements that are each of the same size and layout. Well, that's exactly what a string is - an array of characters:-)

Strings as character arrays

The C programming language has some other handy ways of allocating memory - let's make sure to understand these.
More ways to allocate memory
3 More Sections
About the Instructor
Loony Corn
4.3 Average rating
5,382 Reviews
42,234 Students
75 Courses
An ex-Google, Stanford and Flipkart team

Loonycorn is us, Janani Ravi and Vitthal Srinivasan. Between us, we have studied at Stanford, been admitted to IIM Ahmedabad and have spent years  working in tech, in the Bay Area, New York, Singapore and Bangalore.

Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft

Vitthal: Also Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too

We think we might have hit upon a neat way of teaching complicated tech courses in a funny, practical, engaging way, which is why we are so excited to be here on Udemy!

We hope you will try our offerings, and think you'll like them :-)