one of the more general ways to define compact is:
every open cover admits a finite subcover.
the "standard" counter-example for R is simplicity itself: the cover {(-n,n):n in N}.
clearly any real number x is finite, so it lies in some interval (-k,k).
now, suppose some finite subcover, also covered R.
since our subcover is finite, there is some N for which (-N,N) contains every other element of our cover.
but if x in R is larger than N, x is not in (-N,N), and is therefore not in our subcover.
why does this happen? because R itself is unbounded, and therefore requires an infinite number of bounded sets to cover it. but we can find a cover of bounded open sets, which means R cannot be compact.
now, let's see what happen when we take the set [0,n], where n is a positive integer.
we have an open cover, we don't even know what it is (there are a gazillion possible open covers). at least one of these open sets contains n. we'll keep that one (call it U1).
well, if U1 contains all of [0,n], whoopee! we're done. but that would be too easy, right?
but...if not, then the set A1 = {x in [0,n]: x is not in U1} is non-empty. this set is bounded below, and as such, has an inf. so let's call inf(A1), α1.
the next question is, is α1 in [0,n]? well, U1 contains n (and U1 is open), so U1 contains a neighborhood of n, so there is some ε > 0 such that (n-ε,n+ε) is in U1. so α1 ≤ n-ε < n, so the only way α1 could NOT be in [0,n] is if α1 < 0. but 0 is a lower bound for [0,n], and is thus a lower bound for the subset A1. if α1 < 0, this contradicts the meaning of inf(A1).
so, yep, α1 is in [0,n]. since it is in [0,n], some open set of our open cover contains it. we'll call this set U2.
repeat: define A2 = {x in [0,n]: x is not in U1 U U2}. let α2 = inf(A2). it is easy to see that α2 < α1 (because U2 is open, and therefore contains a neighborhood of α1).
this gives us a sequence U1,U2,U3,... with a sequence of inf's:
n > α1 > α2 > α3 >...
with each αk in [0,n].
the question is: could this sequence perhaps be infinite? again, if it was finite, there's our finite subcover, and woo-hoo! problem solved!
but, maybe not...maybe it takes us an infinite number of U's to finish. what to do?
so let's try an new set: B = {x in [0,n]: [x,n] is covered by a finite number of sets in our open cover}.
as we saw above, all of our αk are in B, so B is non-empty. let's set β = inf(B).
now 0 is a lower bound for B, so β ≥ 0. also β ≤ αk for each k, so β is in [0,n]. now some open set (say V) in our cover contains B, and therefore contains (β-δ,β+δ) for some δ>0.
since β+δ is in B (otherwise β is not a greatest lower bound), [β+δ,n] is covered by some finite collection in our open cover, say V1,...,Vm. and since V contains β, V U V1 U...U Vm contains [β,n]. this shows that β is in B.
now, suppose β > 0. since V contains (β-δ,β+δ), this means that there is some β-δ < x' < β, with [x',n] covered by V U V1 U ...U Vm. but this contradicts the fact that β = inf(B). the only way to avoid this contradiction, is for β = 0, so that we can find no such x'.
but then...ohmigosh, we've found a finite subcover, from our arbitrary cover. so [0,n] must be compact.
now, we didn't really use the fact that n was an integer, so it could have been ANY positive real number. so [0,b] is compact for all real b. an entirely analogous argument, shows that [c,0] is also compact. as a bonus, any sub-interval of [a,b] of [0,b] is compact (we can even use the same subcover, throwing out ones we don't need).
similarly any sub-interval [c,d] of [c,0] is compact. for any interval [r,s], we either have:
r ≥ 0 (compact)
r < 0, s ≤ 0 (compact)
r < 0, s > 0, [r,s] = [r,0] U [0,s] (compact, one finite cover for "each side").
**********
no, you can't pick a cover of R where each open set covers just "one" element of R. open intersect open is always open, a singleton set (in the usual topology) is closed.