Categories: C#

C#에서 for 반복문 기본 사용법

안녕하세요, 여러분! 오늘은 C#에서 빼놓을 수 없는 중요한 친구, 바로 for 반복문에 대해 함께 알아보는 시간을 가져보려고 해요. 프로그래밍을 하다 보면 특정 코드를 여러 번 반복해야 하는 경우가 정말 많죠? 그럴 때마다 코드를 일일이 복사해서 붙여 넣는 건 너무 번거롭잖아요. for 반복문은 이런 반복 작업을 효율적이고 깔끔하게 처리할 수 있도록 도와주는 아주 유용한 도구랍니다. 반복 횟수 제어부터 실제 활용 예시까지, for 반복문의 기본적인 구조를 차근차근 살펴보면서 다른 반복문과 비교하며 이해도를 높여볼 거예요. 자, 그럼 C# for 반복문의 세계로 함께 떠나볼까요?

 

 

for 반복문의 구조

for 반복문! C#에서 정말 흔하게 볼 수 있는 친구죠? 마치 숙련된 장인의 손길처럼, 정교하게 반복 작업을 처리하는 데 탁월한 능력을 발휘한답니다. 마법같은 반복 작업을 가능하게 해주는 for 반복문의 구조, 지금부터 낱낱이 파헤쳐 볼까요?

for 반복문은 크게 세 부분으로 나뉘어요. 초기화, 조건식, 그리고 증감식! 이 세 가지 요소가 마치 삼총사처럼 똘똘 뭉쳐서 반복의 마법을 부린답니다. 자, 이제 각각의 역할을 좀 더 자세히 들여다볼게요~?

1. 초기화 (Initialization)

이 부분은 반복문이 시작되기 전에 단 한 번만 실행되는 특별한 영역이에요. 보통 반복 횟수를 세는 변수를 선언하고 초기값을 설정하는 데 사용되죠. 예를 들어 int i = 0;처럼 말이에요. i라는 변수를 0으로 시작하겠다는 선언이죠! 마치 달리기 시작 전에 출발선에 서는 것과 같아요. i는 1부터 시작할 수도 있고, 100부터 시작할 수도 있어요. 상황에 맞게 자유롭게 설정할 수 있다는 점, 기억해 두세요!

2. 조건식 (Condition)

여기는 반복문이 계속 실행될지를 결정하는 중요한 관문과 같아요. 마치 경비원처럼 매번 반복이 시작되기 전에 조건을 확인하고, 조건이 참(true)이면 반복을 계속하고, 거짓(false)이면 반복을 멈춘답니다. i < 10과 같이 조건식을 설정하면 i가 10보다 작을 동안만 반복이 실행되는 거죠. 만약 i가 10 이상이 되면? 반복문은 더 이상 실행되지 않고 다음 코드로 넘어간답니다. 마치 놀이공원에서 키 제한에 걸려 놀이기구를 못 타는 것과 같은 슬픈 상황이죠…?

3. 증감식 (Increment/Decrement)

이 부분은 매 반복이 끝난 후에 실행되는 영역이에요. 주로 반복 횟수를 세는 변수의 값을 증가시키거나 감소시키는 역할을 하죠. 예를 들어 i++는 i의 값을 1씩 증가시키고, i--는 i의 값을 1씩 감소시킨답니다. 반복문이 한 바퀴 돌 때마다 i의 값이 변하는 거죠! 마치 시계 초침이 째깍째깍 움직이는 것과 같아요. 증감식은 i += 2처럼 2씩 증가시키거나, i -= 5처럼 5씩 감소시키는 등 다양한 형태로 사용될 수 있어요! 자유자재로 활용해 보세요~!!

자, 이제 for 반복문의 구조를 C# 코드로 표현해 볼까요?

for (int i = 0; i < 10; i++) 
{
    // 반복해서 실행될 코드
    Console.WriteLine("현재 반복 횟수: " + i);
}

