C

Learn C. Understand every step.

Start with school-sized problems, then build your understanding of values, decisions, functions, pointers and memory. Practice with the complete existing collection of C programs.

Choose your starting point

New to C? Start with Foundations. You can switch anytime.

Foundations

Read without an account. Run examples in the C compiler or your own C17 project. Your course progress stays on this device.

Sai Kishore Randhi, author
About the author

Sai Kishore Randhi

Embedded systems, VLSI, and chip design

Sai Kishore writes about embedded systems, VLSI, chip design, and the programming concepts behind modern hardware.

View LinkedIn profile ↗

Your learning path

All lessons

131 lessons267 code examples140 quiz questions

Your progress is saved on this device.

Estimated time includes reading, exploring code and answering quizzes. Learn at your own pace.

C Foundations

7 lessons · 41 min
  1. Hello World3code examples1quiz questions7minutes estimated learning time
  2. Compile and Debug2code examples1quiz questions6minutes estimated learning time
  3. Variables and Constants2code examples1quiz questions6minutes estimated learning time
  4. Types and Ranges2code examples1quiz questions6minutes estimated learning time
  5. Operators and Conversions2code examples1quiz questions6minutes estimated learning time
  6. Conditions2code examples1quiz questions5minutes estimated learning time
  7. Loops2code examples1quiz questions5minutes estimated learning time

Functions and Data

5 lessons · 27 min
  1. Functions2code examples1quiz questions6minutes estimated learning time
  2. Arrays2code examples1quiz questions5minutes estimated learning time
  3. Strings2code examples1quiz questions5minutes estimated learning time
  4. Recursion2code examples1quiz questions5minutes estimated learning time
  5. Scope and Lifetime2code examples1quiz questions6minutes estimated learning time

Pointers, Records and Memory

4 lessons · 24 min
  1. Pointers2code examples1quiz questions6minutes estimated learning time
  2. Pointer Bounds2code examples1quiz questions6minutes estimated learning time
  3. Structures2code examples1quiz questions6minutes estimated learning time
  4. Dynamic Memory2code examples1quiz questions6minutes estimated learning time

Input, Files and Program Organization

5 lessons · 32 min
  1. Files2code examples1quiz questions6minutes estimated learning time
  2. Headers and Modules6code examples1quiz questions10minutes estimated learning time
  3. Preprocessor2code examples1quiz questions5minutes estimated learning time
  4. Test C Programs2code examples1quiz questions5minutes estimated learning time
  5. Input and Output2code examples1quiz questions6minutes estimated learning time

Basic Input and Arithmetic

6 lessons · 33 min
  1. Greeting Program2code examples1quiz questions5minutes estimated learning time
  2. Print a Student Name2code examples1quiz questions6minutes estimated learning time
  3. Read an Integer2code examples1quiz questions5minutes estimated learning time
  4. Character Code and ASCII2code examples1quiz questions6minutes estimated learning time
  5. Measure Type Sizes2code examples1quiz questions6minutes estimated learning time
  6. Use long Deliberately2code examples1quiz questions5minutes estimated learning time

Numbers and Decisions

16 lessons · 80 min
  1. Add Two Numbers2code examples1quiz questions5minutes estimated learning time
  2. Multiply Decimal Values2code examples1quiz questions5minutes estimated learning time
  3. Swap Two Values2code examples1quiz questions5minutes estimated learning time
  4. Fahrenheit to Celsius2code examples1quiz questions5minutes estimated learning time
  5. Simple Interest2code examples1quiz questions5minutes estimated learning time
  6. Compound Interest2code examples1quiz questions5minutes estimated learning time
  7. Rectangle Area and Perimeter2code examples1quiz questions5minutes estimated learning time
  8. Even or Odd2code examples1quiz questions5minutes estimated learning time
  9. Positive, Negative or Zero2code examples1quiz questions5minutes estimated learning time
  10. Leap Year2code examples1quiz questions5minutes estimated learning time
  11. Vowel or Consonant2code examples1quiz questions5minutes estimated learning time
  12. Alphabetic Character2code examples1quiz questions5minutes estimated learning time
  13. Largest of Three2code examples1quiz questions5minutes estimated learning time
  14. Multiplication Table2code examples1quiz questions5minutes estimated learning time
  15. Quotient and Remainder2code examples1quiz questions5minutes estimated learning time
  16. A Small Calculator2code examples1quiz questions5minutes estimated learning time

