$$\lim_{x \to a} f(x) = \lim_{h \to 0} f(a+h) = \lim_{h \to 0} f(a)f(h) = f(a) \lim_{h \to 0} f(h) = f(a)f(0)$$
Letting $x=y=0$ gives $f(0)=f(0)^2$.
Case $1$: $f(0) = 0$.
Then, $f(x) = f(0+x) = f(0)f(x) = 0$ for all $x$, so $\displaystyle \lim_{x \to a} f(x) = f(a)f(0) = 0 = f(a)$.
However, that provides a counter-example for the second part of your question, since there is no $c \in \Bbb R$ such that $f(x) = e^{cx}$ for all $x \in \Bbb R$.
Case $2$: $f(0) = 1$.
Then, $\displaystyle \lim_{x \to a} f(x) = f(a)f(0) = f(a)$.
We note that $f(x) \ge 0$ for all $x$, or else $f(x/2)$ would not be able to have a value.
We note that $f(x) \ne 0$ for all $x$, or else $f(x/2^n)$ would be $0$, but need to converge to $1$ because $x/2^n \to 0$ and the function is continuous at $0$.
Let $f(1) = e^c$. Verify that $f(r) = e^{cr}$ for all $r \in \Bbb Q$.
Then, use continuity to extend the result to $\Bbb R$.