위 코드에서 int i = 0은 초기화, i < 10은 조건식, i++는 증감식에 해당해요. 이 세 가지 요소가 환상의 팀워크를 이루어 i가 0부터 9까지 증가하면서 중괄호 안의 코드를 10번 반복 실행한답니다. Console.WriteLine("현재 반복 횟수: " + i);는 매 반복마다 현재 i 값을 출력하는 코드죠. 실행 결과는 다음과 같을 거예요.

현재 반복 횟수: 0
현재 반복 횟수: 1
현재 반복 횟수: 2
...
현재 반복 횟수: 9

어때요? for 반복문의 구조, 이제 완벽하게 이해되셨나요?! for 반복문은 마치 마법사의 지팡이처럼 다양한 상황에서 유용하게 활용될 수 있답니다. 다음에는 for 반복문을 활용한 실제 예시들을 살펴보면서 그 놀라운 활용법을 더욱 자세히 알아볼게요! 기대해 주세요~! 😉

 

반복 횟수 제어하기

for 반복문을 사용할 때 가장 중요한 부분 중 하나는 바로 반복 횟수를 정확하게 제어하는 것이에요! 마치 요리할 때 레시피대로 정확한 양의 재료를 넣어야 맛있는 음식이 완성되는 것처럼 말이죠. C#에서 for 반복문은 시작, 조건, 증감식 이 세 가지 요소를 통해 얼마나 반복될지를 결정해요. 자, 이제 이 세 가지 요소를 가지고 어떻게 반복 횟수를 마음대로 주무를 수 있는지 알아볼까요?

가장 기본적인 for문

가장 기본적인 형태는 정해진 횟수만큼 반복하는 거예요. 예를 들어 1부터 10까지 숫자를 출력하고 싶다면, 시작 값을 1로, 조건을 i <= 10으로, 증감식을 i++로 설정하면 돼요. i++는 i = i + 1과 같은 의미인데, 반복할 때마다 i 값이 1씩 증가한다는 뜻이에요. 이렇게 하면 for 반복문은 i가 1부터 시작해서 10이 될 때까지, 총 10번 반복하게 된답니다. 참 쉽죠?!

for (int i = 1; i <= 10; i++)
{
    Console.WriteLine(i);
}

증감식 변경하기

하지만 항상 1씩 증가시키는 것만은 아니에요~. i += 2처럼 2씩 증가시키거나, i -= 3처럼 감소시키는 것도 가능해요! 마치 게임에서 캐릭터의 이동 속도를 조절하는 것과 비슷하다고 생각하면 돼요. 빠르게 이동하고 싶으면 증감 값을 크게, 느리게 이동하고 싶으면 작게 설정하는 것처럼 말이죠!

// 2씩 증가
for (int i = 0; i <= 10; i += 2) 
{
    Console.WriteLine(i); // 0, 2, 4, 6, 8, 10 출력
}

// 1씩 감소
for (int i = 10; i >= 0; i--)
{
    Console.WriteLine(i); // 10, 9, 8, ... , 0 출력
}

조건식 다양하게 활용하기

또, 조건식을 다양하게 활용해서 반복 횟수를 더욱 세밀하게 조정할 수도 있어요. 단순히 숫자 비교뿐만 아니라, 다른 변수의 값이나 함수의 결과를 이용해서 조건을 설정할 수 있거든요. 예를 들어, 사용자가 입력한 숫자만큼 반복하고 싶다면, Console.ReadLine()으로 입력받은 값을 int 타입으로 변환해서 조건식에 사용하면 돼요. 이렇게 하면 사용자의 입력에 따라 반복 횟수가 유동적으로 바뀌게 되는 거죠!

Console.Write("반복 횟수를 입력하세요: ");
int count = int.Parse(Console.ReadLine());

for (int i = 0; i < count; i++)
{
    Console.WriteLine($"현재 {i+1}번째 반복 중입니다.");
}

배열이나 리스트와 함께 사용하기

더 나아가, 배열이나 리스트와 함께 사용하면 더욱 강력한 기능을 발휘해요. 배열의 길이만큼 반복하거나, 리스트에 특정 값이 있는지 확인하면서 반복하는 등, 데이터를 효율적으로 처리할 수 있답니다.

string[] fruits = { "사과", "바나나", "딸기", "포도" };

