I've got an easy answer:

You've got to do it on your own, and you have to know how to do it in order to implement it in C.

If you are just doing symbolic (indefinite) integration, then I assume that means you're just doing something like parsing functions, and then finding its general anti derivative (give it limits and a starting value and you've got a definite integral).

If you are doing numerical integration, you are basically writing a numerical differential equation solver. Here are some terms you want to look for:

-Euler integration (least accurate)
-Improved euler integration (semi accurate)
-runge kutta (most accurate)

each of those are numerical techniques employed for taking the numerical route to integration. Also look for taylor series expansion (you will have to know it in order to implement runge kutta).