non, on exécute A avant de rentrer dans la boucle (mais effectivement comme si on y était déjà).
Puis au début de chaque boucle on test B (avant même la première itération de la boucle, donc pas à la fin de celle-ci), particulièrement, si après A, B est faux, la boucle ne sera jamais exécuté.
Puis à la fin de la boucle on exécute C, AVANT de tester B. Si B==true on exécute de nouveau la boucle, sinon on quite.