for (int i = 0; i < fruits.Length; i++)
{
    Console.WriteLine($"오늘의 과일: {fruits[i]}");
}

이처럼 for 반복문의 반복 횟수를 제어하는 방법은 정말 다양해요. 시작, 조건, 증감식 이 세 가지 요소를 잘 이해하고 응용하면 어떤 복잡한 반복 작업도 손쉽게 처리할 수 있을 거예요!

 

실제 활용 예시

자, 이제 for 반복문이 어떻게 생겼는지, 어떻게 횟수를 조절하는지 슬슬 감이 잡히시죠? 그럼 이제 실제로 어떻게 써먹는지, 재밌는 예시들을 잔뜩 가져왔어요! 준비되셨나요~?! 😄

1. 구구단 출력하기:

초등학교 시절의 악몽(?) 구구단! for 반복문을 이용하면 아주 간단하게 출력할 수 있어요. 2단부터 9단까지, 차례대로 곱셈 결과를 보여주는 코드를 살펴볼까요? 🧐

for (int i = 2; i <= 9; i++) {
    Console.WriteLine($"{i}단 시작!");
    for (int j = 1; j <= 9; j++) {
        Console.WriteLine($"{i} x {j} = {i * j}");
    }
    Console.WriteLine($"{i}단 끝!\n"); // 단 사이에 빈 줄 넣기!
}

여기서 눈여겨볼 점은 중첩 for 반복문! 바깥쪽 for 반복문은 단(2단~9단)을, 안쪽 for 반복문은 각 단의 곱셈 (1~9)을 담당해요. 마치 시계의 시침과 분침처럼 착착 맞물려 돌아가는 모습, 상상되시나요? 🕰️

2. 배열의 요소 합계 구하기:

데이터 분석에서 숫자들의 합계를 구하는 건 기본 중의 기본! for 반복문을 사용하면 배열 안에 있는 모든 숫자를 순서대로 더할 수 있어요. 💯

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = 0;

for (int i = 0; i < numbers.Length; i++) {
    sum += numbers[i]; // sum = sum + numbers[i] 와 같은 의미!
}

Console.WriteLine($"배열 요소의 합계: {sum}");

numbers.Length는 배열의 크기를 알려주는 아주 유용한 속성이에요. 덕분에 배열의 크기가 바뀌어도 코드를 수정할 필요 없이 똑같이 작동한답니다! 👍

3. 별(*) 찍기 (피라미드 만들기):

프로그래밍 입문자라면 누구나 한 번쯤 도전해보는 별 찍기! for 반복문을 이용하면 다양한 모양을 만들 수 있는데, 그중에서도 피라미드를 한번 만들어볼까요? ✨

int height = 5; // 피라미드 높이

for (int i = 1; i <= height; i++) {
    // 공백 찍기
    for (int j = 1; j <= height - i; j++) {
        Console.Write(" ");
    }
    // 별 찍기
    for (int k = 1; k <= 2 * i - 1; k++) {
        Console.Write("*");
    }
    Console.WriteLine(); // 줄 바꿈
}

여기서는 공백과 별을 찍는 부분을 각각 for 반복문으로 처리했어요. 중첩 반복문이 여러 개 등장해서 조금 복잡해 보이지만, 차근차근 따라가 보면 어렵지 않아요! 😉

4. 팩토리얼 계산하기:

1부터 n까지의 자연수를 모두 곱한 값인 팩토리얼(n!)! 수학에서 자주 등장하는 개념이죠? for 반복문으로 간단하게 계산해 보겠습니다!

int n = 5; // 5! (5 팩토리얼) 계산
int factorial = 1;

for (int i = 1; i <= n; i++) {
    factorial *= i; // factorial = factorial * i 와 같은 의미!
}

Console.WriteLine($"{n}! = {factorial}");

팩토리얼 값은 굉장히 빠르게 커지기 때문에, n이 너무 크면 int 자료형으로는 표현할 수 없을 수도 있어요. 그럴 땐 long 자료형을 사용하는 것을 잊지 마세요! ⚠️

5. 문자열 뒤집기:

“hello”를 “olleh”로 뒤집는 것처럼, 문자열을 거꾸로 출력하는 것도 for 반복문으로 쉽게 할 수 있어요!

string str = "hello";
string reversedStr = "";

for (int i = str.Length - 1; i >= 0; i--) {
    reversedStr += str[i];
}

Console.WriteLine($"뒤집힌 문자열: {reversedStr}");

여기서는 반복문을 거꾸로 돌리는 것이 핵심! str.Length - 1부터 시작해서 0까지 1씩 감소시키면서 문자를 하나씩 가져와서 새로운 문자열에 추가하는 방식이에요. 참 쉽죠잉~? 😊

이 외에도 for 반복문은 정말 다양한 곳에서 활용될 수 있어요. 여러분도 직접 for 반복문을 사용해서 다양한 프로그램을 만들어보고, 그 매력에 푹 빠져보세요! 🎉 프로그래밍의 세계는 무궁무진하니까요! 🚀

 

다른 반복문과의 비교

자, 이제 드디어 C#의 다른 반복문 친구들을 만나볼 시간이에요! for 반복문을 열심히 공부했으니, while, do-while, foreach까지 함께 살펴보면서 각각의 특징과 장단점을 비교해보는 건 어떨까요? 마치 오랜 벗처럼 서로 다른 매력을 가진 반복문들을 만나보면 코드 작성 실력이 쑥쑥 향상될 거예요! 😄

C#에서는 for 반복문 외에도 다양한 반복문을 제공하는데요, 각각의 반복문은 상황에 따라 효율성과 가독성 면에서 차이를 보입니다. for 반복문이 반복 횟수가 정해져 있을 때 유용하다면, while 반복문은 조건이 만족되는 동안 반복을 계속하고 싶을 때! 그리고 do-while 반복문은 최소한 한 번은 실행하고 싶을 때 사용하면 정말 편리해요. 마지막으로 foreach 반복문은 컬렉션이나 배열의 모든 요소를 순회할 때 유용하답니다. 참, 쉽죠~?😉

1. while 반복문: 조건이 참인 동안 반복!

while 반복문은 조건식이 참인 동안 반복적으로 코드 블록을 실행해요. for 반복문처럼 초기화, 조건식, 증감식이라는 틀에 얽매이지 않고, 오로지 조건식 하나만으로 반복 여부를 결정한답니다. 조건식이 거짓이 되는 순간, while 반복문은 쿨하게 빠져나가요! 😎

예를 들어, 사용자로부터 0이 아닌 숫자를 입력받아 그 숫자들의 합을 계산하는 프로그램을 생각해 보세요. 0을 입력받기 전까지는 입력을 계속 받아야 하니, 이럴 때 while 반복문을 사용하면 딱이겠죠?

int sum = 0;
int input;

Console.Write("숫자를 입력하세요 (0을 입력하면 종료): ");
input = int.Parse(Console.ReadLine());

while (input != 0) {
    sum += input;
    Console.Write("숫자를 입력하세요 (0을 입력하면 종료): ");
    input = int.Parse(Console.ReadLine());
}

Console.WriteLine("입력된 숫자의 합: " + sum);

2. do-while 반복문: 최소 한 번은 실행!

do-while 반복문은 while 반복문과 비슷하지만, 중요한 차이점이 하나 있어요! 바로 조건식을 확인하기 전에 무조건! 한 번은 코드 블록을 실행한다는 점이에요. 🤔 즉, 조건식이 처음부터 거짓이더라도 최소한 한 번은 실행된다는 말씀!

예를 들어, 사용자로부터 암호를 입력받아 확인하는 프로그램을 작성한다고 생각해 보세요. 암호가 틀리면 다시 입력받아야 하지만, 최소한 한 번은 암호를 입력받아야 하겠죠? 이럴 때 do-while 반복문을 사용하면 딱! 맞아요. 👍

string password;
do {
    Console.Write("암호를 입력하세요: ");
    password = Console.ReadLine();
} while (password != "1234");

Console.WriteLine("암호가 확인되었습니다!");

3. foreach 반복문: 컬렉션의 모든 요소를 순회!

foreach 반복문은 배열이나 리스트와 같은 컬렉션의 모든 요소를 순회할 때 사용하는 반복문이에요. for 반복문처럼 인덱스를 사용하지 않고, 각 요소에 직접 접근할 수 있어서 코드가 훨씬 간결하고 읽기 쉬워진답니다!

예를 들어, 숫자 배열의 모든 요소를 출력하는 프로그램을 작성한다고 해볼까요? for 반복문을 사용하면 인덱스를 이용해서 각 요소에 접근해야 하지만, foreach 반복문을 사용하면 훨씬 간단하게 처리할 수 있어요.

int[] numbers = { 1, 2, 3, 4, 5 };

foreach (int number in numbers) {
    Console.WriteLine(number);
}

4. for vs while vs do-while vs foreach: 최고의 선택은?!

각 반복문은 저마다의 장점을 가지고 있기 때문에 상황에 맞게 적절한 반복문을 선택하는 것이 중요해요. 반복 횟수가 명확하게 정해져 있다면 for 반복문을, 조건에 따라 반복 여부를 결정해야 한다면 while 또는 do-while 반복문을, 그리고 컬렉션의 모든 요소를 순회해야 한다면 foreach 반복문을 사용하는 것이 좋습니다. 어떤 반복문을 선택해야 할지 고민될 때는 각 반복문의 특징을 떠올리면서 코드의 가독성과 효율성을 고려해보세요! 😊 이렇게 다양한 반복문들을 적재적소에 활용하면 여러분의 C# 프로그래밍 실력이 한층 더 업그레이드될 거예요! 🚀

 

자, 이렇게 C#에서 for 반복문을 어떻게 사용하는지 핵심만 쏙쏙 뽑아서 알아봤어요! for 반복문의 구조부터 시작해서, 반복 횟수를 내 맘대로 조절하는 방법까지, 차근차근 살펴봤죠? 실제 예시를 통해 어떤 상황에서 활용하면 좋을지 감도 잡았을 거예요. 다른 반복문들과 비교해보면서 for 반복문만의 매력도 느껴봤고요. 처음엔 어려워 보였던 for 반복문, 이제 좀 친숙해졌나요? 이제 여러분도 for 반복문 마스터가 될 수 있어요! 직접 코드를 작성하고 실행해 보면서 익숙해지는 게 제일 중요하다는 거, 잊지 마세요! 다음 포스팅에서는 더 재미있는 C# 이야기로 찾아올게요. 기대 많이 해주세요!

 

Itlearner

Share
Published by
Itlearner

Recent Posts

R에서 결측치(NA) 처리 방법 (is.na(), na.omit(), na.rm = TRUE)

데이터 분석하면서 늘 골치 아픈 존재, 바로 결측치(NA)죠? 마치 퍼즐 조각이 몇 개 빠진 것처럼…

2시간 ago

R에서 apply 계열 함수 (apply(), sapply(), lapply(), tapply())

R 언어를 다루다 보면, 반복적인 작업을 효율적으로 처리하고 싶을 때가 많죠? 그럴 때 엄청 유용한…

6시간 ago

R에서 함수(Function) 정의 및 호출 (function() { })

안녕하세요, 여러분! 오늘은 R과 친해지기 위한 아주 중요한 걸음을 함께 내딛어 보려고 해요. 바로 함수(function)…

10시간 ago

R에서 반복문 (for, while, repeat 활용법)

R 언어로 데이터 분석을 하다 보면, 반복 작업이 정말 많죠? 그럴 때마다 일일이 코드를 반복해서…

14시간 ago

R에서 제어문 (if-else, switch)

안녕하세요, 여러분! 오늘은 R과 함께 신나는 코딩 여행을 떠나볼까요? R을 이용하면 데이터 분석이 정말 재밌어져요!…

18시간 ago

R에서 산술 연산자 및 논리 연산자 (+, -, *, ==, !=, &, |)

안녕하세요, 여러분! 😊 오늘은 R과 함께 신나는 데이터 분석 여행을 떠나볼까요? 데이터 분석에서 가장 기본적이면서도…

23시간 ago