Functional languages emphasize the evaluation of expressions, rather than the execution of commands. So in an imperative language like C, you might write
total = 0;
for (i = 0; i<10; ++i) total += i;
But in a functional language like Scheme, you would write it as a function instead:
(define sum
(lambda (from total)
(if (= 0 from)
total
(sum (- from 1) (+ total from)))))
(sum 10 0)
By logic programming, you probably mean Prolog. Logic programming languages, in general, are programming languages which incorporate some of the language of mathematical logic; unification and backtracking search are common operational features.
But most modern, popular languages are object-oriented, which means that objects can be defined and instantiated, and send messages to other objects. C++, C#, and Java are all object-oriented languages.