[C#] 4.분기 및 루프 문이 포함된 조건문

 

변수를 검사하고 해당 변수에 따라 실행 경로를 변경하는 코드를 작성하는 방법을 알아봅시다.

 

 

1.if 문을 사용하여 결정하기

 

다음 코드를 작성해봅시다. 

int a = 5;
int b = 6;
int c = 1;

int result = a + b - c;

if (a + b > 10)
    Console.WriteLine("a와 b를 합한 값이 10보다 큽니다");
if (result >= 10)
    Console.WriteLine("a와 b를 합하고 -1 한값이 10이랑 같습니다");

 

사용자 환경에서 이를 실행하는 경우 로컬 버전에 대한 지침을 따라야 합니다. 합계가 10보다 작도록 b의 선언을 수정해봅시다. 

int b = 3;

 

실행 단추를 다시 눌러봅니다. 답이 10보다 작기 때문에 아무것도 출력되지 않습니다. bool은 true 또는 false의 두 값 중 하나를 가질 수 있는 변수입니다. C#은 부울 변수에 대한 특수 형식 bool을 정의합니다. if 문은 bool의 값을 확인합니다. 값이 true인 경우 if 뒤의 문이 실행됩니다. 그렇지 않으면 건너뜁니다.

 

2.if와 else를 함께 사용하기

 

true 분기와 false 분기의 여러 코드를 실행하려면 조건이 false일 때 실행되는 else 분기를 생성합니다.

int a = 6;
int b = 4;

if (a + b > 12)
    Console.WriteLine("A와 B를 더한 값은 12보다 큽니다");
else
    Console.WriteLine("A와 B를 더한 값은 12보다 작습니다");

 

else 키워드 뒤의 문은 테스트하는 조건이 false인 경우에만 실행됩니다. if 및 elsebool 조건과 결합하면 필요한 모든 기능을 제공합니다. 들여쓰기는 중요하지 않아 { 및 } 를 사용해 두 개 이상의 문이 조건부로 실행되는 블록의 일부가 되는 시기를 나타내야 합니다.

 

C# 프로그래머는 모든 if 및 else 절에서 중괄호를 사용합니다. 

int a = 5;
int b = 3;

if ( a + b > 10 )
{
    Console.WriteLine("A와 B를 합한 값이 10보다 큽니다");
}
else
{
    Console.WriteLine("A와 B를 합한 값이 10보다 작습니다");
}

 

다음과 같이 더 복잡한 방법으로 테스트 할 수 있습니다.

int a = 5;
int b = 3;
int c = 4;

if ((a + b + c > 10) && (a == b))
{
    Console.WriteLine("a와 b와 c를 합한 값이 10보다 큽니다");
    Console.WriteLine("a의 값은 b와 같습니다.");
}
else
{
    Console.WriteLine("값이 다름니다");
    Console.WriteLine("어느 숫자도 해당되지 않습니다");
}

 

== 기호는 같음을 나타냅니다. &&는 "and"를 나타냅니다. true 분기에서 문을 실행하려면 두 조건 모두 true여야 합니다. 이러한 예제에서 및 }로 문을 묶으면 각 조건부 분기에 여러 문이 가질 수 있음도 보여줍니다.

 

|| 를 사용하면 "or"을 나타낼수 있습니다.

if ((a + b + c > 10) || (a == b))
{
    Console.WriteLine("a와 b와 c를 합한 값이 10보다 큽니다");
    Console.WriteLine("a의 값은 b와 같습니다.");
}
else
{
    Console.WriteLine("값이 다름니다");
    Console.WriteLine("어느 숫자도 해당되지 않습니다");
}

 

a, b 및 c의 값을 수정하고 && 및 || 간에 전환하여 살펴봅니다 && 및 || 연산자가 어떻게 작동하는지 이해할 수 있습니다.

 

3. 루프를 사용하여 작업 반복

 

대규포 프로그램을 만드는 또 다른 중요한 개념은 루프입니다. 루프를 사용해 두 번 이상 실행하려는 문을 반복합니다.

int counter = 0;
while (counter < 10)
{
    Console.WriteLine($"Hello World! This counter is {counter}");
    counter++;
}

 

while 문은 조건을 확인하고 while 뒤의 문을 실행합니다. 조건이 false가 될 때까지 조건 확인 및 문 실행을 반복합니다.

이 예제에서는 다른 새 연산자가 하나 있습니다. counter 변수 뒤의 ++증가 연산자입니다.

 

카운터 값에 1을 더하고 카운터 변수에 해당 값을 저장합니다. while 루프는 while 뒤에 코드를 실행하기 전에 조건을 테스트 합니다. do .... while 루프는 코드를 먼저 실행한 후  조건을 확인합니다.

int counter = 0;
do
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
} while (counter < 10);

 

4. for 루프 작업

 

C# 코드에서 볼 수 있는 또 다른 일반적인 루프 문은 for 루프입니다.

for (int counter = 0; counter < 10; counter++)
{
    Console.WriteLine($"Hello world! This counter is {counter}");
}

 

while 루프 및 이미 사용한 do 루프와 동일한 작업을 수행합니다. for 문에는 작동 방식을 제어하는 세 부분이 있습니다.

첫 번째 부분은 for 이니셜라이져입니다. int counter = 0; 은 counter가 루프 변수임을 선언하고 첫번째 값을 0으로 설정합니다.

 

중간 부분은 for 조건입니다. counter < 10 은 for 루프가 카운터 값이 10보다 작으면 계속 실행됨을 선언합니다. 마지막 부분은 for 반복기 입니다. counter++는 for 문 다음의 블록을 실행한 후 루프 변수를 수정하는 방법을 지정합니다.

 

여기서 counter는 블록이 실행될 때마다 1씩 증가하도록 지정합니다.

 

5. 중접 루프 만들기

 

while, do 또는 for 루프를 다른 루프 내에 중첩하여 내부 루프에 있는 각 항목과 외부 루프에 있는 각 항목의 조합을 사용하여 행렬을 만들 수 있습니다. 행과 열을 나타내는 영 숫자 쌍 세트를 작성하겠습니다.

 

하나의 for 루프가 행을 생성할 수 있습니다.

for (int row = 1; row < 11; row++)
{
    Console.WriteLine($"The row is {row}");
}

 

다음 루프는 열을 생성할 수 있습니다.

for (char column = 'a'; column < 'k'; column++)
{
    Console.WriteLine($"The column is {column}");
}

 

한 루프를 다른 루프 안에 중첩시켜 구성할 수 있습니다.

for (int row = 1; row < 11; row++)
{
    for (char column = 'a'; column < 'k'; column++)
    {
        Console.WriteLine($"The cell is ({row}, {column})");
    }
}

 

내부 루프를 실행할때마다 외부 루프가 하나씩 증가하는 것을 볼 수 있습니다. 행과 열 중첩을 반대로 바꾸고 변경 내용을 직접 확인해보세요.

 

 

 

분기 및 루프 - 소개 대화형 자습서

분기 및 루프에 대한 이 자습서에서는 브라우저를 사용하여 C#을 대화형으로 학습할 수 있습니다. 브라우저에서 바로 C# 코드를 작성하고, 코드를 컴파일하고 실행한 결과를 확인할 수 있습니다.

learn.microsoft.com

 

 

LIST