Skip to content

About

This repository is a practical C programming learning workspace. It contains C source-code exercises in the repository itself and a separate documentation collection for understanding the concepts behind those programs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevPutta Logo

C Programming — Beginner Learning Notes

Learn the concept. Write the program. Trace the output. Build the logic.

View the repository on GitHub

C language Beginner to intermediate Markdown notes GCC


About this repository

This repository is a practical C programming learning workspace. It contains C source-code exercises in the repository itself and a separate documentation collection for understanding the concepts behind those programs.

The notes are written for beginners and use a consistent learning pattern:

  1. Concept — what the topic means and why it is used.
  2. Syntax — the common C syntax.
  3. Example — a small, readable program.
  4. Output — what the program prints.
  5. Trace — how important values change step by step.
  6. Common mistakes — errors beginners often make.
  7. Practice — exercises to check understanding.

The documentation ZIP accompanying this README contains Markdown notes only. It intentionally does not include or replace the existing .c source files or executable files in the repository.

Start here

Step Topic Notes
01 C overview and program structure 01 — Getting Started
02 Variables, constants and data types 02 — Variables and Data Types
03 Input, output and format specifiers 03 — Input and Output
04 Operators and expressions 04 — Operators
05 Type conversion and casting 05 — Type Conversion
06 Conditions and decision making 06 — Conditions
07 switch statement 07 — Switch
08 Loops: for, while, do while 08 — Loops
09 Nested loops and pattern logic 09 — Nested Loops
10 Functions and parameter passing 10 — Functions
11 Recursion 11 — Recursion
12 Arrays 12 — Arrays
13 Strings and string library 13 — Strings
14 Pointers 14 — Pointers
15 Structures and unions 15 — Structures and Unions
16 File handling 16 — File Handling
17 Problem solving and debugging 17 — Problem Solving

Interview preparation

Learning path

flowchart TD
    A[Program structure] --> B[Variables and I/O]
    B --> C[Operators and type conversion]
    C --> D[Conditions]
    D --> E[Loops]
    E --> F[Functions]
    F --> G[Recursion]
    G --> H[Arrays and strings]
    H --> I[Pointers]
    I --> J[Structures and unions]
    J --> K[File handling]
    K --> L[Practice and interview preparation]
Loading

Compile and run a C program

Install a C compiler such as GCC. Check that it is available:

gcc --version

Compile a file:

gcc filename.c -o program

Run on Windows Command Prompt:

.\program.exe

Run on Linux or macOS:

./program

For warnings and useful diagnostics, prefer:

gcc -std=c11 -Wall -Wextra -Wpedantic filename.c -o program

How to use these notes effectively

  • Read one topic at a time; do not try to memorize everything at once.
  • Type each example yourself instead of only copying it.
  • Predict the output before running the program.
  • Trace variables in a table when loops or recursion are involved.
  • Change input values and test boundary cases.
  • Compile with warnings enabled and fix warnings.
  • Complete the practice questions before moving to the next topic.

Important learning and safety notes

  • Examples are educational and should be tested with a C11-compatible compiler.
  • Some operations, such as out-of-bounds array access, use of uninitialized variables, invalid pointer dereferencing, and signed integer overflow, can cause undefined behavior. Do not treat their output as predictable.
  • The examples use small inputs to make the logic easy to follow. Real programs should validate user input and handle errors.
  • “All possible interview questions” is not a finite set. The interview guide is a broad, curated preparation set and should be expanded through practice and project experience.

Credits and learning references

These notes are an independently written beginner-friendly study companion. The following learning resources are acknowledged as references used for learning and topic guidance:

All credit for the original video and shared notes belongs to their respective creators/owners. This repository is not affiliated with or endorsed by Apna College. The explanations and examples in this documentation are rewritten for this repository; the linked resources remain the original materials.

Repository owner

DevPutta · Vibe Coder


Understand the logic, not just the syntax.

About

This repository is a practical C programming learning workspace. It contains C source-code exercises in the repository itself and a separate documentation collection for understanding the concepts behind those programs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages