Set of continuity points of a real function
-
Let $X$ be a metric space, and let $f: X \rightarrow \mathbb{R}$ be any function. For any $\epsilon > 0$, let us say that a point $x \in X$ has property $C(f,\epsilon)$ if there exists $\delta > 0$ such that $d(x,x'), d(x,x'') < \delta \implies |f(x')-f(x'')| < \epsilon$. If $x \in X$ has property $C(f,\epsilon)$, then so does every point in a sufficiently small $\delta$-ball about $x$, so the locus of all points satisfying property $C(f,\epsilon)$ is an open subset. Moreover, $f$ is continuous at $x$ iff $x$ has property $C(f,\frac{1}{n})$ for all $n \in \mathbb{Z}^+$. This shows that the locus of continuity of f -- i.e., the set of $x$ in $X$ such that $f$ is continuous at $x$ -- is a countable intersection of open sets, or in the lingo of this subject, a $G_{\delta}$-set.
-
If $x \in X$ is an isolated point -- i.e., if $\{x\}$ is open in $X$; or equivalently, if for some $\delta > 0$ the $\delta$-ball around $x$ consists only of $x$ itself -- then every function $f: X \rightarrow \mathbb{R}$ is continuous at $x$. This places a further restriction on the locus of continuity: it must contain the subset of all isolated points. For instance, if $X$ is discrete then the locus of continuity of any $f: X \rightarrow \mathbb{R}$ is all of $X$, so certainly not every $G_{\delta}$-set is a locus of continuity!
-
Conversely, let $Y \subset X$ be a $G_{\delta}$-set which contains all isolated points of $X$. Then $Y$ is a locus of continuity: there exists a function $f: X \rightarrow \mathbb{R}$ which is continuous at $x$ iff $x \in Y$. A short, elegant proof of this is given in this 1999 note of S.S. Kim.
Note that since $\mathbb{R}$ has no isolated points, here the result of 3) reads that every $G_{\delta}$-subset of $\mathbb{R}$ is a locus of continuity. But one might as well record the general case -- it's no more trouble...
At Pete L. Clark's suggestion, I'm making a comment of mine into an answer.
For those interested in precise references in the published literature for this result (and related results), see
http://groups.google.com/group/sci.math/msg/05dbc0ee4c69898e
I may repost that older post here, perhaps with additions that I didn't know about then (if I happen find any additional references in my stuff at home), but it'll take at least a day or two before I can correctly format all of that older post for posting here.
The answer to your last question is No.
The Wikipedia article on Thomae's function gives an elegant proof of why this is impossible. It includes links to terms it uses. I'll present what it says here but I suggest you view it on Wikipedia:
A natural follow-up question one might ask is if there is a function which is continuous on the rational numbers and discontinuous on the irrational numbers.
This turns out to be impossible; the set of discontinuities of any function must be an Fσ set. If such a function existed, then the irrationals would be an Fσ set and hence, as they don't contain an interval, would also be a meager set.
It would follow that the real numbers, being a union of the irrationals and the rationals (which is evidently meager), would also be a meager set. This would contradict the Baire category theorem.