Let $S$ be any set, and let $\mathbf{N}$ be the set of natural numbers. Let $|S|$ be the cardinality of $S$, and let $\aleph_0$ be the cardinality of $\mathbf{N}$.

Then $S$ is:

denumerable if ${|S|} = \aleph_0$,

countable if ${|S|} \leq \aleph_0$, and

uncountable if ${|S|} \gt \aleph_0$.

Note that the first two terms are not entirely standardised; some authors use them interchangeably for one or the other concept.

Definitions

If you accept the axiom of choice, then there is really nothing more to say than what was above. In weaker foundations, more care may be needed. The following seem to be the usual definitions in constructive mathematics:

$S$ is denumerable if there exists a bijection from $\mathbf{N}$ to $S$.

$S$ is uncountable if, given any function$f$ from a decidable subset of $\mathbf{N}$ to $S$, the function is strongly non-surjective in the sense that there exists an element of $S$ that is not in the image of $f$.

Of course, the terms are even less standardised here.

Properties

The empty set is countable; any uncountable set must be inhabited. Any (Kuratowski)-finite set is countable; any uncountable set must be infinite. A denumerable set is precisely an infinite countable set; sometimes this is written as a countably infinite set.

Classically, a countable set is either finite or denumerable, although this need not hold constructively. We do have, however, that a countable set is either empty or inhabited, which is classically trivial but need not hold constructively for every set.

In some forms of constructive mathematics, especially in the Russian school, it is assumed (or provable from other assumptions) that every set is a subset of a countable set. The fact the the set of real numbers is uncountable still applies, however, as the inclusion map of the subset need not split. In particular, the set of computable numbers is a subset of a countable set, but to prove that it is itself countable requires excluded middle.