' + re_word; if(data.autoList[i].PROD_NAME != ''){ html += ' '+data.autoList[i].PROD_NAME+''; } html += '
' html += '' + comma(Math.floor(data.autoList[i].PROD_PRICES)) + ' 원'; html += '' + re_word + '
'; html += '' + comma(Math.floor(data.resultList[i].prod_priceS)) + ' 원'; html += ''+data.catgStep1List[i].split('@@')[1]+'
'; html += '안녕하세요! 코딩 교육 현장에서 미래의 소프트웨어 인재들을 지도하고 계시는 강사님, 선생님, 그리고 프로그래밍의 기초를 탄탄히 다지고자 하는 초중고 학생 여러분! 여러분의 코딩 길잡이가 되어드릴 유익한 프로그래밍 실습 시간입니다.
이번 시간에 우리가 함께 깊이 파헤쳐 볼 주제는 알고리즘 설계의 꽃이라고 불리는 '반복문(Loop)'입니다. 이름에서부터 이미 어떤 역할을 하는지 직관적으로 느껴지시나요? 맞습니다. 반복문은 프로그램 내에서 동일하거나 규칙적으로 변화하는 작업 과정을 컴퓨터가 대신 매우 빠르고 정확하게 수행할 수 있도록 지시하는 핵심 구문입니다. 오늘은 그 첫 번째 시간으로, 횟수가 정해진 반복 작업에 가장 널리 쓰이는 'for문'에 대해 상세히 알아보겠습니다.
실습 목차 (클릭 시 이동)
왜 우리는 코딩을 할 때 반복문을 필수적으로 사용해야 할까요? 아주 간단한 산술 연산을 예로 들어보겠습니다. "1 + 2 + 3 = ?" 이 수식의 정답은 누구나 쉽게 6이라는 것을 알 수 있습니다. 숫자가 작기 때문에 암산을 하거나 손가락을 꼽아서 세어도 금방 답을 도출할 수 있죠.
그렇다면 문제의 스케일을 조금 키워보겠습니다. 만약 우리가 작성해야 하는 프로그램이 처리해야 할 수식이 다음과 같다면 어떨까요?
1 + 2 + 3 + 4 + 5 + 6 + ....... + 98 + 99 + 100 = ?
이것을 인간이 직접 손가락으로 세거나 계산기를 두드려서 풀기에는 1씩 일정하게 늘어나는 반복 과정이 너무 많고 비효율적입니다. 게다가 100이 아니라 10,000까지 더해야 한다면 시간 낭비는 물론이고 계산 과정에서 휴먼 에러(인적 오류)가 발생할 확률이 매우 높아집니다.
이처럼 단순하고 규칙적인 계산 과정을 컴퓨터의 압도적인 연산 속도에 맡겨 효율성을 극대화하는 것이 바로 반복문을 사용하는 궁극적인 이유입니다. C언어의 반복문 생태계에는 프로그래머의 목적에 따라 골라 쓸 수 있는 총 3가지의 강력한 도구가 준비되어 있습니다.
세 가지 반복문 중 기초 교육 과정에서 가장 빈번하게 다루어지는 for문에 대해 집중적으로 해부해 보겠습니다. for문은 C언어에서 특정한 명령어 블록을 개발자가 원하는 횟수만큼 정확하게 반복 수행하도록 설계된 제어문입니다.
가장 기본이 되는 문법의 뼈대(Syntax)는 아래와 같은 3단 논리 구조로 이루어져 있습니다.
괄호 안에 들어가는 세 가지 구성 요소의 역할을 코딩 강사님들께서 학생들에게 설명하실 때는 육상 경기 트랙에 비유하시면 이해가 매우 빠릅니다.
형식만 눈으로 읽어서는 완벽하게 이해하기 어렵습니다. 프로그래밍은 직접 타이핑하며 에러를 겪어보는 것이 최고의 학습법입니다. 앞서 보았던 '1부터 100까지의 누적 덧셈' 과정을 for문을 활용한 실제 C언어 프로그램 코드로 구현해 봅시다.
이 코드를 컴파일하고 실행한 뒤, 프롬프트 창에 100을 입력하게 되면 콘솔 모니터에는 "1부터 100까지의 덧셈 최종 결과는 5050입니다." 라는 문구가 순식간에 출력됩니다.
여기서 가장 중요한 for문의 괄호 안 로직 for(int i=1 ; i <= num ; i++)의 흐름을 다시 한번 꼼꼼하게 뜯어보겠습니다.
이처럼 for문은 루프를 돌아야 하는 전체 횟수(위의 경우 100번)가 명확하게 정해져 있는 시나리오에서 가장 가독성이 좋고 강력한 성능을 발휘하는 문법입니다. 코딩 교육을 받는 학생들은 이 기본 구조를 변형하여 구구단 출력, 별 찍기, 배열 데이터 탐색 등 다양한 알고리즘 기초 실습으로 응용력을 넓혀갈 수 있습니다.
지금까지 C언어 프로그래밍의 대들보 역할을 하는 반복문 중 for문에 대한 핵심 메커니즘을 상세히 알아보았습니다! 눈으로 코드를 읽는 것에서 멈추지 마시고, 증감식을 i+=2 로 바꾸어 홀수의 합만 구해보는 등 직접 데이터를 조작해 보며 소프트웨어의 작동 원리를 체득해 보시길 바랍니다.
for문에 대한 감이 확실히 잡히셨다면, 다음 시간에는 횟수가 정해지지 않은 무한 루프나 조건 기반의 반복 처리에 특화된 while문에 대해 심도 있게 다루어 보도록 하겠습니다. 다음 코딩 실습 시간까지 모두 즐겁게 복습해 보아요! 안녕~!
