산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C 제어문 마스터: if, switch, 조건 연산자로 결정 로직 구현하기

프로그램의 흐름을 제어하는 결정 구조를 다룹니다. C에서 참/거짓 판단 기준과 각 제어문의 문법, 중첩, 모범 사례를 정리합니다.

C에서 참과 거짓

if 문

기본 형태

if (조건)
    문장;              // 단일 문장 (중괄호 생략 가능)

if (조건) {
    문장1;
    문장2;             // 복합 문장 (블록) - 권장
}

if-else 문

if (score >= 60)
    printf("합격\n");
else
    printf("불합격\n");

if-else if-else 연쇄

if (score >= 90)
    grade = 'A';
else if (score >= 80)
    grade = 'B';
else if (score >= 70)
    grade = 'C';
else if (score >= 60)
    grade = 'D';
else
    grade = 'F';

중첩 if

if (age >= 18) {
    if (has_license)
        printf("운전 가능\n");
    else
        printf("면허 필요\n");
} else {
    printf("미성년자\n");
}

switch 문

정수/문자/열거형 값을 여러 상수와 비교할 때 효율적.

문법

switch (표현식) {
    case 상수1:
        문장들;
        break;          // 없으면 fall-through 발생
    case 상수2:
    case 상수3:         // 여러 case 공유 가능
        문장들;
        break;
    default:            // 선택 사항, 매칭 없을 때
        문장들;
}

예제: 메뉴 처리

int menu;
scanf("%d", &menu);

switch (menu) {
    case 1: printf("조회\n"); break;
    case 2: printf("등록\n"); break;
    case 3: printf("수정\n"); break;
    case 4: printf("삭제\n"); break;
    case 0: printf("종료\n"); break;
    default: printf("잘못된 메뉴\n");
}

switch 제약사항

조건 연산자 (삼항 연산자) ? :

조건 ? 참_표현식 : 거짓_표현식

특징

활용 예

// 최댓값
int max = (a > b) ? a : b;

// 절댓값
int abs = (x >= 0) ? x : -x;

// 안전한 나눗셈
double result = (denom != 0) ? (num / denom) : 0.0;

// 포인터 기본값
const char *name = (ptr != NULL) ? ptr->name : "Unknown";

// 중첩 (가독성 나빠질 수 있음)
int sign = (x > 0) ? 1 : (x < 0) ? -1 : 0;

다중 선택 패턴 비교

자주 하는 실수

컴파일러 최적화 힌트

C 언어

  1. C# switch 문 마스터하기: 문법, 예제, 모범 사례
  2. C# break 문: 사용법과 활용 시점 완벽 가이드
  3. C# continue 문: 루프 반복 건너뛰기 완벽 활용법
  4. C++ break 문 마스터하기: 루프 탈출 완전 정복
  5. C++ continue 문 마스터하기: 실전 예제와 루프 제어
  6. C 조건문 마스터: if, else, 중첩 완벽 이해
  7. 파이썬 pass 문 마스터하기: 실전 가이드
  8. C 기초 문법 마스터: 토큰, 세미콜론, 주석, 식별자, 키워드, 공백
  9. 첨단 제조에서 강력한 분석으로 의사결정 강화하기
  10. 데이터 수집 간소화로 더 스마트한 의사결정 주도하기
상황추천이유
단순 참/거짓if-else가독성 좋음
단일 값 다중 분기 (정수/문자)switch점프 테이블 최적화 가능, 가독성
범위 비교, 복합 조건if-else ifswitch 불가
단순 값 선택/대입? :간결, 표현식 문맥 활용
불리언 플래그 설정flag = (cond)조건 연산자 불필요