Language/C

03 제어문과 반복문

BlackWhale 2025. 3. 18. 19:59

1. 조건문 (if, switch-case)

1) if 은 주어진 조건식이 참(true)일 때 특정 코드 블록을 실행하고, 거짓(false)일 때는 다른 코드 블록(또는 아무 것도 하지 않음)을 실행

if (조건식) {
    // 조건이 참일 때 실행할 코드
} else {
    // 조건이 거짓일 때 실행할 코드
}

2) else-if를 사용하면 여러 조건을 순차적으로 검사할 수도 있음

int num = -5;
if (num > 0) {
    printf("양수입니다\n");
} else if (num < 0) {
    printf("음수입니다\n");
} else {
    printf("0입니다\n");
}

3) switch-case 문은 하나의 변수 값에 따라 여러 분기(case) 중 하나를 실행할 때 사용

  • case 라벨에 해당하는 코드를 실행하며, 일반적으로 break를 사용하여 해당 분기를 실행한 후 흐름을 빠져나감
  • default 라벨을 사용하면 어떤 case에도 해당하지 않는 경우 실행될 코드를 지정할 수 있음
char grade = 'B';
switch (grade) {
    case 'A':
        printf("Excellent\n");
        break;
    case 'B':
        printf("Good\n");
        break;
    case 'C':
        printf("Fair\n");
        break;
    default:
        printf("Needs Improvement\n");
        break;
}
  • 위 예에서 grade가 'B'이므로 "Good"이 출력되고 break로 switch 문을 종료됨

2. 반복문(for, while, do-while)

1) for 문: 반복 횟수가 명확하거나 카운터 변수를 사용할 때 적합. 형태는 for (초기식; 조건식; 증감식) { ... }

for (int i = 1; i <= 5; i++) {
    printf("%d\n", i);
}

2) while 문: 조건을 사전에 검사하고, 조건이 참인 동안 반복. 형태는 while (조건식) { ... }

int x = 100;
while (x > 0) {
    printf("%d\n", x);
    x = x / 2;
}

3) do-while 문: 일단 코드를 최소 한 번 실행한 후에 조건을 검사하여 반복 여부를 결정. 형태는 do { ... } while (조건식);

int y = 1;
do {
    printf("%d\n", y);
    y++;
} while (y <= 3);

3. break와 continue

1) break: 현재 실행 중인 반복문을 즉시 종료하고, 반복문 이후의 코드로 제어를 이동. 일반적으로 switch 문이나 반복문에서 사용

for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        break;  // i가 5이면 반복문 종료
    }
    printf("%d ", i);
}
// 출력 결과: 1 2 3 4

2) continue: 반복문 내에서 continue를 만나면 이후 코드 블록을 건너뛰고 바로 다음 반복을 시작. for문의 경우 증감식으로, while/do-while문의 경우 조건 검사로 바로 이동

for (int i = 1; i <= 5; i++) {
    if (i % 2 == 0) {
        continue;  // i가 짝수이면 나머지 코드를 건너뛰고 다음 반복으로
    }
    printf("%d ", i);
}
// 출력 결과: 1 3 5
  • 위 예에서 i가 짝수일 때는 출력하지 않고 건너뛰므로, 홀수만 출력

'Language > C' 카테고리의 다른 글

06. 포인터  (0) 2025.03.18
05. 배열과 문자열  (0) 2025.03.18
04. 함수  (0) 2025.03.18
02. 기본 문법  (0) 2025.03.16
01. C언어 소개  (0) 2025.03.16