Learn C from Scratch

Learn C from Scratch

Learn C from Scratch
Learn C from Scratch

Learn C from Scratch

Do you want to get a grip on the basic programming concepts from scratch? Do you feel the need to have a better and enhanced understanding of how it all works?  Well, you've come to the right place. 

This course outlines data types, control flow, functions, input/output, memory, compilation, debugging and other advanced topics in a comprehensive, yet concise manner.

C is where it all begins and where you should also begin to embark on your programming journey. 


The incredibly efficient and powerful C language forms the basis for many other languages like C++ and Java. 

It allows you to interact directly with memory and low-level computer operations, thereby enhancing your programming skills and deepening your understanding.

This comprehensive and detailed course will introduce you to all the basic and advanced programming concepts of C language.

In addition, it also addresses memory, debugging and parallel programming in C.

Contents

1. Why program in C?

  • What is C?
  • Virtues and Challenges
  • When Should I Use C?
  • The Bottom Line
  • References
2. Basic Types, Operators and Expressions
  • Print Statements
  • Variables
  • Data Types and Sizes
  • Constants
  • Declarations
  • Expressions
  • Type Conversions
  • Defining Your Own Type Names Using typedef
  • Increment and Decrement Operators
  • Exercises
  • Quiz
3. Control Flow
  • Loops
  • Conditionals
  • Switch
  • Break & Continue
  • Exercises
  • Quiz
4. Functions
  • Rationale
  • Defining a Function
  • Input Arguments
  • Return Value
  • Argument Checking
  • Variable Scope
  • Automatic vs Static Variables
  • Variadic Functions
  • Exercises
  • Quiz
5. Complex Data Types
  • Arrays
  • Array Initialization and Updating array elements
  • Multidimensional Arrays
  • Variable-Length Arrays
  • Command-line Arguments
  • Structures
  • Exercises
  • Quiz
6. Memory : Stack vs Heap
  • The Stack
  • The Heap
  • Stack vs Heap Pros and Cons
  • Examples
  • When to use the Heap ?
  • Links
  • Quiz
7. Pointers
  • Pointers
  • Pointers and Arrays
  • Passing Pointers to Struct
  • Passing Pointers to Functions
  • Dynamically Allocated Memory
  • Links
  • Exercises
  • Quiz
8. Strings
  • Strings
  • String handling routines in the C standard library
  • Arrays of Strings
  • Links
  • Exercises
  • Quiz
9. Input and Output
  • I/O Streams
  • Input and Output with Files
  • Binary Files (raw bytes)
  • Links
  • Exercises
  • Quiz
10. Macros and the C Preprocessor
  • The C processor and the`#define` statement
  • Macros
  • Conditional Compilation
  • Links
  • Quiz
11. Compiling, linking, Makefile, header files
  • Splitting your program into multiple files
  • The GNU `make` utility and Makefiles
  • Links
12. Debugging
  • The GNU Project Debugger gdb
  • Breakpoint
  • Gotchas
  • Tricky Code
  • Links
  • Quiz
13. Speeding up your code
  • Profiling your code using `gprof`
  • Known Slugs
  • Using the Optimizer compiler flags
  • Links
14. Advanced Topic 1 : A Brief Tour of Some Other Useful C Libraries
  • Introduction
  • GLib
  • GNU Scientific Library (GSL)
  • BLAS / LAPACK
  • Apophenia
  • GNUplot
15. Advanced Topic 2 : Parallel Programming in C
  • Why Parallel Programming?
  • Kinds of Parallel Programming
  • Tools for Parallel Programming
  • OpenMP
  • MPI
  • Links
  • Exercises
  • Quiz
16. Miscellaneous
  • Topics Not Covered Here (yet)
  • Links
17. Setting Up Your Computing Environment
  • Install some basic tool
  • Exercises
https://www.educative.io/courses/learn-c-from-scratch?aff=xDzJ

Share This :
Santosh Kumar

We are sharing the knowledge for free of charge and help especially third world countries who can create a simple blog and start making money from own blog. so we have launched this site. Facebook | Twitter | Pinterest | LinkedIn