O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learn and Master C Programming For Absolute Beginners!

Video Description

C PROGRAMMING FOR BEGINNERS WITH OVER 50 EASY TO FOLLOW HANDS-ON PROJECTS USING VISUAL STUDIO!

About This Video

  • Mastery of C programming including advanced as well as complex parts
  • Mastery of Visual Studio on Windows for C/C++ programmers
  • Source Code Examples
  • Tons of hands-on practice
  • Help and support with Q&A
  • Test your understanding with end-of-section quizzes
  • Over 50 projects and solutions in C using Visual Studio

In Detail

In this course, we'll explore the C programming language from the ground up. We'll begin with a brief section on computer basics followed by a Hello world program in C and a walk-through to understand its elements and to dissect it. You will be introduced to the main elements of C like data types, operators, arrays, strings, pointers...etc. We will cover ALL C KEYWORDS in this course, when and how to use them with coding examples! I have dedicated entire sections for pointers, arrays, and strings. This course has the most extensive details on how and why we need pointers and how to avid pointer related gotchas. I guarantee you will not find any other course that covers pointers in this depth with easy to understand and follow examples like this course. There is even a full section on mastering Visual Studio included here for free so you can master using it for C/C++ and even C#; as well as Visual Basic. This course will help you learn and master C language and become a professional programmer on your own pace by watching me as I introduce you to the concepts and fundamentals of programming and writing efficient code in C with easy to follow lectures that are full of hands-on practices and coding! During this course, I will share with you the tips and tricks of the trade that I learned throughout my 20+ years of professional career as a software engineer! I will teach you C language and programming from the ground up as I assume you have no prior programming experience. I have included sections for people who have never programmed before, but for those who are already programming, they can either watch them refresh on some fundamentals or simply chose to skip them altogether. If you want to become a professional software developer then search no more, you have found the right course!

