Constants are fixed values that do not change during program execution. There are several types of constants including numeric, character, and string constants. Numeric constants represent numerical values and can be integers or reals. Integers can be decimal, octal, or hexadecimal while real constants contain floating point parts. Character constants are single characters within single quotes and string constants are collections of characters within double quotes.