혼자 공부하는 C언어(개정판) 3주차

2023. 7. 19. 00:04C언어/혼공학습단 10기

728x90
# 진도 기본 미션 선택 미션
3주차
(7/17 ~ 7/23)
Chapter 05 ~ 06 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기 p. 151 크리스마스 소개팅 예문 if 문 손코딩 인증 또는 실행 화면 캡처하기

 

 


각 Chapter의 '학습목표'를 바탕으로 책의 내용을 정리했습니다.

□ Chapter 05
조건에 따라 실행 문장을 선택해야 할 때 사용하는 선택문
 - 프로그램은 연산 결과나 입력값에 따라 처리 방법을 바꿔야 할 때가 많음
  . 때문에 조건에 따라 실행 문장을 선택할 수 있는 구문이 필요하며 조건문이라고도 부름  
가장 기본적인 선택문인 IF문
 - iF문: 1가지의 선택을 고민할 때 사용
  . if ~ else문: 2가지 중 하나를 고를 때 사용
  . if ~ else if ~ else문: 3가지 이상에서 하나를 고를 때 사용
  . if문 중첩: if문 안에 실행문으로 if문을 사용
상황에 따라 실행할 문장을 결정하는 switch ~ case문
 - 정수 값으로 실행할 문장을 결정하며, 기본적으로 case는 break를 포함
  . break: 해당 블록을 탈출하는 데 사용
    → 제한적으로 생략해야 하며, 생략 시에는 자세한 설명을 주석으로 처리
  . default: 조건에 따라 case의 상수를 모두 비교한 후 일치하는 상수가 없는 경우 여기로 이동
    → 블록 안 어디에 위치해도 상관 없으나 보통 블록 마지막에 두어 예외 상황을 처리

□ Chapter 06
단순 반복 작업을 쉽게 처리하도록 도와주는 while문, for문, do ~ while문
 - while문: 반복 문장을 실행하기 전에 반복 조건을 먼저 검사
 - for문: 반복 횟수가 정해진 경우에 사용하면 편리
  . 주의점: 1) 초기식, 조건식, 증감식은 반복 횟수를 알기 쉽게 작성, 2) 반복 횟수를 세는 변수를 변경하는 것은 피하기
 - do ~ while문은 반복 문장을 실행한 후에 반복 조건을 검사
  . 따라서 조건식과 관계없이 반복할 문장을 최소 한 번은 실행
반복문을 중첩하는 방법
 - 반복문의 실행문을 반복문으로 사용
  . 중첩 반복문에서는 각 반복문이 서로 독립적인 제어 변수를 사용해야 각각 원하는 횟수를 반복 가능
    → 우선 반복되는 기본 문장과 규칙을 찾는 일이 중요
실행 방식을 바꿔 주는 break와 continue
 - break: 반복문 안에서 반복을 즉시 끝낼 때 사용 (중간에서 임의로 반복을 끝내고 싶을 때)
  . 자신이 속한 반복문 하나만 벗어날 수 있으며, 무한 반복문에서 조건을 주어 반복을 끝낼 때도 사용
 - continue: 반복문의 일부를 건너띄기
  . 블록을 탈출하는 것은 아니며, 다음 실행 위치가 반복문의 블록 끝이 되기에 일부를 제외하고 반복 가능
  

■ 기본 미션
혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기

 - e-book 사용자를 위한 '용어 노트' 위치

  . 혼공 학습단 > 동영상&학습자료 > C언어 > 용어노트 : https://hongong.hanbit.co.kr/c언어

 - 궁금하신 분들을 위해 알려드리는 '개정판'과 기존 도서의 '용어 노트' 차이점

  ① 추가된 부분: 1) 선택문(p.15), 2) 중복 포함 문제(p.31) + 아래에 그림 추가, 3) 주석문(p.8) 아래에 혼고양 추가, 4) 메모리 주소(p.22) 아래에 그림 추가

  ② 위치가 변경된 부분: 1) main 함수가 01장에서 02장으로 이동, 2) 2의 보수가 03장에서 02장으로 이동

 - 용어를 정리한 부분은 위 '학습목표'를 참고해주세요. ( Chapter 05 ~ 06 )

 - 노트에서는 아래 '블록' 설명 부분이 그림도 있어서 좋았습니다.

   

■ 선택 미션
p. 151 크리스마스 소개팅 예문 if 문 손코딩 인증 또는 실행 화면 캡처하기

 - '크리스마스 때까지 애인이 생기지 않으면' 친구가 '소개팅을 주선해 준다'

  . 선택 미션까지 진행해야 제대로 공부한 것 같습니다. 😉

    → p.151쪽 내용을 그대로 손코딩하는 줄 알았는데, 직접 생각해서 작성해야 하네요. 그래도 당황하지 않고! 코딩했습니다.

#include <stdio.h>

int main(void) {
    char answer1, answer2;
    printf("크리스마스인가요? [맞으면 영문자 o를 입력해주세요.] ");
    scanf("%s", &answer1);

    if (answer1 == 'o') {
        printf("여자친구가 있으신가요? [맞으면 영문자 o를 입력해주세요.] ");
        scanf("%s", &answer2);

        if (answer2 == 'o') {
            printf("즐거운 크리스마스 보내세요.");
        }
        else {
            printf("소개팅을 주선해 드리겠습니다.");
        }
    }
    else {
        printf("크리스마스까지 기다려 봅시다.");
    }
    return 0;
}

0) 프로그램 실행

 

1) 크리스마스가 아닌 경우

 

2) 크리스마스이면서, 여자 친구가 있는 경우

 

3) 크리스마스이면서, 여자 친구가 없는 경우

 

728x90