There are a few possibilities, but here is the one approach. Even the starting point—the set of natural numbers $\mathbb{N}$—can be defined in several ways, but the standard definition takes $\mathbb{N}$ to be the set of finite von Neumann ordinals. Let us assume that we do have a set $\mathbb{N}$, a constant $0$, a unary operation $s$, and binary operations $+$ and $\cdot$ satisfying the axioms of second-order Peano arithmetic.
First, we need to construct the set of integers $\mathbb{Z}$. This we can do canonically as follows: we define $\mathbb{Z}$ to be the quotient of $\mathbb{N} \times \mathbb{N}$ by the equivalence relation
$$\langle a, b \rangle \sim \langle c, d \rangle \text{ if and only if } a + d = b + c$$
The intended interpretation is that the equivalence class of $\langle a, b \rangle$ represents the integer $a - b$. Arithmetic operations can be defined on $\mathbb{Z}$ in the obvious fashion:
$$\langle a, b \rangle + \langle c, d \rangle = \langle a + c, b + d \rangle$$
$$\langle a, b \rangle \cdot \langle c, d \rangle = \langle a c + b d, a d + b c \rangle$$
(Check that these respect the equivalence relation.)
Again, this is not the only way to construct $\mathbb{Z}$; we can give a second-order axiomatisation of the integers which is categorical (i.e. any two models are isomorphic). For example, we may replace the set $\mathbb{Z}$ by $\mathbb{N}$, since the two sets are in bijection; the only thing we have to be careful about is to distinguish between the arithmetic operations for $\mathbb{Z}$ and for $\mathbb{N}$. (In other words, $\mathbb{Z}$ is more than just the set of its elements; it is also equipped with operations making it into a ring.)
Next, we need to construct the set of rational numbers $\mathbb{Q}$. This we may do using equivalence relations as well: we can define $\mathbb{Q}$ to be the quotient of $\mathbb{Z} \times (\mathbb{Z} \setminus \{ 0 \})$ by the equivalence relation
$$\langle a, b \rangle \sim \langle c, d \rangle \text{ if and only if } a d = b c$$
The intended interpretation is that the equivalence class of $\langle a, b \rangle$ represents the fraction $a / b$. Arithmetic operations are defined by
$$\langle a, b \rangle + \langle c, d \rangle = \langle a d + b c, b d \rangle$$
$$\langle a, b \rangle \cdot \langle c, d \rangle = \langle a c, b d \rangle$$
And as before, we can give an axiomatisation of the rational numbers which is categorical.
Now we can construct the set of real numbers $\mathbb{R}$. I describe the construction of Dedekind cuts, which is probably the simplest. A Dedekind cut is a pair of sets of rational numbers $\langle L, R \rangle$, satisfying the following axioms:
- If $x < y$, and $y \in L$, then $x \in L$. ($L$ is a lower set.)
- If $x < y$, and $x \in R$, then $y \in R$. ($R$ is an upper set.)
- If $x \in L$, then there is a $y$ in $L$ greater than $x$. ($L$ is open above.)
- If $y \in R$, then there is an $x$ in $R$ less than $y$. ($R$ is open below.)
- If $x < y$, then either $x \in L$ or $y \in R$. (The pair $\langle L, R \rangle$ is located.)
- For all $x$, we do not have both $x \in L$ and $x \in R$. ($L$ and $R$ are disjoint.)
- Neither $L$ nor $R$ are empty. (So $L$ is bounded above by everything in $R$ and $R$ is bounded below by everything in $L$.)
The intended interpretation is that $\langle L, R \rangle$ is the real number $z$ such that $L = \{ x \in \mathbb{Q} : x < z \}$ and $R = \{ y \in \mathbb{Q} : z < y \}$. The set of real numbers is defined to be the set of all Dedekind cuts. (No quotients by equivalence relations!) Arithmetic operations are defined as follows:
- If $\langle L, R \rangle$ and $\langle L', R' \rangle$ are Dedekind cuts, their sum is defined to be $\langle L + L', R + R' \rangle$, where $L + L' = \{ x + x' : x \in L, x' \in L' \}$ and similarly for $R + R'$.
- The negative of $\langle L, R \rangle$ is defined to be $\langle -R, -L \rangle$, where $-L = \{ -x : x \in L \}$ and similarly for $-R$.
- If $\langle L, R \rangle$ and $\langle L', R' \rangle$ are Dedekind cuts, and $0 \notin R$ and $0 \notin R'$ (i.e. they both represent positive numbers), then their product is $\langle L \cdot L' , R \cdot R' \rangle$, where $L \cdot L' = \{ x \cdot x' : x \in L, x' \in L', x \ge 0, x' \ge 0 \} \cup \{ x \in \mathbb{Q} : x < 0 \}$ and $R \cdot R' = \{ y \cdot y' : y \in R, y \in R' \}$. We extend this to negative numbers by the usual laws: $(-z) \cdot z' = -(z \cdot z') = z \cdot -z'$ and $z \cdot z' = (-z) \cdot -z'$.
John Conway gives an alternative approach generalising the Dedekind cuts described above in his book On Numbers and Games. This eventually yields Conway's surreal numbers.
Hint for (c): There is a nice one-to-one correspondence between the functions from $\{1,2\}$ to $\mathbb{N}$ and the set of ordered pairs $(a,b)$ where $a$ and $b$ roam over $\mathbb{N}$. We can now find a pleasant injective mapping from the ordered pairs $(a,b)$ to $\mathbb{N}$ by for example mapping the ordered pair $(a,b)$ to $2^a3^b$. There is even a simple bijective mapping, but (depending on the tools you have) an injective mapping may let you finish things.
Added for (c): We give some details if we choose to map the ordered pair $(a,b)$ to $2^a3^b$. The details are simpler if we use the bijection described in the link.
Let $F$ be the set of all functions from $\{1,2\}$ to $\mathbb{N}$. For any such function $f$, let $\phi(f)=(f(1),f(2))$. Then $\phi$ is a bijection from $F$ to the set of ordered pairs $(a,b)$, where $a$ and $b$ range over $\mathbb{N}$.
Look at the collection $K$ of numbers of the form $2^a3^b$, where $a$ and $b$ range over $\mathbb{N}$. There is an immediate bijection $\psi$ from the ordered pairs $(a,b)$ to $K$. List the numbers in $K$ in their natural order. Let the list be $k_1, k_2, k_3, \dots$. Note for example that $k_1=2^13^1=6$; $k_2=2^23^1=12$; $k_3=2^13^2=18$. The listing gives a bijection $\chi$ from $K$ to $\mathbb{N}$. For example, $\chi(6)=1$, $\chi(12)=2$, $\chi(18)=3$. So now we have $3$ bijections, (1) $\phi$, from $F$ to ordered pairs; (2) $\psi$, from ordered pairs to $K$; and (3) $\chi$, from $K$ to $\mathbb{N}$. Put them together: the function $\chi(\psi(\phi))$ is a bijection from $F$ to $\mathbb{N}$. We conclude that $F$ is denumerable.
For (b), there is a natural thing to try. Take a function $f$ from $\mathbb{N}$ to $\{1,2\}$. Look at the number whose $n$-th digit after the decimal point is $f(n)-1$. There is a problem, however, in that there is no number for the function which is identically $1$ to go to, since our set of numbers is $(0,1)$, and therefore excludes the number $0.000\dots.$. So we need to fix things, and the fix is slightly tricky.
Let $A$ be the set of all numbers in the interval $[0,1)$ whose decimal expansion has only $0$'s and/or $1$'s. Let $B$ be the set of such numbers in $(0,1)$. We exhibit a bijection from $A$ to $B$. Map $0$ to $1/10$, $1/10$ to $1/100$, $1/100$ to $1/1000$, and so on. For any other number $x$ in $A$, map $x$ to $x$. This gives a bijection from $A$ to $B$. It is a quite standard trick, related to Hilbert's infinite hotel. If the hotel is full, and a new guest comes, you put the person in Room $1$ into Room $2$, the person in Room $2$ into Room $3$, and so on forever. Now Room $1$ is free for the new guest. In our case, the number $0$ was the new guest.
Best Answer
Let $S$ be the set of all infinite subsets of $\Bbb N$ and let $T=S\cup \{\emptyset\}.$ For $b\in S$ let $f(b)=\sum_{n\in b}2^{-n}.$ And let $f(\emptyset)=0.$ Then $f:T\to [0,1]$ is a bijection so we can identify each $x\in [0,1]$ with the set $f^{-1}(x).$
For example $f^{-1}(1/3)=\{2n: n\in \Bbb N\}$ and $f^{-1}(1/2)=\Bbb N\setminus \{1\}.$
$f$ is a bijection because for each $x\in (0,1]$ there is a representation $(0. x_1x_2x_3...)$ of $x$ in base-$2$ for which the digit $1$ appears infinitely often, so if $b=\{n:x_n=1\}$ then $f(b)=x.$ And because if $b$ and $b'$ belong to $S$ then $b\ne b'\implies 0\ne f(b)\ne f(b')\ne 0.$