개발이야기/C언어
[C언어] 조건문과 반복문
Study & Stack
2025. 6. 14. 23:01
728x90
조건문과 반복문은 프로그램의 흐름을 제어하는 핵심 요소입니다. 이 문서에서는 조건문(if, else)과 반복문(for, while)을 C 언어와 파이썬에서 어떻게 구현하는지를 비교해 보여드립니다.
1. 조건문 (if, else)
조건문은 주어진 조건을 평가하여 코드의 실행 흐름을 분기시키는 데 사용됩니다. C 언어에서는 중괄호 {}를 사용해 블록을 구분하고, 파이썬은 들여쓰기로 블록을 구분합니다.
Python 버전
x = int(input("숫자를 입력하세요: ")) # 사용자로부터 숫자를 입력받고 정수로 변환
if x > 0:
print("양수입니다.") # 입력값이 0보다 크면 양수 출력
elif x == 0:
print("0입니다.") # 입력값이 0이면 출력
else:
print("음수입니다.") # 그 외는 음수로 간주
C 버전
#include <stdio.h>
int main() {
int x;
printf("숫자를 입력하세요: "); // 입력 안내 메시지 출력
scanf("%d", &x); // 정수 입력받기
if (x > 0) {
printf("양수입니다.\n"); // x가 0보다 크면 양수 출력
} else if (x == 0) {
printf("0입니다.\n"); // x가 0이면 출력
} else {
printf("음수입니다.\n"); // 나머지는 음수로 간주
}
return 0;
}
2. 반복문 (for, while)
반복문은 특정 조건에 따라 코드 블록을 반복 실행할 때 사용합니다. 반복 횟수가 정해져 있다면 for문, 조건이 참일 때까지 계속 반복하고 싶다면 while문을 사용합니다.
for문 예제 - 1부터 5까지 출력
Python 버전
for i in range(1, 6): # 1부터 5까지 반복
print(i) # 현재 값을 출력
C 버전
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) { // i를 1부터 5까지 증가시키며 반복
printf("%d\n", i); // 현재 i값 출력
}
return 0;
}
while문 예제 - 1부터 5까지 출력
Python 버전
i = 1 # 초기값 설정
while i <= 5: # 조건이 참일 동안 반복
print(i) # 현재 값 출력
i += 1 # i를 1 증가
C 버전
#include <stdio.h>
int main() {
int i = 1; // 초기값 설정
while (i <= 5) { // 조건이 참일 동안 반복
printf("%d\n", i); // 현재 값 출력
i++; // i를 1 증가
}
return 0;
}
3. 중첩 조건문 (Nested if)
조건문 안에 또 다른 조건문을 넣는 것을 중첩 조건문이라 합니다. 조건을 더 세분화하여 처리할 수 있습니다. 예를 들어 "양수이면서 짝수" 같은 조건을 확인할 때 사용됩니다.
Python 버전
x = int(input("숫자를 입력하세요: "))
if x > 0:
if x % 2 == 0:
print("양의 짝수입니다.")
C 버전
#include <stdio.h>
int main() {
int x;
scanf("%d", &x);
if (x > 0) {
if (x % 2 == 0) {
printf("양의 짝수입니다.\n");
}
}
return 0;
}
4. 무한 루프와 break
무한 루프는 조건 없이 계속 반복되는 루프로, while True (Python) 또는 while(1) (C)와 같이 작성합니다. 일반적으로 사용자 입력이나 조건을 통해 break를 사용하여 탈출시킵니다.
Python 버전
while True: # 무한 루프 시작
cmd = input("명령을 입력하세요: ") # 사용자 입력 받기
if cmd == "exit": # exit 입력 시 탈출
break
C 버전
#include <stdio.h>
#include <string.h>
int main() {
char cmd[20];
while (1) { // 무한 루프
printf("명령을 입력하세요: ");
scanf("%s", cmd); // 문자열 입력
if (strcmp(cmd, "exit") == 0) { // 문자열 비교
break; // 루프 탈출
}
}
return 0;
}
5. break와 continue 예제
break는 반복문을 즉시 종료하고, continue는 현재 반복만 건너뛰고 다음 반복으로 넘어갑니다. 특정 조건에 따라 반복 흐름을 제어할 때 사용됩니다.
Python 버전
for i in range(1, 6):
if i == 3:
continue # 3일 경우 출력하지 않고 건너뜀
print(i)
C 버전
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) continue; // 3일 경우 건너뜀
printf("%d\n", i);
}
return 0;
}
요약 정리
문법 요소Python 문법 예시C 문법 예시
조건문 | if, elif, else | if, else if, else |
for문 | for i in range() | for (초기식; 조건식; 증감식) |
while문 | while 조건: | while (조건) { ... } |
break/continue | break, continue 사용 가능 | break, continue 사용 가능 |
무한 루프 | while True: | while(1) 또는 for(;;) 사용 가능 |
중첩 조건문 | if문 안에 if문 | 중괄호 {}로 감싸서 if 안에 또 if 사용 |
728x90