How to learn C

An overview of how to get started from scratch with C


Learning C From Ground Zero

In general, Exercism assumes you already know the syntax and mechanisms of a language in a particular track. However, knowing the syntax of a language is merely the first step in gaining expertise in a language. Exercism allows you to practice solving problems and share discussion with other programmers who have solved the same problem. It is from the shared discussion that we gain expertise and insight into becoming better programmers.

If you are brand new to the C language, you should spend time learning the basics of the language first. Here are a few resources that can help you get started:

CodeChef is a simple web form interface to a C compiler that will let you try out small programs. Sometimes this can be an easier way to perform a quick experiment than building something locally in an integrated development environment.

Test-Driven Development in C

Exercism assumes that you are familiar with the concept of test-driven development. Each exercise comes with a series of tests that are already written for you. You progress through the exercise one test at a time, writing an implementation incrementally to satisfy the tests.

If you are new to test-driven development, it is strongly recommended that you first work through a quick overview of some test frameworks for C or read the book Test-Driven Development for Embedded C by James Grenning. These resources cover Unity and CppUTest; this track uses Unity.