#Learn To Code C
- Understand the topics listed in the curriculum.
- Complete a personal project written in C.
- Contribute to an open source project that is written in C.
- Why Learn C?
- Compiling and Running C Programs
- gcc demo
- clang demo
- clang versus gcc from clang.llvm.org
- The "Main" Function
- Exercises:
- Hello World
- Formatted Printing from "Learn C The Hard Way" (Ignore the comments about using Make.)
- Fahrenheit to Celsius from "The C Programming Language" (p. 8-14)
- Fizz Buzz
- Bonus: Euler Problem #1: Multiples of 3 and 5
- Bonus: Euler Problem #2: Even Fibonacci Numbers
- Bonus: Euler Problem #3: Largest Prime Factor
- Variable Declaration
- Data Types
- Exercise: Types of Variables from "Learn C The Hard Way"
- Exercise: Finding the Size of Data Types
- Strings in C
- Exercise: Arrays and Strings from "Learn C The Hard Way" (Read the error output from the "break it" section here)
- Printing
- Conditionals
- Exercise: If, Else-If, Else from "Learn C The Hard Way" (Bonus: This exercise uses command line arguments.)
- Loops
- Exercise: Word Counter from "The C Programming Language" (p. 20-22)
- Arithmetic Operations from "The C Programming Language" (p.41)
- Exercise: More Variables, Some Math from "Learn C The Hard Way"
- More Exercises:
- Bonus: Switch Statement from "Learn C The Hard Way"
- Bonus: Arrays of Strings, Looping from "Learn C The Hard Way"
- Bonus: While-Loop And Boolean Expressions from "Learn C The Hard Way"
- Arrays (TODO)
- Exercise: Sizes and Arrays from "Learn C The Hard Way"
- Functions (TODO)
- Exercise: Writing and Using Functions from "Learn C The Hard Way"
- More About Data Types (TODO)
- Type Conversion (TODO)
- Getting User Input (TODO)
- exercises (TODO)
- Exercise: Basic Calculator (TODO)
- C Libraries
- Using multiple files in a project (TODO)
- Exercise: Variations of Fizz Buzz
- External Variables (TODO)
- Exercise: RPN Calculator from "The C Programming Language" (p.74-79)
- [Make Files][make-files] (TODO)
- Exercise: Make some Makefiles
- sizeof and memory allocation (TODO)
- Exercise: Caesar Cipher (TODO)
- Pointers (TODO)
- Standard Libraries (TODO)
- exercises (TODO)
- (TODO)
- Structs
- Unions (TODO)
- Enums (TODO)
- exercises (TODO)
- Bitwise Operations or Buffer Overflow (TODO)
###Bonus Material:
###Small Tools
- Small Tools Intro
- Command Line Options & Arguments
- Exercise: Tip Calculator
- Exercise: D&D Character Generator
###Resources
Much of the material for this course was drawn from the following:
- "The C Programming Language" by Brian W. Kernighan and Dennis M. Ritchie
- "Learn C The Hard Way" by Zed Shaw
###License MIT License