A function which jumps is not differentiable at the jump nor is one which has a cusp, like |x| has at x = 0.
Generally the most common forms of non-differentiable behavior involve a function going to infinity at x, or having a jump or cusp at x.
There are however stranger things. The function sin(1/x), for example is singular at x = 0 even though it always lies between -1 and 1. Its hard to say what it does right near 0 but it sure doesn't look like a straight line.
If the function f has the form , f will usually be singular at argument x if h vanishes there, h(x) = 0. However if g vanishes at x as well, then f will usually be well behaved near x, though strictly speaking it is undefined there.
We usually define f at x under such circumstances to be the ratio of the linear approximation at x to g to that to h very near x, which means we define f(x) to be , when, of course the denominator here does not vanish. (If the denominator does vanish and the numerator vanishes as well, you can try to define f(x) similarly as the ratio of the derivatives of these derivatives, etc.)
This kind of thing, an isolated point at which a function is not defined, is called a "removable singularity" and the procedure for removing it just discussed is called "l' Hospital's rule".
An example is at x = 0.
Continuous but non differentiable functions