I can recommend you two books about DSP for C language.
Embree P. M. - C Language Algorithms for Digital Signal Processing
It is old and you can easily get it second-hand for a decent price. It covers pretty much all 4 topics that you described.
The other one I recommend is:
Malepati H. - Digital Media Processing: DSP Algorithms Using C
It covers way more topics (including error correction algorithms and image/video processing algorithms). The nice thing about that one is that test signals are provided to test your implementation.
I just recalled that there is another book on my desk which has some C code for DSP in it.
Press W. H. - Numerical Recipes: The Art of Scientific Computing
There are two chapters about the Fourier Transform and its applications.
One last suggestion - if you can, please use an existing C library instead of writing your own tools. There is no point in re-inventing the wheel.