Can't tell you _why_ DOS is a 16 bit OS - it was designed that way.
As for why Turbo C/C++ can only be installed in DOS mode - again it was designed that way, it's an *ancient* compiler that was designed for a past age and I really cannot comprehend why people insist on using it when you can download not only the Microsoft compilers but also the GCC for free all of which support current coding standards.