Are you wanting full flight? If so, the post I made earlier showing the quaternion camera is a good place to start.
I use something like this:
D3DXQuaternionRotationYawPitchRoll(&rot, yaw, pitch, roll);//these values change when turning. other than that, they are usually 0
D3DXQuaternionMultiply(&m_orientation, &m_orientation, &rot);
m_viewMatrix(3,0) =0;//this is so my camera is stationary
m_viewMatrix(3,1) =0;//I have a stationary camera because of the type of game I use this in
m_viewMatrix(3,2) =0;//you would most likely put your coordinates here for your game.....
m_viewDir = D3DXVECTOR3(0,0,1);
D3DXVec3TransformCoord(&m_viewDir,&m_viewDir,&RotationMatrix);//this is to keep track of the view direction.
//put RotationMatrix in as your view matrix
camData->matView =RotationMatrix ;
Any code examples you find (and they are hard to find), will be confusing, but this is about as simplified as I can make it. There's not a lot to the actual "math" part.....
Making another object "point at" a location is another part. You would have to do something like this:
if (Turn>ShipType[Type].MaxTurnRate) Turn=ShipType[Type].MaxTurnRate;
Once again, the RotationMatrix would be applied to the object's matrix.
The fastest code is the code never written.