This sort of question has sparked debate almost as long as programming as been going. To throw my hat into the ring, I'd go for the version with the break condition and here's why (for this specific case):
The for loop is just there to specify the iterating values in the loop. Coding the breaking condition within that just muddies the logic IMO.
Having a separate break makes it crystal clear that during normal processing, the values are as specified in the forfor loop and processing should continue except where the condition comes in.
As a bit of background, I started off coding a breakbreak, then put the condition in the for loop for years (under the direction of an exceptional programmer) and then went back to the break style because it just felt far cleaner (and was the prevailing style in the various code tomes I was consuming).
It is another of those holy wars at the end of the day - some say you should never break out of a loop artificially, otherwise it isn't a real loop. Do whatever you feel is readable (both for yourself and others). If reducing keystrokes is really your thing, go code golfing at the weekend - beer optional.