for 文,while 文,do while 文の比較

/*
	for 文
*/
001	#include <stdio.h>
002	int main()
003	{
004				// (1)入力
005		int i, no = -1, sum1 = 0, sum2 = 0;
006		for (; no < 0; ) {
007			printf("0以上の整数を入力してください ");
008			scanf("%d", &no);
009		}
010				// (2)*と和1
011		for (i = 1; i <= no; i++) {   // for (i = 0; i < no; i++) {
012			printf("*");
013			sum1 += i;   // sum1 += (i + 1);
014		}
015		if (no > 0)
016			printf("\n");
017		printf("sum1 = %d\n", sum1);
018				// (3)和2
019		printf("データ? ");
020		scanf("%d", &i);
021		for (; i != 0; ) {
022			sum2 += i;
023			printf("データ? ");
024			scanf("%d", &i);
025		}
026		printf("sum2 = %d\n", sum2);
027		return 0;
028	}
/*
	while 文
*/
029	#include <stdio.h>
030	int main()
031	{
032				// (1)入力
033		int i, no = -1, sum1 = 0, sum2 = 0;
034		while (no < 0) {
035			printf("0以上の整数を入力してください ");
036			scanf("%d", &no);
037		}
038				// (2)*と和1
039		i = 1;
040		while (i <= no) {
041			printf("*");
042			sum1 += i;
043			i++;
044		}
045		if (no > 0)
046			printf("\n");
047		printf("sum1 = %d\n", sum1);
048				// (3)和2
049		printf("データ? ");
050		scanf("%d", &i);
051		while (i != 0) {
052			sum2 += i;
053			printf("データ? ");
054			scanf("%d", &i);
055		}
056		printf("sum2 = %d\n", sum2);
057		return 0;
058	}
/*
	do while文
*/
059	#include <stdio.h>
060	int main()
061	{
062				// (1)入力
063		int i, no = -1, sum1 = 0, sum2 = 0;   // noに対する初期設定は必要なし
064		do {
065			printf("0以上の整数を入力してください ");
066			scanf("%d", &no);
067		} while (no < 0);
068				// (2)*と和1
069	//	i = 1;
070	//	do {
071	//		printf("*");
072	//		sum1 += i;
073	//		i++;
074	//	} while (i <= no);
075	//	if (no > 0)
076	//		printf("\n");
077		if (no > 0) {
078			i = 1;
079			do {
080				printf("*");
081				sum1 += i;
082				i++;
083			} while (i <= no);
084			printf("\n");
085		}
086		printf("sum1 = %d\n", sum1);
087				// (3)和2
088		printf("データ? ");
089		scanf("%d", &i);
090	//	do {
091	//		sum2 += i;
092	//		printf("データ? ");
093	//		scanf("%d", &i);
094	//	} while (i != 0);
095		if (i != 0) {
096			do {
097				sum2 += i;
098				printf("データ? ");
099				scanf("%d", &i);
100			} while (i != 0);
101		}
102		printf("sum2 = %d\n", sum2);
103		return 0;
104	}