Programs transform input data into output data using programming languages that support different data types and operations on those types. A data type specifies a set of values and operations on those values and is used to declare variables, return values, and function parameters. Identifiers refer to data types, variables, and functions and have specific naming rules. Common built-in data types include integers, characters, floating points, pointers, arrays, strings, and structures.