When it comes to development in a Linux environment there are 2 ways you can choose from:
If you want to manage your project in a all-in-one fashion, you should go for KDevelop.
It is the most advanced and stable IDE i have worked with so far (in a Linux environment).
Code::Blocks, Eclipse CDT, Netbeans are very powerful as well, but from my experience KDevelop has everything the other IDEs have to offer and more. But you should checkout the other IDEs for yourself, since this is my opinion.
The second and more time-consuming way is to get to know the gnu development toolchain Moranar mentioned. gcc/g++, make, gdb/DDD, valgrind,(g)vim/scite ... .For testing purposes its also recommended to familiarize yourself with a scripting language like perl or bash script. It saves hell of a lot time ...
If you want to get the job done fast you should stick to the IDE solutions, but if you want to be a more complete, more capable developer go for the gnu toolchain. I haven't regret it so far.
p.s. if you choose scite as your editor, ask ypnos (the guy above me) for his config.
It has everything you'll going to need and its easy on the eyes too :)