Example 18 A function defined on the set of natural numbers is given by
$$
f(n)=\left\{\begin{array}{ll}
n-3 & (n \geqslant 1000), \\
f[f(n+7)] & (n<1000) .
\end{array}\right.
$$

Then the value of $f(90)$ is ( ).
(A) 997
(B) 998
(C) 999
(D) 1000
Analysis: Let $f^{(n)}(x)=f\{f[\cdots f(x) \cdots]\}(n$ iterations), then
$$
\begin{array}{l}
f(90)=f^{(2)}(97)=f^{(3)}(104)=\cdots \\
=f^{(131)}(1000) . \\
\text { Since } f^{(n+4)}(1000)=f^{(n+3)}(997) \\
=f^{(n+2)}(998)=f^{(n+1)}(999)=f^{(n)}(1000),
\end{array}
$$

so the period of $f^{(n)}(1000)$ is 4.
$f^{(131)}(1000)=f^{(4 \times 32+3)}(1000)$
$$
=f^{(3)}(1000)=f^{(2)}(997)=f(998)=999 \text {. }
$$

Therefore, the answer should be (C).