본문 바로가기
프로그래밍 언어/C#

C# 4. 제어문

by Jinger 2024. 2. 27.

서론

    제어문(control statement)은 프로그램 실행 순서를 제어하거나 프로그램 내용을 반복하는 작업 등을 처리할 때 사용하는 구문으로 조건문과 반복문으로 구분한다.


순차문

    프로그램은 기본적으로 "변수 선언 > 계산 > 출력" 순서대로 실행된다. Main() 메서드 시작 지점부터 끝 지점까지 코드가 나열되면 순서대로 실행 후 종료한다.


조건문

    프로그램 흐름을 여러 가지 갈래로 제어할 수 있다. 이때 사용하는 것이 조건문이다.

if 문

    if문은 조건을 비교해서 판단하는 구문으로 if, else if, else 세 가지 키워드가 있다. 아래 예시와 같은 형식으로 사용하며, 실행문이 하나만 있을 때(단문, single statement)는 중괄호를 생략할 수 있다.

형태 설명
if (조건식)
{
   실행문;
}
   조건식이 참일 때만 if문 안 실행문이 실행된다.
if (조건식)
{
   실행문;
}
else
{
   실행문;
}
   조건식이 참일 때는 if문 안 실행문이 그 외 모든 경우에는 else문이 실행된다.
if (조건식1)
{
   실행문;
}
else if (조건식2)
{
   실행문;
}
...
else
{
   실행문;
}
   조건식이 참일 때는 if문 안 실행문이 되고, 다음 else if 조건을 확인한다. 그 외 모든 경우에는 else문이 실행된다. 추가로 조건을 넣고 싶으면 else if 구문을 if와 else 사이에 더 추가할 수 있다.
if (조건식1)
{
   실행문;
}
else if (조건식2)
{
   실행문;
}
   조건식이 참일 때는 if문 안 실행문이 되고, 다음 else if 조건을 확인한다.
if (조건식)
   실행문;
   실행문이 단문일 경우 중괄호를 생략할 수 있다.
if (조건식1)
{
   실행문1;
   if(조건식2)
   {
      실행문2;
   }
}
   조건문 안에 조건문을 쓸 수 있다.

    조건식에는 이전에 배운 논리 연산자 혹은 비교 연산자를 통해 boolean 자료형으로 참, 거짓을 구분한다. 단, 조건식에 null(참조형 변수), 0, 빈 문자열("")인 경우는 false로 간주된다. 그 외에는 모두 true이다.

switch 문

    switch문은 선택문이라고도 불린다. switch문은 값에 따라 다양한 제어를 처리할 수 있다. 즉, 다중 if문을 사용할 때 조건을 처리할 내용이 많다면 switch문을 사용한다.

형태 설명
switch (표현식)
{
   case 값1:
       실행문;
       break;
   case 값2:
       실행문;
       break;
...
   default:
       실행문;
       break;
}
    표현식의 값을 차례대로 값을 비교하여 참인 case 내 실행문을 실행 후 break를 만나 switch문을 나온다. 만약 case에 같은 값이 없다면 default로 넘어간다. 주의할 점으로 만약 break가 없다면 순차적으로 다음 실행문을 실행한다.

    만약 표현식이 case 값1과 같아 실행문을 실행한 뒤 break가 없다면, case 값2에 있는 실행문도 실행하게 된다. 
switch (표현식)
{
   case 값1:
   case 값2:
       실행문;
       break;
...
   default:
       실행문;
       break;
}
   표현식이 값1 혹은 값2이면 실행문을 실행한다. 만약 case에 같은 값이 없다면 default로 넘어간다. 위 주의사항을 이용한 케이스이다.

반복문

     반복문을 사용하면 반복적으로 처리해야 할 일을 컴퓨터가 빠르게 수행할 수 있다. 반복문을 loop라고 부르기도 한다. 조건문과 마찬가지로 중첩이 가능하다.

for문

    for문은 특정 구문을 여러 번 반복해서 실행할 때 사용한다. 특히, 횟수가 정해져 있는 상황에 사용한다. for문은 초기식부터 조건식까지 증감식 크기만큼 반복하여 실행한다. 주의할 점으로 for문은 초기식으로 반복할 인자를 초기화한 후, 조건식을 확인하고 실행문을 실행한 뒤에야 증감식으로 들어가 다시 조건식을 확인하다. 그렇기에 증감식에서 "i++" 혹은 "++i"에 차이가 없다. 또한 초기식이 외분에 존재할 경우 생략을 할 수 있지만, 콜론 ";"은 남겨둬야 한다.

