SSISO Community

갤러리정

C#기초 - 제어문 - CSharp

제어문
- 프로그램의 시작점(entry point) ~  프로그램 종착점(end point) : 하나의 흐름
- 순차적인 실행 -> 흐름제어 : 제어문
- 선택문 : 조건에 따른 선택 분기(if, switch)
- 반복문 : 특정 블록이나 문장을 반복실행(while, do, form, foreach)
- 분기문 : 조건에 따라 다른 분기점으로 제어 흐름을 이동 (goto, beak, continum)

 

선택문

 

if문
- 조건식이 참이면 A. 조건식이 거짓이면 B를 실행
- if (조건식)
  {
     A
  }
  else
  {
     B
  }
- 반드시 조건식의 결과는 Boolean형이어야 한다.(True or False) : 0 or 1을 사용할수 없음.


else if 문
- 연속적인 조건을 검사할대
- 다중 if문
- if(조건식)
     A
  else if(조건식)
     B
  else if(조건식)
     C
  else
     D


중첩 if문
- if문안에 if문을 사용
- if(조건식)
  {
    if(조건식)
       A실행
    else
       B실행
  }

 

switch문
 - 한 변수의 값에 따라서 선택해야 하는 조건이 많을 때..
 - 조건식 : 숫자 및 문자열 모두 허용
    (sbyte, byte, short, ushort, int, uint, long, ulong, char, string, enum)
 - case 레이블 : 각 선택 조건의 값들..
 - 반드시  레이블 끝에는 분기문이 와야한다
 - if문에 비해 직관적
 - 레이블에는 중북된 값이 들어가면 안된다.
 - 중복 레이블 : 레이블을 적고, 문장 및 분기문을 적지 않고 공유한다


 switch(s)
 {
    case "1" :

        ...
    case "2" :
    case "3" :
    //중복레이블로 s가 2나 3일 경우 둘다 아래분기를 실행한다.
       ...
    default :
 }

 

반복문

 

while문
- 간단한 반복문
- 조건을 만족하는 동안 반복한다.
- 조건을 만족 못하는 순간 while문 밖으로 제어가 이동
- 반드시 조건식의 반환값은 bool값
- while(조건식)
  {
   실행문
   }

 

do while문
- while문과 유사, 조건에 상관없이 일단 1회 실행
- 조건식이 뒤에 위치
- do
  {
   실행문;
  }while(조건식);


반복문의 중첩
- 반복문끼리 중첩가능하다.
- 너무 많이 중첩되면 가독이 힘들다
- for, while, do/while 상관없이 중첩가능

 

무한반복문
- 조건이 항상 true인 반복문
- for(;;;){}
- while(true){}
- do{} while{true}
- 보통 while을 많이 사용

 

public void ForTest01()
{
     //for문에서는 조건식을 제외한 나머지 식에서 여러 개의 문장을 포함할수 있다.
     for(int j=1, k=10; (j<=10) && (k>=1); j++, k--)
        Console.WriteLine("{0,2}\t{1,2}",j,k);

    //Console.WriteLine("i={0}, j={1}", i, j);
     //위에서 i,j 는 for문에서만 사용되는 privite 변수로 사용된다.

 

     int i = 0;
     while(true)
     {

        for(int j=1; j<i; j++) Console.WriteLine();
           Console.WriteLine("I Love You");

        for(int j=1; j<=10000; j++);  //for문다음에 ;이 오면 실행시킬 문장이 없다는 얘기임
        i++;

     }

}


913 view

4.0 stars