A function in C programming is a block of code that performs a specific task, promoting reusability, abstraction, and modularity in code. Functions can be declared, called, and defined in various ways, with the ability to return values or not, and are categorized into library functions and user-defined functions. The document also outlines different aspects of function calls, explaining that functions can accept arguments or return values based on their definitions.