Table of Contents

  1. Chapter 1 : Introduction
    1. Welcome to this course! 00:00:06
    2. About your instructor... 00:01:20
    3. What is covered in this course? 00:01:39
  2. Chapter 2 : Quick Intro To Computer Basics
    1. Section Introduction 00:00:33
    2. CPU, GPU and 32-bit versus 64-bit Processors 00:05:53
    3. Memory & Storage 00:05:04
    4. Software: BIOS, OS and Programs 00:02:50
    5. A quick look at Programming Languages 00:07:07
    6. A brief history of C language 00:03:35
  3. Chapter 3 : Installing & Configuring Visual Studio
    1. Downloading Visual Studio 2015 00:03:14
    2. Installing Visual Studio 2015 00:05:45
  4. Chapter 4 : Writing our First Program - A 'Hello, World!' Program in C
    1. Writing Our First Program Using Visual C on the Command-Line 00:10:01
    2. Using Visual Studio Command Prompt to write 'Hello, World' one more time 00:08:59
    3. Using Visual Studio IDE to write our first C Program 00:13:29
    4. A Deeper Look At Our First C Program & Compilation Process 00:08:08
  5. Chapter 5 : Walkthrough: Visual Studio IDE
    1. Section Introduction and Overview 00:01:08
    2. Visual Studio Start Page 00:01:26
    3. Visual Studio File Menu 00:03:10
    4. Edit Menu 00:01:57
    5. Showing Line Numbers In The Text Editor 00:01:13
    6. Tabs versus White Space 00:05:22
    7. Quick Find in Visual Studio 00:03:06
    8. Find & Replace in Visual Studio 00:02:04
    9. Visual Studio Debug Menu 00:05:34
    10. Build Menu 00:03:17
    11. Visual Studio Solutions & Projects 00:10:41
  6. Chapter 6 : Fundamentals and Basics
    1. Comments in C 00:07:21
    2. C Symbols & Keywords 00:01:36
    3. Introduction to C Data Types and Basic Types 00:12:41
    4. Basic C Types Continued 00:06:37
    5. How to use Basic C Types with prtinf format specifiers 00:09:48
    6. C Variables and Constants 00:13:17
    7. 'enum' Data Types in C 00:04:57
    8. Variable Scope 00:07:00
    9. More on Block Scope in C 00:03:45
    10. Understanding & Creating C Functions 00:11:06
  7. Chapter 7 : Operators & Expressions
    1. Operators & Expressions in C 00:13:12
    2. Using Arithmetic Assignment Operators in C 00:05:37
    3. Increment & Decrement Operators in C/C++ 00:07:10
    4. Cast Operator and Type Casting in C 00:04:38
  8. Chapter 8 : Conditional Statements
    1. Using if...else...conditional statements 00:05:56
    2. If...else...Code Example: Checking high blood pressure readings 00:09:09
    3. Using Ternary Operator 00:04:14
    4. Using switch statement 00:08:57
    5. Using 'break' keyword... 00:05:53
  9. Chapter 9 : Loops, Jump keywords & Control Flow
    1. Introduction to Loops 00:00:19
    2. Understanding For Loops in C/C++ 00:03:21
    3. Using For Loops in C/C++ 00:06:52
    4. Stepping through and debugging a 'for' Loop 00:05:21
    5. Using 'while' loops in C/C++ 00:06:32
    6. Using 'do...while' Loops in C/C++ 00:05:57
    7. Using 'continue' keyword... 00:04:31
    8. Using 'goto'... 00:04:33
  10. Chapter 10 : Arrays
    1. Introduction to Arrays 00:07:10
    2. Working with single-dimension arrays in C/C++ 00:03:29
    3. Arrays and Functions 00:06:11
    4. How To Calculate Array Size in C/C++ 00:06:46
    5. Working with 2D Arrays 00:03:33
    6. Declaring and Initializing Multidimensional Arrays 00:05:07
    7. Character Arrays versus Strings 00:06:58
  11. Chapter 11 : Pointers
    1. Introduction & Section Overview 00:02:38
    2. Address of Operator (&) 00:02:55
    3. Why Do We Need Pointers? 00:04:48
    4. What is a pointer? 00:08:51
    5. Using Pointers 00:06:44
    6. A Closer Look At How Pointers Work! 00:01:57
    7. Passing Pointers to Functions: Let's Implement Swap Function! 00:07:05
    8. Passing Pointers to Functions: Example With 2 Pointers 00:06:58
    9. Passing By Value vs. Passing By Pointer 00:03:12
    10. Pointers and Arrays 00:05:54
    11. Pointer Arithmetic: Working with Integer Pointers 00:06:31
    12. Pointer Arithmetic: Printing out Memory Addresses for Pointers 00:01:51
    13. Pointer Arithmetic: Working with Character Pointers (Strings) 00:02:16
    14. Pointers and Strings: Beware of Attempting to Modify Read-Only Memory! 00:04:12
    15. Pointers and Strings (2): Printing Out Vowels In a String 00:04:55
    16. Pointers and Strings: Remove Vowels Example 00:04:38
    17. Pointers and Arrays: Using Pointer Arithmetic with Arrays 00:03:25
    18. Pointers and 'const' Keyword 00:08:07
    19. Void Pointers 00:06:28
  12. Chapter 12 : Strings
    1. Working With Strings - Reviewing Strings in C/C++ 00:03:34
    2. Using 'strlen' function to get length of string 00:04:49
    3. Using 'strcpy' and 'strcat' functions 00:06:05
    4. Using 'sprintf' function 00:06:46
    5. Using 'strcmp' and 'stricmp' functions to compare strings 00:04:52
    6. Using 'strchr' to search for characters inside strings 00:09:13
    7. Using 'strstr' to search for a substring inside another string 00:06:55
    8. How to declare and use string arrays 00:06:13
    9. Arguments of main() function - Part 1 00:08:47
    10. Arguments of main() function - Part 2 00:09:01
  13. Chapter 13 : Working with User Input
    1. A quick overview of 'scanf' function 00:03:11
    2. Getting user input using 'scanf' 00:06:10
    3. Important Tips for Working with User Input 00:06:10
  14. Chapter 14 : Preprocessor Directives
    1. Section Overview 00:01:01
    2. #define directive 00:03:13
    3. Using '#define' To Define Symbolic Constants 00:06:37
    4. using #define to define macros and avoiding macro pitfalls 00:08:52
    5. '#include': Angle Brackets (<>) versus Double Quotes ("") 00:07:09
    6. Understanding Conditional Compilation 00:05:56
    7. Using Conditional Compilation 00:05:11
    8. '#error' preprocessor directive 00:01:01
    9. Using "#" and "##" operators 00:06:48
  15. Chapter 15 : Working with Header Files and Multiple Source Files
    1. Nesting Header Files & Multiple Inclusion Problem 00:08:29
    2. Forward Declarations in C/C++ 00:08:40
    3. Breaking Your Code Into Multiple Source Files 00:14:17
  16. Chapter 16 : Creating C Libraries (Static LIBs)
    1. Libraries Overview 00:06:35
    2. Creating Your First Library Project (.LIB) 00:07:09
    3. Using Our Library in a Project - The Un-recommended Approach 00:11:40
    4. Referencing Our Library When Installed in a Specific Path (Folder) 00:14:14
    5. Using Our Library From Projects Within The Same Solution 00:12:01
  17. Chapter 17 : Structures & Unions
    1. Using 'struct' keyword in C 00:05:55
    2. Using 'union' keyword in C 00:09:11
  18. Chapter 18 : Working with Files and I/O
    1. Introduction to File I/O 00:03:33
    2. Reading and Writing Files (Overview) 00:07:41
    3. Reading and Displaying Text Files - Part 1 00:10:08
    4. Reading and Displaying Text Files - Part 2 00:04:28
    5. Creating Text Files using File API in C/C++ 00:11:04
    6. Searching for text inside a text file! 00:10:50
  19. Chapter 19 : Let's Talk Binary | Manipulating Bits
    1. Bit-wise Operators Overview 00:02:56
    2. Bit-wise AND (&) operator 00:02:14
    3. Bit-wise OR (|) operator 00:00:54
    4. Bit-wise XOR (^) Operator 00:00:47
    5. Bit-wise NOT (~) Operator 00:00:53
    6. Bit-wise Right Shifting Operator (>>) 00:01:18
    7. Bit-wise Left Shifting Operator (<<) 00:01:24
    8. Using Bit-wise Operators in Code 00:05:20
  20. Chapter 20 : Dynamic Memory Allocation
    1. Dynamic Memory Management Overview 00:00:55
    2. Understanding Stack Memory 00:05:12
    3. Understanding Heap Memory 00:06:42
    4. Stack vs. Heap 00:05:35
    5. Using Malloc & Free In Our Code 00:09:27
  21. Chapter 21 : More C Keywords...
    1. 'auto' keyword in C 00:02:28
    2. 'register' keyword in C 00:02:35
    3. declaring static variables inside functions with 'static' keyword in C 00:02:48
    4. 'volatile' keyword in C 00:01:55
    5. using 'typepdef' keyword in C 00:04:09
    6. Understanding 'extern' keyword in C 00:03:21
    7. Using 'extern' Keyword in our code 00:04:00
    8. Using 'static' keyword with global variables and functions in C 00:09:35
  22. Chapter 22 : Advanced Topics
    1. Recursion in C/C++ 00:10:19
    2. Variadic Functions Overview 00:03:36
    3. Let's Implement a Variadic Function in C - Technique #1 00:06:19
    4. Let's Implement a Variadic Function in C - Technique #2 00:05:27
  23. Chapter 23 : Mixing C with C++ Code
    1. Overview of Mixing C with C++ 00:05:47
    2. Creating A C++ Program That Uses Our C Library 00:08:27
  24. Chapter 24 : Where To Go From Here...
    1. Where To Go From Here... 00:02:07