Skip to content

Containing bunch of C programs that cover the basics. Prefect if you are learning C and looking for some programs.

License

Notifications You must be signed in to change notification settings

TheTimelessRecall/C-Odyssey

Repository files navigation

🌊 C Odyssey

C Logo

A roadmap for learning C programming.

Build Status License Style

The Roadmap

Coming from Python ? Start here.

The absolute building blocks

  • Variables, printf, scanf, simple math, ASCII.
  • Check out: BMI Calculator, Temperature Converter.

Teaching the computer to make decisions.

  • if-else, switch statements, loops (for, while).
  • Check out: Leap Year Checker, Pattern Printing (Floyd's Triangle).

Algorithms involved in integer properties. Good for interview prep.

  • Modulo operator, digit extraction, base conversion.
  • Check out: Armstrong Numbers, Binary ↔ Decimal, Number to Words.

Handling lists of data

  • Indexing, memory layout, bounds checking.
  • Check out: Reversing arrays, Finding Min/Max.

Classic Computer Science algorithms you need to know.

  • Efficient data retrieval and organization.
  • Check out: Bubble Sort, Binary Search, Merge Sort.

The "scary" stuff (that isn't actually that scary if you pay attention).

  • Memory addresses, dynamic allocation (malloc/free), pointer arithmetic.
  • Check out: Custom atoi/itoa, Sparse Matrix Compression.

Putting it all together into something usable.

  • Tic-Tac-Toe: Full game logic with 2D arrays.
  • Number Guessing Game: Random generation and loops.

Running this

I used a Makefile to keep things simple. No need to type gcc manually for every program.

  1. Clone the Repo:

    git clone https://github.com/TheTimelessRecall/C-Odyssey.git
    cd C-Odyssey
  2. Compile everything:

    make

    This creates a bin/ folder with all your executables inside.

  3. Run a program:

    ./bin/tic_tac_toe

    (Or whatever program you want to run)

  4. Clean up:

    make clean

Where to Learn C

Course

  • CS50x (Harvard): The gold standard. It is free, difficult, and covers the computer science concepts

Youtube Playlist

  • Jacob Sorber: A computer science professor who explains exactly what happens in memory

Tic-Tac-Toe Demo

Tic Tac Toe


Want to Contribute?

  1. Fork it.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Format your code using the included .clang-format.
  4. Commit and Push.
  5. Open a Pull Request.

About

Containing bunch of C programs that cover the basics. Prefect if you are learning C and looking for some programs.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6