Specification language suitable for procedural programs

Hello,
I'm wondering what methods and tools are used to describe procedural programs? Is UML suitable for such tasks? I've studied SDL in the university - we used it for specification of telecommunication services. Is it suitable for general description of procedural programs?
If not what language or method could you recommend for such things?
Thank you very much for your answers!

p.s. I hope I'm not messing up the terminology - in procedural programming I mean for example C programming.

At detail level diagram of the flow can be used. But since C is so widely known, C notation is probably better for this.

At broader level you can consider pseudocode.

For bigger programs you may find useful tools like 'doxygen' to obtain HTML documentation.

Thank you for your reply. For my needs I think that the flowcharts and eventually doxygen will be sufficient.
I've read about the flowcharts in wikipedia. Looks like they are similar to SDL.