NewMeet CrodoTry it free on Mac →
C

C Typing Practice Chapters

150 exercises across 16 chapters, ordered from basic syntax to advanced patterns. Each section is real C code, and your best speed and accuracy are saved per section.

Basic Syntax

0/10 completedBeginner

Learn C basic syntax, data types, and program structure

Program Structure

Variables & Data Types

Constants

Basic Operators

Comparison & Logical

Formatted Output

Reading Input

Type Casting

Increment & Compound

Mixed Basic Practice

Control Flow

0/10 completedBeginner

Master C conditionals, loops, and branching

If-Else Statements

Switch Statements

For Loops

While Loops

Do-While Loops

Break and Continue

Nested Loops

Ternary Operator

Goto and Cleanup

Mixed Control Practice

Functions

0/9 completedIntermediate

Declare, define, and call functions in C

Function Basics

Function Prototypes

Passing by Pointer

Array Parameters

Recursion

Static and Extern

Function Pointers

Callbacks

Variadic Functions

Types & Integers

0/8 completedIntermediate

Fixed-width integers, size_t, conversions, and limits

Fixed-Width Integers

size_t and ptrdiff_t

Unsigned Arithmetic

Overflow Checks

The limits.h Header

Characters as Integers

Implicit Conversions

Booleans with stdbool

Arrays & Algorithms

0/10 completedIntermediate

Searching, sorting, and traversing arrays by hand

Linear Search

Binary Search

Bubble Sort

Insertion Sort

Reversing an Array

Min and Max

Matrix Traversal

Matrix Multiply

Prefix Sums

Two Pointers

Pointers & Memory

0/10 completedIntermediate

Master pointers, addresses, and dynamic memory in C

Pointer Basics

Null Checks

Pointer Arithmetic

Arrays and Pointers

Malloc and Free

Calloc and Realloc

Pointers to Pointers

Void Pointers

Const Pointers

Mixed Pointer Practice

Strings & Arrays

0/9 completedIntermediate

Work with character arrays and the C string library

Character Arrays

String Length

Copying Strings

Comparing Strings

Concatenating Strings

Searching Strings

Two-Dimensional Arrays

Array Iteration

Character Functions

String Processing

0/10 completedIntermediate

Tokenizing, parsing, and building strings safely

strtok

Manual Tokenizing

Building with snprintf

Parsing with sscanf

Reversing a String

Palindrome Check

Case Conversion

Counting Characters

Trimming Whitespace

Bounded Copy

Structs, Unions & Enums

0/9 completedAdvanced

Build custom data types with structs, unions, and enums

Struct Basics

Typedef Structs

Struct Pointers

Nested Structs

Arrays of Structs

Structs and Functions

Enumerations

Unions

Bit Fields

Data Structures

0/9 completedAdvanced

Linked lists, stacks, queues, and trees built by hand

Linked List Node

Pushing to a List

Traversing a List

Freeing a List

Array-Backed Stack

Circular Queue

Growable Array

Binary Tree Insert

Tree Traversal

Memory Patterns

0/10 completedAdvanced

Allocation strategies and ownership discipline

Ownership Conventions

Arena Allocator

2D Dynamic Arrays

Flexible Array Members

Copying Structs

Growth Strategy

NULL After Free

Cleanup Paths

Alignment

Mixed Memory Practice

Standard Library

0/9 completedIntermediate

The C library functions you reach for every day

Parsing Numbers

Sorting with qsort

Searching with bsearch

The math.h Header

Random Numbers

Working with Time

Memory Functions

Assertions

Exit and Cleanup

I/O & Formatting

0/10 completedIntermediate

stderr, binary I/O, and robust input loops

Writing to stderr

fgets + sscanf Loop

Binary I/O

fseek and ftell

Reading Until EOF

Writing CSV

Dynamic Width and Precision

Buffered Output

Growing Line Reader

Mixed I/O Practice

Multi-File Programs

0/7 completedAdvanced

Headers, linkage, and designing a C module

Header Declarations

Source Implementation

Extern Variables

Internal Linkage

Opaque Pointers

Dispatch Tables

Include Ordering

Systems Basics

0/10 completedAdvanced

Environment, signals, exit codes, and state machines

getenv

Exit Codes

Signal Handling

sigaction

Argument Dispatch

errno and perror

Timing with clock

Enum State Machine

Config Bit Flags

Mixed Systems Practice

Files & Preprocessor

0/10 completedAdvanced

File I/O, macros, and advanced C techniques

Opening Files

Reading Files

Writing Files

Preprocessor Macros

Include Guards

Conditional Compilation

Error Handling

Bitwise Operations

Command Line Arguments

Mixed Advanced Practice