well in most cases people use an event loop. It goes someting like this:

main ( )
{

...code...

while ( 1 )
{
bool exit = processMessages ( );
drawObjectsOnScreen();
if ( exit ) break;
}

...code...
}


bool processMessages ( )
{
if ( event occurred )
{
switch ( event )
{
case KEYDOWN: do something...
case KEYUP: do something....
case MOUSEBUTTONCLICK: do something....

}
}
}