Theorem on continuous function "If f(x) is continuous and f(a) and f(b) are of opposite signs then there exist at least one or an odd number of roots between a and b." Is it true for polynomial equations only or any continuous function?
If $f$ is continuous function, then there exists at least a root between $f(a)$ and $f(b)$. This is true by intermediate value theorem.

However, for a general function, it is possible that the zero set can be uncountable. 

For example let 

$$f(x) = \begin{cases} x-1 &amp;, x \ge 1 \\ 0 &amp; , x \in (0,1) \\ x+1 &amp; , x \le -1\\ \end{cases}$$
At least one: yes. An odd number: This is not so clear. Of course for polynomials this is true, but we have to count roots "with multiplicity". And as far as I can see if $f$ is just continuous and $f(c)=0$ there's no reasonable definition of the multiplicity.

Example. Let $f(x)=|x|(x-1)$, $a=-1$, $b=1$. Then $f$ is continuous, $f(a)$ and $f(b)$ have different signs, but $f$ has exactly $2$ zeroes between $a$ and $b$.

Similarly for $f(x)=|x|^\alpha(x-1)$ for any $\alpha&gt;0$; if we want to say there are an odd number of zeroes between $-1$ and $2$ we have to  somehow define the multiplicity of a zero in such a way that for every $\alpha&gt;0$ the function $|x|^\alpha$ has a zero of even order at the origin.

in fact, come to think of it, not only is there no standard definition of the order of a zero of a continuous function, it's easy to see that it's impossible to give such a definition, assuming two natural conditions:

Define $\Bbb N = \{0,1,2\dots\}$.


  
    Prop There does not exist a function $O:C(\Bbb R)\to\Bbb N$ such that (i) $O(f)&gt;0$ if $f(0)=0$ and (ii) $O(fg)=O(f)+O(g)$.
  


Proof. If $O$ is such a function then for every postitive integer $n$ we have $$O(|x|)=nO(|x|^{1/n})\ge n.$$