Which programming paradigm emphasizes treating computation as the evaluation of mathematical functions and avoids changing-state and mutable data?
A. Procedural programming
B. Object-oriented programming
C. Functional programming
D. Declarative programming
Functional programming emphasizes the use of mathematical functions and avoids changing-state and mutable data.