제어문

강효림·2022년 7월 24일
0

혼공C

목록 보기
5/8

선택문

선택문에는 크게 2가지 종류가 있습니다.
If문과 Switch문이죠.
먼저 If문 부터 살펴보겠습니다.

If문

기본 형식

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

조건식이 참이라면 중괄호 안의 실행문을 실행하는 원리입니다.

  • if문은 중괄호를 사용하고 들여쓰기를 해서 실행문을 명확히 구분해주는 것이 좋습니다.
  • 실행문장이 2개 이상이라면 반드시 중괄호로 묶어야 합니다.

if ~ else 문

기본 형식

if(조건식)
{
실행문;
}
else
{
실행문;
}

두가지중 하나를 무조건 실행되는 구조를 갖습니다.

  • else문에는 조건을 달지 않습니다.
  • 실행문장이 2개 이상이라면 반드시 중괄호로 묶어야 합니다.
  • if문 두개보다 if~else문 한 번 쓰는 것이 더 좋습니다.
    if문 두개를 쓰면 조건식을 두 번 써야하는데 잘못하면 둘 다 실행되거나 모두 실행이 안될 수도 있습니다.
    그리고 조건식을 두 번 검사하므로 실행속도가 느려질 수 있습니다.

if ~ else if ~ else문

기본 형식

if (조건식)
{
실행문;
}
else if(조건식)
{
실행문;
}
else
{
실행문;
}

3개 이상의 실행문에서 반드시 하나를 선택하는 경우에 사용합니다.

  • 실행 문장이 2개 이상이라면 반드시 중괄호로 묶어준다.
  • 조건식을 차례로 검사하므로 이전 조건의 결과가 반영된다.

중첩 if문

기본 형식

처음 if문이 참이라면 중첩문 실행하고, 거짓이라면 그냥 넘어간다.

  • 선행조건이 있으면 불필요한 검사를 하지 않습니다.
  • 선행조건이 없어도 효율을 위해 의도적으로 중첩해 사용할 수 있습니다.

분할 정복 기법


if문 총정리
실행문이 두가지 이상이라면 반드시!! 중괄호를 사용해주어야 실행에 문제가 생기지 않는다.
실행문이 두가지가 아니어도 중첩 if문에서는 반드시!! 중괄호를 사용해야 합니다.

Switch문

Switch ~ case문

  • 조건식은 정수식만 사용합니다.
  • 기본적으로 case는 break를 포함합니다.

Break

break는 해당 블록을 빠져나오는데 사용합니다.

정수식

정수식은 정수형 상수나 변수를 사용할 수 있으며 수식을 사용할 때는 결괏값이 정수여야 합니다.
case를 사용하는 상수식 역시 정수만 가능합니다.

case와 default는 건너뛸 위치를 표시하는 레이블의 역할을 합니다.

break는 필요에 따라 생략할 수 있으며, break의 유무차이는 엄청납니다.
그래서 생략시에는 자세한 설명과 함께 제한적으로 사용해야 합니다.

반복문

일정조건을 만족하는 동안 같은 실행문을 반복하는 것이 반복문 입니다.
반복문에는 while, for, do~ while 이렇게 3가지가 있습니다.

While문

조건을 먼저 검사하고 조건식이 참일 동안 반복문을 실행합니다.
실행문장이 한 문장이라면 중괄호를 생략할 수 있으나 두 문장 이상일 때는 반드시 중괄호를 써줘야 합니다.
중괄호 안의 실행문은 들여썼을 때 읽기 쉽습니다.

for문

실행문을 원하는 횟수만큼 반복할 때 사용합니다.

  • 초기식, 증감식, 조건식은 반복횟수를 알기 쉽게 작성합니다.
    이해하기 쉬운 코드를 선택하기!!
  • 반복 횟수를 세는 변수를 반복문 안에서 바꾸지 않는 것이 좋습니다.
    이해하기 어려워짐!!

for문을 while문으로 바꿀 수 있습니다!
하지만 횟수가 정해진 반복문이라면 for를 사용하는 것이 더 좋습니다.

do ~ while문

일단 반복할 문장을 수행하고 조건식에 맞는지 검사합니다.
반복 부분을 알기 쉽도록 중괄호를 사용하고 들여쓰는 것이 좋습니다.
조건식 마지막에 세미콜론을 기억합시다!!!!

조건식과 관계없이 무조건 한 번은 실행하는게 do~while.
조건을 만족할 때 실행하고 거짓이면 실행하지 않는 것이 while입니다.

중첩 반복문

반복문 안에 또 반복문이 있는 것입니다.

  • 중첩 반복문에서는 각 반복문이 서로 독립적인 제어 변수를 사용해야 각각 원하는 횟수를 반복할 수 있습니다.
  • 중첩 반복문은 반복되는 기본문장과 규칙을 찾는 일이 가장 중요합니다.

분기문

Break

break는 반복문 안에서 반복을 즉시 끝낼 때 사용합니다.
중간에서 반복문을 끝내고 싶을 때 사용합니다.

Break는 자신을 포함한 반복문 하나만 벗어납니다.
따라서 반복문이 중첩된 경우 가장 안쪽에서 break를 사용하면 모든 반복문을 빠져나올 수 없습니다.

무한 반복문 빠져나오기

조건식이 항상 참일 때 무한 반복됩니다.
참인 경우

while(1)
for(;;)

반복을 끝낼 때는 조건에 따라 break를 사용합니다.

continue

continue는 반복문의 일부를 건너 뛰고 다음 실행위치가 반복문의 블록 끝이 됩니다.
블록을 탈출하는것이 아닙니다!!

While문에서 continue를 사용하면 다음 실행 위치가 조건식이 되기 떄문에 증감식이 실행되지 않으므로 무한반복합니다.

최종정리

0개의 댓글