It took some time to clear the color buffer. So it is looking like flicker on the screen. How i can avoid it?. If i removed the GL_COLOR_BUFFER_BIT it is working fine. But when i am displaying text “text3” at location (30,30), the “text3” is superimposed on the text “text1”.

You see the flicker because you’re working on the front buffer. Select a double buffered pixelformat, render in the backbuffer and do a SwapBuffers().
By this you don’t see the clear and drawing happening on your screen but only the final image.