RUST 20일 과정
Day 4: 기본 제어문 (if, loop, while, for)
@thiskorea
2025. 1. 6. 13:39
Day 4: 기본 제어문 (if, loop, while, for)
1. 수업 개요
- 주제: Rust에서의
if
문, 다양한 루프(loop
,while
,for
) 문법과 사용법 - 학습 목표:
- Rust의
if-else
구문을 작성하고, 표현식으로도 활용할 수 있음을 이해한다. loop
,while
,for
문을 이용한 반복 처리를 학습한다.- C 언어 대비 Rust에서 달라진 점(예:
break
,continue
키워드, label)이 무엇인지 파악한다.
2. 이론
if, else if, else
- 기본 구조:
if 조건식 {
// 참일 때 실행
} else if 다른조건 {
// 위 조건이 거짓, 이 조건이 참일 때 실행
} else {
// 모든 조건이 거짓일 때 실행
}
bool
타입이어야 함let condition = true;
let number = if condition { 5 } else { 10 };
println!("number의 값: {}", number);
loop
- 무한 루프:
loop {
println!("계속 반복합니다...");
break;
}
break
뒤에 값을 넘길 수 있음let mut counter = 0;
let result = loop {
counter += 1;
if counter == 5 {
break counter * 2;
}
};
println!("result = {}", result);
while
- 기본 구조:
let mut n = 3;
while n > 0 {
println!("{}", n);
n -= 1;
}
println!("발사!");
for
- 기본 구조:
let arr = [10, 20, 30, 40, 50];
for element in arr {
println!("값: {}", element);
}
for i in 1..4 {
println!("i = {}", i); // 1, 2, 3
}
for i in 1..=4 {
println!("i = {}", i); // 1, 2, 3, 4
}
for num in (1..4).rev() {
println!("역방향: {}", num); // 3, 2, 1
}
break, continue, 라벨(Label)
break
: 루프 탈출continue
: 다음 반복으로 건너뛰기- 라벨 사용:
'outer: for i in 1..=5 {
for j in 1..=5 {
if i + j == 5 {
break 'outer;
}
}
}
3. 실습
조건문 실습
- 사용자 입력(또는 하드코딩된 변수)에 따라 “짝수/홀수”를 구별하는 코드를
if-else if-else
로 작성 if
문을 표현식으로 활용해, 변수에 조건별로 다른 값을 할당해 출력해보기
반복문 실습
- loop 예제:
let mut counter = 0;
loop {
counter += 1;
if counter == 5 {
break counter * 3;
}
}
let mut sum = 0;
let mut n = 1;
while n <= 10 {
sum += n;
n += 1;
}
println!("합: {}", sum);
for i in 1..=10 {
println!("구구단 2단: {} x 2 = {}", i, i * 2);
}
라벨(Label) 활용
'outer: loop {
let mut inner = 0;
while inner < 5 {
if inner == 3 {
break 'outer;
}
inner += 1;
}
}
4. 마무리 및 과제
오늘 배운 내용 정리
if-else
와 C 언어 대비 차이: 조건식은bool
이어야 함- Rust의 반복문:
loop
,while
,for
loop
의 표현식 기능(값을 반환 가능), 라벨을 통한 탈출 제어- 범위 표현(1..=n)이 매우 편리함
과제(실습 문제)
- 1부터 10까지 순회하며, 짝수는
println!("짝수: {}", i)
, 홀수는println!("홀수: {}", i)
라고 출력하는 코드를for
문으로 작성 loop
와while
을 각각 사용해 1부터 10까지 합을 구하고, 결과를 비교 출력- 구구단(2~9단)을
for
문을 이용해 출력하되, 2단부터 5단까지만 출력하고 싶다면, 특정 조건에서 바깥 루프까지break
를 수행해보자(라벨 사용)
학습 팁
if
,loop
,while
,for
등은 대부분 C, Java, Python 등의 문법과 유사하지만, Rust에서만의 특징(조건식의 엄격한bool
요구,loop
의 표현식 기능, 라벨)도 분명히 체득해두자.- 반복문 예제를 통해 Ownership & Borrowing 개념도 확인해보자.
5. 수업 진행 예시 타임라인 (총 50분 수업 기준)
- 10분: 이론:
if
,loop
,while
,for
문법 및 예제 설명 - 5분: C 언어와 다른 점 및 라벨(Label) 활용 법 Q&A
- 20분: 실습:
- 짝/홀수 판별, 1부터 N 합, 구구단 구현 등
- 라벨을 이용한 중첩 루프 탈출 등
- 10분: 실습 코드 리뷰 & 버그/에러 해결
- 5분: 과제 안내 및 마무리
정리: Rust에서 제어문은 C 언어와 비슷하면서도 엄격한 타입 검사(조건식은 bool
)와 loop
표현식, 라벨
등의 특징이 있습니다.