for (<初期化>;<条件>;<更新>) {
 <内容>;
}
は、
<初期化>;
while (<条件>) {
 <内容>;
 <更新>;
}
と全く同じだからね。
「判定がxが更新された後」というより
「xが更新されたら、ループの先頭に戻って再度条件判定を行う」という方が正確。