Loops and Number Sequences

5 lessons · 26 min
  1. Sum of Natural Numbers2code examples1quiz questions5minutes estimated learning time
  2. Factorial2code examples1quiz questions6minutes estimated learning time
  3. Integer Power2code examples1quiz questions5minutes estimated learning time
  4. Fibonacci Sequence2code examples1quiz questions5minutes estimated learning time
  5. Print the Alphabet2code examples1quiz questions5minutes estimated learning time

Prime Numbers and Factors

11 lessons · 62 min
  1. Check a Prime2code examples1quiz questions6minutes estimated learning time
  2. Primes from 1 to N2code examples1quiz questions6minutes estimated learning time
  3. Primes in an Interval2code examples1quiz questions6minutes estimated learning time
  4. Prime Function2code examples1quiz questions6minutes estimated learning time
  5. Prime Interval Function2code examples1quiz questions6minutes estimated learning time
  6. Prime Helper: Early Return2code examples1quiz questions6minutes estimated learning time
  7. Prime Interval: Boundary Checks2code examples1quiz questions6minutes estimated learning time
  8. Least Common Multiple2code examples1quiz questions5minutes estimated learning time
  9. All Factors2code examples1quiz questions5minutes estimated learning time
  10. Sum of Two Primes2code examples1quiz questions5minutes estimated learning time
  11. Prime Pair: More Cases2code examples1quiz questions5minutes estimated learning time

Digits and Number Properties

7 lessons · 38 min
  1. Armstrong Number2code examples1quiz questions6minutes estimated learning time
  2. Armstrong Numbers 1–10002code examples1quiz questions6minutes estimated learning time
  3. Armstrong Interval2code examples1quiz questions6minutes estimated learning time
  4. Reverse a Number2code examples1quiz questions5minutes estimated learning time
  5. Palindrome Number2code examples1quiz questions5minutes estimated learning time
  6. Count Integer Digits2code examples1quiz questions5minutes estimated learning time
  7. Neon Number2code examples1quiz questions5minutes estimated learning time

Patterns with Nested Loops

13 lessons · 67 min
  1. Centered Star Pyramid2code examples1quiz questions5minutes estimated learning time
  2. Left Star Triangle2code examples1quiz questions5minutes estimated learning time
  3. Right-Aligned Star Triangle2code examples1quiz questions5minutes estimated learning time
  4. Inverted Star Triangle2code examples1quiz questions5minutes estimated learning time
  5. Number Triangle2code examples1quiz questions5minutes estimated learning time
  6. Character Triangle2code examples1quiz questions5minutes estimated learning time
  7. Hollow Star Pyramid2code examples1quiz questions5minutes estimated learning time
  8. Pascal’s Triangle2code examples1quiz questions6minutes estimated learning time
  9. Floyd’s Triangle2code examples1quiz questions5minutes estimated learning time
  10. Character Rows: More Practice2code examples1quiz questions5minutes estimated learning time
  11. Hollow Rows: Boundary Practice2code examples1quiz questions5minutes estimated learning time
  12. Floyd Rows: Counter Practice2code examples1quiz questions5minutes estimated learning time
  13. Pascal Rows: Coefficient Practice2code examples1quiz questions6minutes estimated learning time

Arrays, Searching and Sorting

