Olá @William Minerva
É Isso mesmo, as diferenças são poucos e orbitam a sintaxe porque é logicamente igual. Para fim de exemplo, suponho fazer o somatório dos itens de uma lista de n-inteiros. Para isso usarei: for {} e do {} while.
Exemplo
— escrevo um programa que informada a lista de n-termos responde com somatório dos termos.
C language /> _
#include"stdio.h"
int
main (void) {
#define n (8)
int termos[n] = { 1,2,3,4,5,6,7,8 };
unsigned long i;
int for_somatorio = 0;
printf ("FOR-SOMATORIO\n(");
for (i = 0; i < n; ++i) {
printf (" %d ", termos[i]);
for_somatorio += termos[i];
}
printf (") = %d\n\n", for_somatorio);
int do_somatorio = 0;
printf ("DO WHILE-SOMATORIO\n(");
i = 0;
do {
printf (" %d ", termos[i]);
do_somatorio += termos[i];
}
while (++i, i < n);
printf (") = %d\n\n", do_somatorio);
printf ("Fim-programa\n");
return 0;
}
SAÍDA
[?] — notou..., 'sintaxe' distinta, resultados iguais.