This lesson shows why functions are needed in C programming. When code grows, repeating the same lines makes it hard to read and fix. Functions let us group code once and call it many times. The example defines a greet() function that prints 'Hello!'. The main function calls greet() twice, so 'Hello!' prints two times. The execution table shows each step: starting main, calling greet, printing, returning, calling greet again, and ending. Variables are not used here, so no changes tracked. Key moments explain why calling greet() twice is better than repeating print, what happens after greet() finishes, and how functions improve readability. The quiz asks about outputs and steps from the execution table to check understanding. The snapshot summarizes that functions help organize and reuse code, making programs simpler and easier to maintain.