Consider $A$ is some singular $N \times N$ real matrix. I learned that range space of $A$ (denote as $R(A)$) shrinks as one takes its powers (I learned a proof based on vector spaces for that also). So $R(A) \supseteq R(A^2) \supseteq R(A^3)\dots $ and so on. This should imply that $rank(A) \geq rank(A^2) \geq rank(A^3)\dots$. since the dimension is decreasing (non-increasing). I have also learned that rank of a matrix is also same as the number of non-zero eigen values. But then, eigen-values of powers of $A$ are the powers of eigen-values of $A$. So doesn't it imply that $rank(A)=rank(A^2)$. If it is so, then how can range space shrink, for after all, rank is the dimension of range space. I believe I am missing some thing in this chain of arguments I made.
It is not quite true that the rank is the number of non-zero eigenvalues. If the matrix is diagonalizable then the statement holds. In general, the multiplicity of zero as an eigenvalue will always be greater than or equal to the nullity of the matrix (as a consequence of algebraic multiplicity always being larger than geometric multiplicity).
As for when the matrix loses rank as you take powers of it, it is more informative to examine the Jordan blocks of the matrix. If your matrix has a Jordan block of size $k$ corresponding to zero, then it is easy to see that the matrix will lose a rank for each power up to the $k$th power. How many ranks it loses "per power" will be dependent on the number and the sizes of the null Jordan blocks. Notice also, that the example that wj32 gave is precisely a Jordan block of size $2$.