Let $\frac{m}n$ be a rational number, i.e., $m,n\in\Bbb Z$ and $n\ne 0$. There’s no harm in assuming that $0: once we handle the rational numbers between $0$ and $1$, the rest are easy.
Imagine doing a long division of $m$ by $n$ to expand $\frac{m}n$ as a decimal. At each stage you get a quotient, the next digit of the decimal expansion, and a remainder. The only possible remainders are the numbers $0,1,2,\dots,n-1$. Either you get a remainder of $0$ at some point, in which case the decimal terminates, or you eventually repeat a remainder. Say that you get the same remainder after finding the $\ell$-th digit as you got after finding the $k$-th digit; then you’re doing the same division to get the $(\ell+1)$-st digit that you did to get the $(k+1)$-st digit, and so on. That is, the block of $\ell-k$ digits starting with the $\ell$-th digit exactly repeats the block starting with the $k$-th digit, and so on.
I’ve left this very informal; it would be a good exercise to try to make formalize it a bit.
Added: Here is an example of what I’m talking about. We wish to expand $\frac27$ as a decimal:
0.2857142... ------------- 7)2.0000000... 0 --- 2 0 <-- Remainder of 2 1 4 ---- 60 56 --- 40 35 --- 50 49 --- 10 7 --- 30 28 --- 2 <-- Remainder of 2
At this point you’re going to get the same sequence of remainders ($2,6,4,5,1,3$) and the same sequence of digits in the quotient ($2,8,5,7,1,4$) all over again. And then again. Dividing the same thing, in this case $7$, into the same quantity must yield the same result every time.