Given an open subset O of R and any two elements a, b of O, define a ~ b iff there is an open interval in O containing a and b. It's easy to show that ~ is an equivalence relation, and that the equivalence classes it induces are open and connected. Hence we can decompose O into disjoint connected open components, of which there can be only countably many. (If there were uncountably many, there'd have to be some number L such that uncountably many of the components had length at least L. But you can't squeeze uncountably many line segments of length L into the real line without some overlap.)