Skip to content

7etsuo/clings

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

      _ _                 
     | (_)                
  ___| |_ _ __   __ _ ___ 
 / __| | | '_ \ / _` / __|
| (__| | | | | | (_| \__ \
 \___|_|_|_| |_|\__, |___/
                 __/ |    
                |___/     

What is clings?

clings is a C version of the popular program "rustlings" made for the Rust programming language.

The purpose of this program is to take you from a total C noob, to somewhere beyond beginner.

demo

Dependencies

  1. gcc
  2. make

You can install everything need (on ubuntu) with:

sudo apt-get install build-essential

How do I use it?

  1. Clone clings to your local machine
  2. Open clings in your favorite text editor
  3. Open a terminal session
  4. Split your screen so you can view them side by side
  5. Compile and start clings
make
./clings
  1. Start at exercise_01 and continue from there

Contributions

The best way to contribute is by helping me create new exercises. I have created an issue for each exercise that needs to be created. The issues follow the flow of "The C Programming Language" book.

To get started, find an exercise you want to work on and create a PR for it. Then refer to The C Programming Language for the specific chapter references in the issue title.

Exercise Creation Instructions:

  1. Create a new directory for the exercise based on the name provided in the issue.
  2. Create a readme with an explanation for the user. This should teach them what they need to know without giving the answer.
  3. Create 1 or more ".c" exercise files. The file(s) should either fail to compile, or run, or both.
    • The exercise files should be interactive, they should lead the user to learning the things they need to learn.
    • If multiple exercises are needed to have then build up knowledge, then this is fine.

Feel free to ask questions if you need more details.

Exercise Directory structure

  1. README.md file is required
  2. N number of ".c" exercises can be included, the program will work through them dynamically
  3. At the top of any exercise, provide vague explanation of the objective of the exercise without giving the answer

To do

  1. Rustlings has the concept of asking for a hint, will eventually look to integrate this

Note

I did this as a project to help me learn C. The source code is far from perfect. I would gladly accept any code reviews and will work to fix any issues that are submitted.

About

rustlings for C....clings

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.8%
  • Makefile 1.2%