This document provides an overview of C programming for embedded microcontroller systems. It discusses program structure, data types, variables, operators, control structures, functions, interrupts, and memory mapping. Specific topics covered include basic C program components and layout, microcontroller memory maps, header files, data types and sizes, constant values, variable scopes (automatic and static), arithmetic and logical operators, and basic C statement types. The intended audience is those with experience in assembly language programming who want to learn C for embedded applications.