Use Butterworth and Chebychev filters
You might try Vincent Falco's Collection of Useful C++ Classes for Digital Signal Processing.

The StackOverflow Question A C++ library for IIR filter offers a few more suggestions.

Finally: the hard part for Butterworth/Chebychev filters is really the design, not the implementation.  You might consider doing the design in Matlab (or Gnu Octave), or an online site like: http://www-users.cs.york.ac.uk/~fisher/mkfilter/.  Writing the C code should be trivial once you know the coefficients for the recurrence relation.