for(초기식; 조건식; 증감식;)
{
   실행문;
}

while문

    while문은 조건식이 참일 동안 실행문을 반복 실행한다. while의 반복을 멈추기 위해 while문 안 코드에서 증감식 등을 사용하여 조건식 값을 변경해야한다. 특히, whille문은 for문과 달리 조건을 확인하는 상황에서 많이 사용된다.

while(조건식)
{
   실행문;
}

do while문

   do while문은 while문과 유사하지만 처음 시작할 때 조건을 확인하지 않고 실행한 뒤에 while문 조건식을 확인한다. 즉, while은 조건을 우선 확인한다면 do while은 조건을 나중에 확인하는 차이가 있다. 주의해야할 점으로는 while 뒤에 콜론 ";"을 써야 한다. 

do
{
   실행문;
}while(조건식);

foreach문

   배열(array)이나 컬렉션(collection) 같은 값을 여러 개 담고 있는 데이터 구조에서 각각의 데이터가 들어 있는 만큼 반복하는 반복문이다. 아래 형식을 참고하면 항목들에 담겨 있는 자료형을 유의하여 항목에 담아야 한다. 또한, 데이터 구조에 담긴 데이터를 데이터 구조에 넣으면서 해당 데이터 크기만큼 반복한다.

foreach(항목 in 항목들)
{
   실행문;
}

기타

break 문

    반복문 혹은 선택문을 빠져나올 때 사용한다.

반복문
{
   break;
}

 

for(int i = 0; i < 100; i++)
{
   if (i==5)
   {
       break;    // i == 5 일 때 for문 종료
   }
      Console.WriteLine(i);
}

continue문

    해당 반복문을 생략하고 반복을 이어갈 때 사용한다.

반복문
{
   continue;
}
for(int i = 0; i < 10; i++)
{
   if (i%2 == 0)
   {
       continue;    // 짝수는 건너뛰기
   }
   Console.WriteLine(i);
}

goto문

    특정 레이블로 이동한할 때 사용한다. 그러나 최근에는 잘 사용하지 않는 구문이다.

레이블:
goto 레이블;
Console.WriteLine("시작");
Start:
Console.WriteLine("0,1,2 중에 하나 입력 : \b");
int c = Convert.ToInt32(Console.ReadLine());

if(c == 1)
{
   goto Chapter1;
}
else if(c == 2)
{
   goto Chapter2;
}
else
{
   goto End;
}

Chapter1:
Console.WriteLine("1장");

Chapter2:
Console.WriteLine("2장");

goto Start;

End:
Console.WriteLine("끝");

주섬주섬

  • 위 내용을 정리해보자.
제어문 설명 종류
순차문 기본적으로 모든 실행문은 순서대로 실행된다.
조건문 조건의 참 또는 거짓에 따라 서로 다른 명령문을 실행할 수 있는 구조 if문
switch문
반복문 특정 명령문을 지정된 수만큼 반복해서 실행할 때나 조건식이 참일 동안 반복시킬 때 사용 for문
while문
do while 문
foreach 문
기타 break: 반복문 내에서 반복을 중지한다.
continue: 반복문 내에서 그 다음 반복문으로 이동한다.
goto: 레이블로 지정된 곳으로 직접 이동한다.(C#에서 자주 사용하지 않음)

참고

 

C# 3. 변수와 입력문

서론 C# 프로그래밍에서 변수와 입력문은 중요한 개념으로, 변수는 데이터를 저장하고 처리하는 데 사용되며, 입력문은 프로그램 사용자로부터 데이터를 입력받는 데 도움이 된다. 변수와 입력

jinger.tistory.com

 

C# 네이밍

서론 C# 코딩 컨벤션(C# coding Conventions)은 C# 코드를 작성할 때 사용되는 규칙과 가이드라인의 모음이다. 이러한 컨벤션은 코드의 가독성과 일관성을 유지하고 협업 시에도 작성자 간에 일관된 스

jinger.tistory.com

 

반응형

'프로그래밍 언어 > C#' 카테고리의 다른 글

C# 6. 함수  (0) 2024.03.10
C# 5. 배열  (0) 2024.03.02
C# 3. 변수와 입력문  (1) 2023.10.04
C# 2. 출력문  (0) 2023.09.10
C# 1. C# 들어가기에 앞서  (0) 2023.09.07

댓글