-
Day 4: 기본 제어문 (if, loop, while, for)RUST 20일 과정 2025. 1. 6. 13:39
Day 4: 기본 제어문 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
타입이어야 함- if 를 표현식으로 활용하기:
let condition = true; let number = if condition { 5 } else { 10 }; println!("number의 값: {}", number);
loop
- 무한 루프:
loop { println!("계속 반복합니다..."); break; }
- loop 표현식:
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); }
- 범위(Range)를 사용한 반복:
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; } }
- while 예제:
let mut sum = 0; let mut n = 1; while n <= 10 { sum += n; n += 1; } println!("합: {}", sum);
- for 예제:
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
표현식,라벨
등의 특징이 있습니다.'RUST 20일 과정' 카테고리의 다른 글
Day 5: 함수와 모듈 기초 (0) 2025.01.06 Day 3: Ownership & Borrowing (0) 2025.01.06 Day 2: 기초 문법 (변수, 스코프, 데이터 타입) (0) 2025.01.06 Day 1: Rust 소개 & 개발환경 설정 (2) 2025.01.06 ChatGPT o1의 힘을 빌어 20일 과정의 RUST 강의 자료를 제작합니다 (0) 2025.01.06 - 주제: Rust에서의