C Programming


This course includes
Hands-On Labs

The C Programming course takes you through the core elements of coding, covering everything from understanding basic concepts like variables and control structures to mastering advanced topics like functions and memory management. Designed for simplicity, this course establishes a strong foundation, empowering you to create efficient and effective C programs.this course provides a sturdy foundation, empowering you to write efficient and effective C programs.


35+ Lessons | 23+ Exercises | 124+ Quizzes | 95+ Flashcards | 95+ Glossary of terms

Hands-On Labs

58+ LiveLab | 10+ Video tutorials | 20+ Minutes

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • Why the C Language?
  • The C Programming For Dummies Approach
  • How This Course Works
  • Icons Used in This Course

Lessons 2: A Quick Start for the Impatient

  • What You Need to Program
  • Command Prompt Programming
  • IDE Programming
  • Your First Program

Lessons 3: The Programming Thing

  • The History of Programming
  • The Programming Process

Lessons 4: Anatomy of C

  • Parts of the C Language
  • Behold the Typical C Program

Lessons 5: Trials and Errors

  • Display Stuff on the Screen
  • More Text Output Nonsense

Lessons 6: Values and Simple Math

  • A Venue for Various Values
  • The Computer Does the Math

Lessons 7: A Place to Put Stuff

  • Values That Vary
  • Variable Madness!
  • Constants Always the Same

Lessons 8: Input and Output

  • Character I/O
  • Text I/O, but Mostly I

Lessons 9: Decision Making

  • What If?
  • Multiple Decisions
  • Multiple Comparisons with Logic
  • The Old Switch Case Trick
  • The Weird ?: Decision Thing

Lessons 10: Loops, Loops, Loops

  • A Little Déjà Vu
  • The Thrill of for Loops
  • The Joy of the while Loop
  • Loopy Stuff

Lessons 11: Fun with Functions

  • Anatomy of a Function
  • Functions and Variables
  • Constants of the Global Kind

Lessons 12: The Unavoidable Math Lesson

  • Math Operators from Beyond Infinity
  • Math Function Mania
  • It’s Totally Random
  • The Holy Order of Precedence

Lessons 13: Give Me Arrays

  • Behold the Array
  • Multidimensional Arrays
  • Arrays and Functions

Lessons 14: Fun with Text

  • Character Manipulation Functions
  • String Functions Galore
  • Fun with printf() Formatting
  • Gently Down the Stream

Lessons 15: Structures, the Multivariable

  • Hello, Structure
  • Weird Structure Concepts

Lessons 16: Life at the Command Prompt

  • Conjure a Terminal Window
  • Arguments for the main() Function
  • Time to Bail

Lessons 17: Variable Nonsense

  • Variable Control
  • Variables, Variables Everywhere

Lessons 18: Binary Mania

  • Binary Basics
  • Bit Manipulation
  • The Joy of Hex

Lessons 19: Introduction to Pointers

  • The Biggest Problem with Pointers
  • Sizing Up Variable Storage
  • The Hideously Complex Topic of Pointers

Lessons 20: Deep into Pointer Land

  • Pointers and Arrays
  • Strings Are Pointer-Things
  • Pointers in Functions

Lessons 21: Memory Chunks and Linked Lists

  • Give Me Memory!
  • Lists That Link

Lessons 22: It’s About Time

  • What Time Is It?
  • Time to Program

Lessons 23: Permanent Storage Functions

  • Sequential File Access
  • Random File Access

Lessons 24: File Management

  • Directory Madness
  • Fun with Files

Lessons 25: Beyond Mere Mortal Projects

  • The Multi-Module Monster
  • Other Libraries to Link

Lessons 26: Out, Bugs!

  • Simple Tricks to Resolve Problems
  • The Debugger
  • Improved Error Messages

Lessons 27: Ten Common Boo-Boos

  • Conditional Foul-Ups
  • == v. =
  • Dangerous Loop Semicolons
  • Commas in for Loops
  • Missing break in a switch Structure
  • Missing Parentheses and Curly Brackets
  • Don’t Ignore a Warning
  • Endless Loops
  • scanf() Blunders
  • Streaming Input Restrictions

Lessons 28: Ten Reminders and Suggestions

  • Maintain Good Posture
  • Use Creative Names
  • Write a Function
  • Work on Your Code a Little Bit at a Time
  • Break Apart Larger Projects into Several Modules
  • Know What a Pointer Is
  • Add Whitespace before Condensing
  • Know When if-else Becomes switch-case
  • Remember Assignment Operators
  • When You Get Stuck, Read Your Code Out Loud

Appendix A: ASCII Codes

Appendix B: Keywords

Appendix C: Operators

Appendix D: Data Types

Appendix E: Escape Sequences

Appendix F: Conversion Characters

Appendix G: Order of Precedence

Hands-on LAB Activities

A Quick Start for the Impatient

  • Building a Project and Running a File
  • Writing the Source Code
  • Displaying Current Time and Day of the Week
  • Writing Text to a File
  • Finding a Specific Record in a File
  • Separating Files from Directories
  • Creating and Renaming a File
  • Linking Two Source Code Files
  • Creating a Debugger Target Build
  • Using Debugger to Watch Variables

Anatomy of C

  • Displaying the Result of Multiplication of Two Numbers

Trials and Errors

  • Displaying a Rhyme Using the puts() Function
  • Spotting Errors in the Code

Values and Simple Math

  • Using Conversion Characters
  • Minding the Extra Zeros
  • Using the Multiplication Operator
  • Using the Addition Operator

A Place to Put Stuff

  • Working with a Variable
  • Declaring Multiple Variables
  • Using a Constant

Input and Output

  • Fetching Characters Using getchar()
  • Working with Character Variables

Decision Making

  • Making a Comparison Using the if Keyword
  • Using the Assignment Operator
  • Using the if-else Structure
  • Constructing a Meal Plan Using a Switch-Case Structure

Loops, Loops, Loops

  • Counting with the for Statement
  • Generating a 3-Letter Acronym
  • Using a While Loop

Fun with Functions

  • Using Local Variables in a Function
  • Passing a Value to a Function
  • Putting Defined Constants to Use

The Unavoidable Math Lesson

  • Counting Up and Down
  • Displaying Modulus Values
  • Converting from Radians to Degrees

Give Me Arrays

  • Finding Square of Array Elements
  • Displaying the Stock Market Closing Numbers
  • Sorting an Array Using Bubble Sort
  • Creating a Three-Dimensional Array

Fun with Text

  • Changing Characters
  • Displaying the First and Last Names

Structures, the Multivariable

  • Making an Array of Structures
  • Putting Structures Within Structures

Life at the Command Prompt

  • Quitting the Program

Variable Nonsense

  • Using Typedef to Define a Structure

Binary Mania

  • Displaying Binary Values
  • Using the Bitwise | Operator
  • Using the Bitwise & Operator

Introduction to Pointers

  • Reading a Variable Size
  • Reading an Array Size
  • Reading a Structure Size
  • Assigning Values by Using a Pointer

Deep into Pointer Land

  • Displaying Array's Element and their Values
  • Building an Array of Pointers
  • Using Pointers to Display a String
  • Swapping the Values of Two Integer Variables

Memory Chunks and Linked Lists

  • Allocating Space Using the Malloc Function
  • Traversing a Linked List
scroll to top