$f(x) = x$ when x is rational, $f(x) = 0$ when x is irrational. Find all points at which $f$ is continous. 
Let $f:\mathbf{R} \to \mathbf{R}$ defined as : $f(x) = x$ when x is
  rational, $f(x) = 0$  when x is irrational. Find all points at which
  $f$ is continous.

Let $c \in Q - \{0\}$
$ \exists \langle x_n\rangle$ in $R \setminus Q $ such that
$x_n \to c $
$f(x_n) = 0 \to 0 $
now 
$ f(c) = c \neq 0$
Therefore, $ f(x_n)$ does not converges to $f(c)$
Hence $f$ is discontinuous on $Q - \{0\}$
Let $c \in R \setminus Q$
$\exists \langle y_n\rangle$ in $Q$ such that
$y_n \to c$
$f(y_n) = y_n \to c$
now
$f(c) = 0$ because $c \in R\setminus Q.$ $\; \;$ also $c \neq 0$(same reason)
therefore, $f$ is discontinuous on $R\setminus Q$
Finally for $c=0$
we have
$|f(x) - f(0)| \leq ||x| - 0| \leq |x|$
Therefore $\forall \; \; \epsilon>0 \; \; $$\exists \; \; \delta  = \epsilon> 0$ such that
if $|x|< \delta \Rightarrow |f(x)-f(0)|<\epsilon$
Therefore $f$ is continuous at $c=0$, and it is the only point at which it is continuous 
Is my proof correct ? (particularly for c=0 part)

This proof looks great. Using the sequential characterization of continuity to show discontinuity at every non-zero point, and then the $\epsilon-\delta$ characterization to show continuity at zero is smart. Good work. :)
