<aside> ❓ 문제 4) for 문과 같은 반복문을 사용하지 않고 1부터 10까지 출력하는 프로그램을 작성하시오.
</aside>
해법 4)
#include <stdio.h>
void main()
{
printf("%d\\n",1);
printf("%d\\n",2);
printf("%d\\n",3);
printf("%d\\n",4);
printf("%d\\n",5);
printf("%d\\n",6);
printf("%d\\n",7);
printf("%d\\n",8);
printf("%d\\n",9);
printf("%d\\n",10);
}
**해법4)**에서 볼 수 있는 것처럼 엄청 불합리하게 프로그램을 작성했음을 알 수 있습니다. for
문을 사용하지 않을 경우 매번 printf()
함수를 사용해서 각각의 숫자를 출력해 주어야 합니다. 물론 변동인자로서 변수 i
가 사용되지 않음을 주목할 필요가 있습니다. 반대로 반복문 for
문을 사용할 경우는 변동인자로서 변수를 도입해야 한다는 점을 잊지 마시기 바랍니다.
앞의 방식은 순차 기법을 사용한 것입니다. 단순히 순차적으로 문장들을 나열하였습니다. 프로그래밍 제어 구조의 가장 기본을 이루고 있는 이 순차 개념은 반복, 조건 선택과 함께 3대 제어 구조를 이룹니다. 여러분이 주목해야 할 사항은 순차 개념은 시간과 공간상의 순서를 의미한다는 점입니다. 예를 들어, 다음의 코드를 살펴봅시다.
printf("%d\\n",odd[1]);
printf("%d\\n",even[1]);
위의 코드는 홀수(odd)를 찍은 후 그 다음 짝수(even)를 찍는 코드입니다. 만약 다음과 같이 코드를 작성하였다면
printf("%d\\n",even[1]);
printf("%d\\n",odd[1]);
이 코드는 먼저 설명한 코드와 정반대의 기능을 합니다. 즉, 짝수를 먼저 찍고 그 다음에 홀수를 찍습니다. 숫자가 출력되는 순서가 다르다는 뜻입니다.
그러나, 위 문제에는 크게 순차의 개념이 중요하다는 사실이 부각되지 않습니다. 하지만 다음의 코드를 살펴보면 순차 개념의 중요성을 쉽게 인식할 수 있습니다.