본문 바로가기

6. 컴퓨터 공학 공부

[127] C언어 09차시 조건문 IF

1. 제어문의 이해

가. 제어구조 

1) 제어문(Control Statement)

문장들이 실행되는 순서를 제어하는 문장

2) 구조적인 프로그래밍(structured Programming)

순차구조, 선택구조, 반복구조로만 작성된 프로그램

goto 문을 사용하지 않는 프로그램

https://ko.wikipedia.org/wiki/구조적_프로그래밍

 

구조적 프로그래밍 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 구조적 프로그래밍(structured programming)은 구조화 프로그래밍으로도 불리며 프로그래밍 패러다임의 일종인 절차적 프로그래밍의 하위 개념으로 볼 수 있다. GOTO

ko.wikipedia.org

3) 순차구조(Sequence)

위에서 아래로 순서대로 실행하는 구조

4) 선택구조(Selection)

조건에 따라 둘 중 하나의 명령을 선택하여 실행하는 구조

5) 반복구조(Iteration)

조건이 만족하는 동안 일정 처리 과정을 반복 실행하는 구조

6) 제어구조 순서도

2. IF 문(조건문)

가. IF 문의 개념

1) 기본 문법

if ( 조건식 )
    명령문;  // 조건식이 참인 경우에 실행

2) 조건식

수식으로 표현

관계 수식이나 논리 수식

3) 조건식의 예

관계 수식의 예

point >= 50
age < 18
gender == 'm'

논리 수식의 예

(score1 >= 50) || (score2 >= 60)
(count > 0) && (count <= 10)

4) IF 문의 예

if (num > 0)
    printf("양수입니다.\n");
printf("%d점입니다.\n", score);
if (score < 60)
    printf("낙제입니다.\n");
#include <stdio.h>

int main(void) {
  int num;
  
  printf("정수 입력 :");
  scanf("%d", &num);
  
  if (num > 0)
    printf("양수입니다. ");
  printf("입력된 값은 %d입니다.", num);
  return 0;
}

 

나. 복합문(블록)

1) 복합문(Compound statement)

중괄호를 사용하여 문장들을 그룹핑하는 것

블록(block)

단일문 대신 들어 갈 수 있음.

2) 기본 문법

if ( 조건식 )
{
    명령문1;
    명령문2;
    명령문3;
}

3) 복합문의 예

if (score >= 90) 
{
    printf("합격입니다.\n");
    printf("장학금 대상자입니다.\n");
    printf("축하합니다.\n");
}

다. 참과 거짓

1) 참과 거짓의 판정

0이 아니면 참

0이면 거짓

2) 표준적 표현

if ( 변수 != 0 )
    printf("변수 값은 참입니다.");
if ( 변수 == 0 )
    printf("변수 값은 거짓입니다.");

3) 간략한 표현

if ( 변수 )
    printf("변수 값은 참입니다.");
if ( !변수 )
    printf("변수 값은 거짓입니다.");

4) 사용 시 주의사항

if 문 조건식 뒤에는 세미콜론(;)을 쓰지 않음.

조건식에서 대등연산자(==)와 대입연산자(=) 혼동 주의

조건식의 괄호는 생략 불가

3. IF-ELSE 문

가. 기본 문법

if ( 조건식 )
    명령문1;  // 조건식이 참인 경우에 실행
else
    명령문2;  // 조건식이 거짓인 경우에 실행

나. 사용 예

if (num > 0)
    printf("양수입니다.\n");
else
    printf("0이거나 음수입니다.\n");

다. 조건 연산자

if (score >= 70)
    printf("합격");
else
    printf("불합격");
(score >= 70) ? printf("합격") : printf("불합격");

 

4. else if 문

가. 기본 문법

if ( 조건식1)
    명령문1;
else if ( 조건식2 )
    명령문2;
else
    명령문3;
명령문4;

나. 사용 예

if (num > 0)
    printf("양수입니다.");
else if (num < 0)
    printf("음수입니다.");
else
    printf("0입니다.");

다. 다른 코드 같은 실행

if (age <= 7)
    fee = 0;
else {
    if (age >= 60)
        fee = 10000;
    else
        fee = 25000;
}
if (age > 7) {
    if (age >= 60)
        fee = 10000;
    else
        fee = 25000;
}
else
    fee = 0;
if (age <= 7)
    fee = 0;
else if (age >= 60)
    fee = 10000;
else
    fee = 25000;