15 lessons · 96 min
  1. Largest Array Element2code examples1quiz questions6minutes estimated learning time
  2. Array Minimum and Maximum2code examples1quiz questions6minutes estimated learning time
  3. Average Array Mark2code examples1quiz questions6minutes estimated learning time
  4. Bubble Sort2code examples2quiz questions7minutes estimated learning time
  5. Selection Sort2code examples2quiz questions7minutes estimated learning time
  6. Insertion Sort2code examples2quiz questions7minutes estimated learning time
  7. Merge Sort2code examples2quiz questions7minutes estimated learning time
  8. Ascending Order2code examples2quiz questions7minutes estimated learning time
  9. Descending Order2code examples2quiz questions7minutes estimated learning time
  10. Binary Search2code examples1quiz questions6minutes estimated learning time
  11. Copy an Array2code examples1quiz questions6minutes estimated learning time
  12. Rotate an Array Left2code examples1quiz questions6minutes estimated learning time
  13. Remove Sorted Duplicates2code examples1quiz questions6minutes estimated learning time
  14. Concatenate Two Arrays2code examples1quiz questions6minutes estimated learning time
  15. Common Array Values2code examples1quiz questions6minutes estimated learning time

Matrices and Two-Dimensional Data

13 lessons · 75 min
  1. Print a 2D Array2code examples1quiz questions6minutes estimated learning time
  2. Sort Within Each Row2code examples1quiz questions6minutes estimated learning time
  3. Matrix Equality2code examples1quiz questions6minutes estimated learning time
  4. Transpose a Matrix2code examples1quiz questions5minutes estimated learning time
  5. 2×2 Determinant2code examples1quiz questions5minutes estimated learning time
  6. Matrix Norm and Trace2code examples1quiz questions6minutes estimated learning time
  7. Add Matrices2code examples1quiz questions5minutes estimated learning time
  8. Matrix Multiplication2code examples2quiz questions7minutes estimated learning time
  9. Matrix Boundary2code examples1quiz questions6minutes estimated learning time
  10. Sum Matrix Diagonals2code examples1quiz questions6minutes estimated learning time
  11. Swap Row Endpoints2code examples1quiz questions6minutes estimated learning time
  12. Rotate Matrix Perimeter2code examples1quiz questions5minutes estimated learning time
  13. Matrix Function Contract2code examples1quiz questions6minutes estimated learning time

Strings and Text Practice

13 lessons · 78 min
  1. Concatenate Strings2code examples1quiz questions6minutes estimated learning time
  2. First Nonrepeating Character2code examples1quiz questions6minutes estimated learning time
  3. Palindrome String2code examples1quiz questions6minutes estimated learning time
  4. Recursive String Reversal2code examples1quiz questions6minutes estimated learning time
  5. Recursive Sentence Reversal2code examples1quiz questions6minutes estimated learning time
  6. Reverse Arrays and Strings2code examples1quiz questions6minutes estimated learning time
  7. Count String Length2code examples1quiz questions6minutes estimated learning time
  8. Sort String Bytes2code examples1quiz questions6minutes estimated learning time
  9. English Pangram2code examples1quiz questions6minutes estimated learning time
  10. First Character of Each Word2code examples1quiz questions6minutes estimated learning time
  11. Remove Leading Zeros2code examples1quiz questions6minutes estimated learning time
  12. Keep Alphabetic Characters2code examples1quiz questions6minutes estimated learning time
  13. Add Binary Strings2code examples1quiz questions6minutes estimated learning time

Functions and Recursion Practice

7 lessons · 35 min
  1. Recursive Natural Sum2code examples1quiz questions5minutes estimated learning time
  2. Recursive Sum: Base Case2code examples1quiz questions5minutes estimated learning time
  3. Recursive Factorial2code examples1quiz questions5minutes estimated learning time
  4. Recursive Factorial: Base Case2code examples1quiz questions5minutes estimated learning time
  5. Recursive Power2code examples1quiz questions5minutes estimated learning time
  6. Recursive GCD2code examples1quiz questions5minutes estimated learning time
  7. Cyclic Swap Through Pointers2code examples1quiz questions5minutes estimated learning time

Math and Numeric Models

4 lessons · 24 min
  1. Quadratic Roots2code examples2quiz questions7minutes estimated learning time
  2. Quadratic Roots: Cases2code examples2quiz questions7minutes estimated learning time
  3. Add Complex Numbers2code examples1quiz questions5minutes estimated learning time
  4. Standard Deviation2code examples1quiz questions5minutes estimated learning time
Practice 100 C ProgramsFind an exercise by task, then work through its explanation, code and practice answer.