IMCAT.DEV
로그인 가입
Zig 입문 문법

Zig 조건문

Zig 조건문 — 초급

조건문

1. 도입 (왜 배워야 하는가)

조건문은 프로그래밍에서 매우 중요한 개념입니다. 실무에서 조건문을 사용하면 프로그램이 다양한 상황에 맞춰 다르게 행동할 수 있게 됩니다. 예를 들어, 사용자 입력에 따라 다른 결과를 내는 프로그램을 만들거나, 특정 조건이 만족될 때만 특정 기능을 실행하도록 할 수 있습니다. 만약 조건문을 모른다면, 프로그램이 항상 동일한 결과만 내게 되어 유연성과 효율성을 잃게 됩니다. 이는 실제 사용자의 요구를 충족시키지 못하는 결과로 이어질 수 있습니다.

2. 핵심 개념 설명

조건문은 프로그램의 흐름을 제어하는 데 사용됩니다. 기본적으로 if, else, else if 구문을 통해 조건에 따라 다른 코드를 실행할 수 있습니다. 이를 통해 프로그램의 논리를 구축할 수 있습니다.

실생활 비유

조건문은 우리가 매일 하는 결정과 비슷합니다. 예를 들어, "비가 오면 우산을 가져가고, 비가 안 오면 그냥 간다"라는 결정이 조건문과 유사합니다.

용어설명
if조건이 참일 때 실행
else조건이 거짓일 때 실행
else if여러 조건을 검사할 때 사용

3. 기본 코드 예제

아래는 Zig에서 조건문을 사용하는 간단한 코드입니다.

const std = @import("std");

pub fn main() void {
    const temperature: i32 = 30;

    if (temperature > 25) {
        std.debug.print("오늘은 더운 날입니다.\n", .{});
    } else if (temperature < 15) {
        std.debug.print("오늘은 추운 날입니다.\n", .{});
    } else {
        std.debug.print("오늘은 쾌적한 날입니다.\n", .{});
    }
}

실행 결과

오늘은 더운 날입니다.

코드 한 줄씩 동작 설명

  1. const std = @import("std");: Zig 표준 라이브러리를 가져옵니다.
  2. pub fn main() void {: main 함수를 정의합니다. 프로그램의 시작점입니다.
  3. const temperature: i32 = 30;: 온도 변수를 정의하고 30으로 초기화합니다.
  4. if (temperature > 25) {: 온도가 25보다 크면 아래 코드를 실행합니다.
  5. std.debug.print("오늘은 더운 날입니다.\n", .{});: 조건이 참일 때 "오늘은 더운 날입니다." 메시지를 출력합니다.
  6. else if (temperature < 15) {: 첫 번째 조건이 거짓일 경우, 온도가 15보다 작은지 검사합니다.
  7. else {: 두 조건이 모두 거짓일 경우 실행됩니다.
  8. std.debug.print("오늘은 쾌적한 날입니다.\n", .{});: 최종적으로 쾌적한 날이라는 메시지를 출력합니다.
  9. 4. 실전 활용 예제

    예제 1: 쇼핑몰에서 장바구니 가격 계산

    쇼핑몰에서 장바구니의 총 가격에 따라 할인율을 적용하는 예입니다.

    const std = @import("std");
    
    pub fn main() void {
        const totalPrice: f32 = 150.0;
        var discount: f32 = 0.0;
    
        if (totalPrice > 100.0) {
            discount = totalPrice  0.1; // 10% 할인
        } else if (totalPrice > 50.0) {
            discount = totalPrice  0.05; // 5% 할인
        }
    
        const finalPrice = totalPrice - discount;
        std.debug.print("최종 가격: {}\n", .{finalPrice});
    }

    예제 2: 사용자의 로그인 상태 확인

    로그인 상태에 따라 다른 메시지를 출력하는 예입니다.

    const std = @import("std");
    
    pub fn main() void {
        const isLoggedIn: bool = true;
    
        if (isLoggedIn) {
            std.debug.print("환영합니다!\n", .{});
        } else {
            std.debug.print("로그인이 필요합니다.\n", .{});
        }
    }

    5. 흔한 실수와 주의사항

    실수 1: 조건을 잘못 설정하기

    if (temperature = 30) { // 잘못된 예
        std.debug.print("온도가 30도입니다.\n", .{});
    }
    • 위 코드는 =(대입) 연산자를 사용하여 조건을 검사하고 있습니다. 조건 비교는 ==(동등) 연산자를 사용해야 합니다.
    • 실수 2: 중괄호의 누락

      if (temperature > 25)
          std.debug.print("더워요\n", .{}); // 중괄호가 없음
    • 중괄호를 생략할 경우, 한 줄만 조건문에 포함됩니다. 여러 줄을 포함하려면 중괄호를 사용해야 합니다.
    • 6. 정리

    • 조건문은 프로그램의 흐름을 제어하는 핵심 요소입니다.
    • if, else if, else 구문을 통해 다양한 조건을 처리할 수 있습니다.
    • 실생활의 결정과 유사한 원리로 작동합니다.
    • 다음에 학습하면 좋은 주제는 반복문(loops)입니다. 반복문을 배우면 조건문과 결합하여 더욱 복잡한 로직을 구현할 수 있습니다.