B 判定 A B 判定 A B … みたいに
do { } while () のブロックの途中に飛び込んで開始するようなのが悩ましい

goto ENTER;
do {
 A();
ENTER:
 B();
} while(条件);