ループの先頭から入って
ループの後ろで条件判断するコードが
動作的に一番無駄が少ない

だから do while が存在する

コンパイラの最適化も糞でCPUも遅くメモリも少ない時代に出来た言語

1回以上通る事がわかっているループは
do whilw の方が良い
コンパイラが1回以上通る事がわからないと
無駄なジャンプ命令が増えるので