The easier way: $f(x)= f_c(x) + \theta (x-a)$, where $f_c(x)= f(x)$ for $x<a$ and $f_c(x)= f(x)-J$ for $x>a$ is a continuous function, $J=(f(a+0)-f(a-0))$. Then $f_c (x)'=\overset{\circ}{f}{}'(x)$ and for the second term we apply Part a.
If we have jumps at points $a_k$, then
$$f'(x) = \overset{\circ}{f}{}'(x) +\sum_j \bigl(f(a_k+0)-f(a_k-0)\bigr)\delta (x-a_k).$$