소개
루프는 특정 조건에 따라 코드를 반복적으로 실행할 수 있게 해주는 구문입니다. C 언어에서 for 루프는 특히 특정 횟수만큼 반복을 수행하는 데 자주 사용됩니다. 중첩 루프 (nested loop) 의 개념은 하나의 루프가 다른 루프의 블록 안에 위치하는 경우를 말합니다. 이러한 프로그래밍은 원하는 출력 패턴을 얻기 위해 사용됩니다. 이 Lab 에서는 C 프로그래밍에서 중첩 루프를 수행하는 방법을 배우겠습니다.
루프는 특정 조건에 따라 코드를 반복적으로 실행할 수 있게 해주는 구문입니다. C 언어에서 for 루프는 특히 특정 횟수만큼 반복을 수행하는 데 자주 사용됩니다. 중첩 루프 (nested loop) 의 개념은 하나의 루프가 다른 루프의 블록 안에 위치하는 경우를 말합니다. 이러한 프로그래밍은 원하는 출력 패턴을 얻기 위해 사용됩니다. 이 Lab 에서는 C 프로그래밍에서 중첩 루프를 수행하는 방법을 배우겠습니다.
터미널을 열고 다음 명령을 실행하여 main.c라는 새 C 파일을 생성합니다.
touch ~/project/main.c
~/project/ 대신 다른 디렉토리를 사용하거나 텍스트 편집기를 사용하여 파일을 수동으로 생성할 수도 있습니다.
시작하기 위해 중첩 루프를 사용하여 공백으로 구분된 "*" 패턴을 출력하는 간단한 C 프로그램을 작성해 보겠습니다. 코드는 다음과 같습니다.
#include<stdio.h>
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
printf("\n\nNested loops are usually used to print a pattern in c. \n\n");
printf("\n\nThey are also used to print out the matrix using a 2 dimensional array. \n\n");
int i,j,k;
printf("\n\nOutput of the nested loop is :\n\n");
for(i = 0; i < 5; i++)
{
printf("\t\t\t\t");
for(j = 0; j < 5; j++)
printf("* ");
printf("\n");
}
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
진행하기 전에 프로그램의 구조를 이해해 보겠습니다.
먼저, printf() 및 scanf() 와 같은 표준 입출력 함수를 포함하는 헤더 파일 "stdio.h"를 포함했습니다.
다음으로, main 함수 내에서 printf() 함수를 사용하여 "LabEx - Best place to learn", "Nested loops are usually used to print a pattern in c.", "They are also used to print out the matrix using a 2 dimensional array." 세 가지 메시지를 콘솔에 출력했습니다.
그 후, 루프에서 사용할 i, j, k 세 개의 변수를 초기화했습니다. 중첩 for 루프 내에서 두 개의 for 루프를 사용했습니다. 외부 for 루프는 행의 수를 제어하고 내부 for 루프는 열의 수를 제어합니다.
이제 중첩 루프의 작동 방식을 논의해 보겠습니다. 외부 루프는 i 변수를 0 으로 초기화합니다. i < 5 인지 확인합니다. 참이면 제어가 내부 루프로 전달되어 j 변수를 0 으로 초기화합니다. 내부 루프는 j < 5 인지 확인합니다. 참이면 별표와 공백을 출력한 다음 j 를 증가시킵니다.
내부 루프가 완전히 실행되면 제어가 외부 루프로 반환되고 i 변수의 값이 증가합니다. i 변수가 5 가 될 때까지 계속되며, 두 루프 모두 실행을 종료합니다.
이제 기존 코드를 수정하여 자신만의 출력 패턴을 만들 차례입니다. "i"와 "j" 변수를 수정하여 원하는 패턴을 만들어 보세요. 예를 들어, 아래와 같이 프로그램을 수정하여 공백으로 구분된 사각형 '*' 패턴을 출력할 수 있습니다.
#include<stdio.h>
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
printf("\n\nNested loops are usually used to print a pattern in c. \n\n");
printf("\n\nThey are also used to print out the matrix using a 2 dimensional array. \n\n");
int i,j,k;
printf("\n\nOutput of the nested loop is :\n\n");
for(i=0;i<5;i++) // outer loop
{
printf("* ");
for(j=0;j<4;j++) // inner loop
printf("* ");
printf("\n");
}
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
return 0;
}
프로그램에 원하는 변경 사항을 적용한 후 파일을 저장하고 터미널에서 다음 명령을 사용하여 컴파일합니다.
gcc main.c -o main
위 명령을 실행하면 코드가 컴파일되고, 오류가 없으면 "main"이라는 실행 파일이 생성됩니다.
이제 다음을 실행하여 코드를 실행합니다.
./main
이 랩에서는 C 언어의 중첩 루프 (nested loops) 에 대해 배웠습니다. 중첩 루프의 개념, 중요성, 그리고 원하는 출력 패턴을 얻는 방법에 대해 논의했습니다. 중첩 루프를 사용하여 C 프로그램을 만드는 단계별 지침을 살펴보았습니다. 결론적으로, 중첩 루프는 테이블, 다차원 배열 (multi-dimensional arrays), 대문자 처리에 사용되므로 C 프로그래밍에서 중요한 역할을 합니다.