JOB RECIPE


Job To Be

조건문
본문 바로가기
Profile Picture

Job To Be

First Thought, Best Thought

본문 바로가기

Data Science/C언어

조건문

if (expression) statement_true

 

  • 제어흐름 : 프로그램에서 실행되는 문장들의 실행순서
    • 조건식(expression)이 참(true) : statement_true 실행하고 다음문장으로 진행
    • 조건식(expression)이 거짓(false) : statement_true 실행하지 않고 다음문장으로 진행
  • 제어구조 (Control Construct) / 제어문 (Control Statement) : 프로그램에서 실행되는 문장들의 실행순서를 제어/변경할 수 있는 문장
  • C언어 제어구조 : 조건문 / 반복문 / 분기문 / 함수호출 등 제어흐름(실행순서)를 변경함
  • 조건문 (Conditional Statement) : If문 / if-else문 / switch문
    조건에 따라 문장 실행 여부 · 실행할 문장을 선택함

 

 

if문의 조건식(expression)에는 비교연산자나 논리연산자가 일반적으로 쓰임

종류 연산자
비교 연산자(Comparison Operator) > < == != >= <=
논리 연산자 (Logical Operator) && || !

 

 

if(num==10)
{
    printf("num=%d",10);
}

 

 

 

  • 비교연산자(=관계연산자) : 두 값의 크고 작음이나 같음을 비교한 결과를 진리값으로 나타냄
  • 진리값 :  참(=1)/거짓(=0)의 값을 가짐

 

비교연산자

연산 연산자 피연산자 자료형 결과값
같다 == 정수형, 부동소수형 값이 같으면 1
다르면 0
다르다 != 정수형, 부동소수형 값이 다르면 1
같으면 0
작다 a < b  정수형, 부동소수형 a가 b보다 작으면 1
a가 더 크거나 같으면 0
작거나 같다 a <= b 정수형, 부동소수형 a가 b보다 작거나 같으면 1
a가 더 크면 0
크다 a > b 정수형, 부동소수형 a가 b보다 크면 1
a가 더 작거나 같으면 0
크거나 같다 a >= b 정수형, 부동소수형 a가 b보다 크거나 같으면 1
a가 더 작으면 0

 

 

예시

#include <stdio.h>
int main()
{
    int num;
    
    printf("숫자를 입력하세요 : ");
    scanf("%d", &num);
    
    if(num==10)
    {
        printf("10입니다. \n");
    }
    
    return 0;
}

 

 

 

양수, 음수 판별하기

#include <stdio.h>

int main()
{
    int num;
    printf("숫자를 입력하세요 : ");
    scanf("%d", &num);
    
    if(num>=0)
    {
        printf("양수입니다.");
        
    }
    else
    {
        printf("음수입니다.");
    }
    
    return 0;
}

 

 

 

홀수, 짝수 판별하기

#include <stdio.h>

int main()
{
    printf("숫자를 입력하시오 : ");
    scanf("%d", &num);
    
    if(num%2==0)
    {
        printf("입력한 수는 짝수입니다.");
    }
    else
    {
        printf("입력한 수는 홀수입니다.");
    }
    
    return 0;
}

 

 

 

 

중첩 if

#include <stdio.h>

int main()
{
    int score;
    printf("성적을 입력하세요 : ");
    
    if(score>=90)
        printf("A");
    else if(score>=80)
        printf("B");
    else if(score>=70)
        printf("c");
    else if(score>=60)
        printf("D");
    else
        printf("F");
    
    return 0;
}

 

 

 

 

진리값에 대한 연산자

연산 연산자 피연산자 자료형 결과값
부정 (Logical not) ! a 진리값 a가 0이면 1
그렇지 않으면 0
논리값 (And) a && b 진리값 a, b 모두 참이면 1
그렇지 않으면 0
논리합 (Or) a || b 진리값 a, b 중 적어도 하나가 참이면 1
그렇지 않으면 0

 

 

 

윤년 판별 기준 (①4의 배수면서 100의 배수가 아님 ②400의 배수)

#include <stdio.h>

int main()
{
    int year;
    
    printf("판별하고 싶은 년도를 입력하시오 : ");
    scanf("%d",&year);
    
    if(year%4==0 && year%100!=0)
        printf("윤년입니다.");
    else if(year%400==0)
        printf("윤년입니다.");
    else
        printf("윤년이 아닙니다.");
    
    return 0;   
}

 

 

성적 

#include <stdio.h>

int main()
{
    int kor, eng, math;
    
    printf("국영수 성적을 차례로 입력하시오 : ");
    scanf("%d %d %d", &kor, &eng, &math);
    
    printf("시험결과 : ");
    if(kor>=80 && eng>=80 && math>=80)
        printf("합격");
    else if(kor>=80 || eng>=80 || math >=80)
        printf("재수강");
    else
        printf("불합격");
        
    return 0;
}

 

 

 

 

 

Switch문 

  • case 뒤의 수식은 반드시 constant expression
  • 컴파일 타임에 그 값이 계산/결정될 수 있는 수식
  • 변수가 포함되면 안됨

 

예시

 

#include <stdio.h>

#define FOUR 4
int main(void)
{
    int a, two=2;
    
    scanf("%d", &a);
    switch(a) {
        case 1: 
            printf("a==one\n");
            break;
        case two:    //Error, two는 변수
            printf("a==three\n");
            break;
        case 1+2:
            printf("a==three\n");
            break;
        case FOUR :
            printf("a==four\n");
            break;
        default:
            printf("a==other\n");
    }
    return 0;
}

 

 

 

 

Break문

  • switch문에서 빠져나오기
#include<stdio.h>

int main(void)
{
    int a;
    
    scanf("%d", &a);
    switch( a ) {
        case 1:
            printf("a--one\n");
            break;
        case 2:
            printf("a==two\n");
        case 3:
            printf("a==three\n");
            break;
        case 4:
        case 5:
            printf("a==five\n");
        default:
            printf("a==other\n");
    }
    return 0;
}

 

반응형

'Data Science > C언어' 카테고리의 다른 글

중첩반복문  (0) 2025.03.03
C언어 코드실행 시각화 사이트  (0) 2025.03.03
반복문  (0) 2025.03.03
자료형과 연산자  (0) 2025.03.02
Hello, World!  (0) 2025.03.01