반응형

이번 강의에서는 C언어의 핵심 구조 중 하나인 조건문과 반복문에 대해 배워보겠습니다.

이미 우리는 이전 글에서 변수, 자료형, 연산자에 대해 배웠으며,

이러한 지식을 바탕으로 프로그램의 흐름을 제어하는 방법을 학습할 것입니다.


C 프로그래밍 언어 독학 시리즈 전편을 아직 안 보신 분은 아래 링크를 참고해 주세요!

C 언어 독학 #1 (기초, 쉬운 설명, Hello world)

C 언어 독학 시리즈 #2 (변수, 자료형, 연산자, 기본 입출력, 실습예제)


"C언어를 배우는 것은 마치 산을 오르는 것과 같다.

정상에 오를 때까지는 힘들고 도전적이지만, 정상에 서면 전에 보지 못했던 경치와 가능성을 볼 수 있다."

조건문

조건문은 주어진 조건에 따라 다른 코드를 실행하게 하는 구조입니다.

C언어에서는 주로 if, else, else if, switch 문을 사용합니다.

if문
if 문은 마치 도로의 분기점과 같습니다.
어떤 조건을 만족하면 한 길로 가고, 그렇지 않으면 다른 길로 갑니다.
조건의 복잡성에 따라 여러 개의 분기로 나뉠 수 있습니다.
#include <stdio.h>

int main() {
    int score = 85;
    if (score >= 90) {
        printf("A학점입니다.\n");
    } else if (score >= 80) {
        printf("B학점입니다.\n");
    } else {
        printf("C학점 이하입니다.\n");
    }
    return 0;
}

위 내용을 응용하여 나이에 따른 입장료 계산을 해보도록 하겠습니다.

#include <stdio.h>

int main() {
    int age;
    printf("나이를 입력하세요: ");
    scanf("%d", &age);

    if (age < 13) {
        printf("어린이 입장료는 2000원입니다.\n");
    } else if (age <= 19) {
        printf("청소년 입장료는 3000원입니다.\n");
    } else {
        printf("성인 입장료는 5000원입니다.\n");
    }
    return 0;
}
switch 문
switch 문은 마치 기차역의 스위치처럼 특정 변수의 값에 따라 다른 트랙으로 기차를 보내는 역할을 합니다.
각 케이스는 특정한 역에 해당하며, 해당 역에 정차할 때만 실행됩니다.
#include <stdio.h>

int main() {
    char grade = 'B';
    switch (grade) {
        case 'A':
            printf("우수한 성적입니다.\n");
            break;
        case 'B':
            printf("좋은 성적입니다.\n");
            break;
        default:
            printf("노력이 필요합니다.\n");
            break;
    }
    return 0;
}

위 내용을 응용하여 요일에 따른 스케줄 출력을 해보도록 하겠습니다.

#include <stdio.h>

int main() {
    int day;
    printf("요일을 입력하세요 (1=월요일, ..., 7=일요일): ");
    scanf("%d", &day);

    switch(day) {
        case 1:
            printf("월요일: 팀 회의가 있습니다.\n");
            break;
        case 2:
            printf("화요일: 프로젝트 작업의 날입니다.\n");
            break;
        case 3:
            printf("수요일: 영어 학습 시간입니다.\n");
            break;
        case 4:
            printf("목요일: 체육활동이 있습니다.\n");
            break;
        case 5:
            printf("금요일: 자유 연구 시간입니다.\n");
            break;
        case 6:
            printf("토요일: 휴식일입니다.\n");
            break;
        case 7:
            printf("일요일: 가족과 시간을 보냅니다.\n");
            break;
        default:
            printf("잘못된 입력입니다.\n");
            break;
    }
    return 0;
}

반복문

반복문은 특정 조건이 만족하는 동안 코드 블럭을 반복 실행합니다.

C언어에서는 for, while, do-while 문을 사용합니다.

for 문
for 문은 마치 달력의 날짜를 하나씩 넘기는 것과 같습니다.
시작점, 종료점, 그리고 얼마나 빠르게 넘길지(증가량)를 정해놓고 반복합니다.
#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {
        printf("%d ", i);
    }
    printf("\n");
    return 0;
}

위 내용을 응용하여 1부터 10까지의 합 계산을 해보도록 하겠습니다.

#include <stdio.h>

int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
    }
    printf("1부터 10까지의 합은 %d입니다.\n", sum);
    return 0;
}
while 문
while 문은 마치 조건을 충족하는 동안 무한 루프 도로를 도는 자동차와 같습니다.
주어진 조건이 참인 동안 계속해서 루프를 돕니다.
#include <stdio.h>

int main() {
    int i = 1;
    while (i <= 5) {
        printf("%d ", i);
        i++;
    }
    printf("\n");
    return 0;
}

위 내용을 응용하여 사용자로부터 0이 입력될 때까지 숫자 입력 받기를 해보도록 하겠습니다.

#include <stdio.h>

int main() {
    int number;
    printf("숫자를 입력하세요 (0으로 종료): ");
    scanf("%d", &number);

    while (number != 0) {
        printf("입력한 숫자: %d\n", number);
        printf("다시 숫자를 입력하세요 (0으로 종료): ");
        scanf("%d", &number);
    }
    printf("프로그램을 종료합니다.\n");
    return 0;
}

이제 위 내용을 모두 포함한 실습 예제를 하나 만들어보겠습니다.

조건문과 반복문을 모두 활용하여 하나의 통합된 프로그램을 구성할 것이며, 아래 기능을 포함할 것입니다

  1. 사용자로부터 날짜(요일)와 나이를 입력받습니다.
  2. 요일에 따른 스케줄을 출력합니다 (switch 문 사용).
  3. 나이에 따른 입장료를 계산합니다 (if 문 사용).
  4. 1부터 입력받은 날짜까지의 합을 계산합니다 (for 문 사용).
  5. 사용자로부터 0이 입력될 때까지 추가 숫자를 입력받아 출력합니다 (while 문 사용)

 

C코드 구현
#include <stdio.h>

int main() {
    int day, age, number, sum = 0;

    // 요일 입력받기
    printf("요일을 입력하세요 (1=월요일, ..., 7=일요일): ");
    scanf("%d", &day);

    // 스케줄 출력 (switch 문)
    switch(day) {
        case 1: printf("월요일: 팀 회의가 있습니다.\n"); break;
        case 2: printf("화요일: 프로젝트 작업의 날입니다.\n"); break;
        case 3: printf("수요일: 영어 학습 시간입니다.\n"); break;
        case 4: printf("목요일: 체육활동이 있습니다.\n"); break;
        case 5: printf("금요일: 자유 연구 시간입니다.\n"); break;
        case 6: printf("토요일: 휴식일입니다.\n"); break;
        case 7: printf("일요일: 가족과 시간을 보냅니다.\n"); break;
        default: printf("잘못된 입력입니다. 프로그램을 종료합니다.\n"); return 1;
    }

    // 나이 입력받기
    printf("나이를 입력하세요: ");
    scanf("%d", &age);

    // 입장료 계산 (if 문)
    if (age < 13) {
        printf("어린이 입장료는 2000원입니다.\n");
    } else if (age <= 19) {
        printf("청소년 입장료는 3000원입니다.\n");
    } else {
        printf("성인 입장료는 5000원입니다.\n");
    }

    // 1부터 day까지의 합 계산 (for 문)
    for (int i = 1; i <= day; i++) {
        sum += i;
    }
    printf("1부터 %d까지의 합은 %d입니다.\n", day, sum);

    // 0이 입력될 때까지 숫자 입력받기 (while 문)
    printf("숫자를 입력하세요 (0으로 종료): ");
    scanf("%d", &number);
    while (number != 0) {
        printf("입력한 숫자: %d\n", number);
        printf("다시 숫자를 입력하세요 (0으로 종료): ");
        scanf("%d", &number);
    }
    printf("프로그램을 종료합니다.\n");
    return 0;
}

우리는 위 예제를 통해 아래와 같은 c언어 구현 스킬을 배워봤습니다.

1. 요일에 따른 스케줄 출력 (switch 문 활용)

  • 조건 분기 처리: switch 문을 통해 특정 변수의 값(요일)에 따라 다른 동작을 수행하도록 프로그램을 제어합니다. 이를 통해 여러 조건에 대해 각각의 로직을 구현하는 방법을 연습할 수 있습니다.
  • 값에 따른 특정 케이스 처리: 각 요일마다 다른 메시지를 출력하며, switch 문의 case 레이블을 사용하는 방법을 실습합니다.
  • 디폴트 케이스 처리: default 레이블을 사용하여 입력 값이 유효 범위를 벗어났을 때의 예외 처리를 구현합니다.

2. 나이에 따른 입장료 계산 (if 문 활용)

  • 조건 로직 구현: 다중 if-else if-else 구조를 사용하여 복잡한 조건 로직을 구현합니다. 이는 프로그램에서 다양한 조건에 따라 다른 행동을 취해야 할 때 매우 유용합니다.
  • 조건 표현식: 다양한 비교 연산자(<, <=, else)를 사용하여 특정 조건을 평가하고 그에 따라 다른 동작을 수행합니다.

3. 1부터 day까지의 합 계산 (for 문 활용)

  • 반복문 사용: for 문을 사용하여 특정 범위의 값에 대해 반복 작업을 수행합니다. 이는 데이터의 집합이나 범위에 대해 일련의 연산을 반복적으로 적용할 때 필수적입니다.
  • 변수 증가와 누적 계산: 반복문 내에서 변수를 하나씩 증가시키면서, 누적 합계를 계산하는 방법을 연습합니다.

4. 0이 입력될 때까지 숫자 입력받기 (while 문 활용)

  • 조건 반복 처리: while 문을 사용하여 사용자로부터 계속해서 입력을 받고, 특정 조건(number != 0)이 만족될 때까지 반복합니다.
  • 사용자 입력 처리와 조건 평가: 사용자로부터 입력받은 값을 즉시 처리하고, 프로그램의 흐름을 사용자 입력에 따라 조절하는 방법을 연습합니다.

오늘 배운 조건문과 반복문을 통해 프로그램의 흐름을 자유자재로 제어할 수 있는 기초를 마련했습니다.

다음 강의에서는 배열과 포인터에 대해 자세히 다룰 예정이니,

이번 강의 내용을 복습하고 연습문제를 풀어보면서 확실하게 이해하시면 좋을 것 같습니다.

Happy coding!

 

https://jdcyber.tistory.com/79

 

C 언어 독학 시리즈 #4: 함수(Function)의 이해와 활용

이번 강의에서는 C 언어의 핵심 요소 중 하나인 함수에 대해 배워보겠습니다.이미 우리는 이전 글에서 변수, 자료형, 연산자, 조건문과 반복문에 대해 학습했으며,이러한 지식을 바탕으로 더 체

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

파이썬 독학

 

이전 파이썬 독학 글을 못 보신 분들은

아래 링크를 살펴보고 와주세요!

파이썬 독학 #1 파이썬이란? (설치, 특징)

https://jdcyber.tistory.com/14

 

파이썬 독학 #1 파이썬 (Python)이란? 설치 (쉬운 설명, 정의, IDLE, IDE, 특징, M1)

파이썬 독학 시리즈 파이썬 독학 #1 파이썬이란? (설치, 특징) 파이썬 (Python)이란 무엇인가? 'Life is too short, You need python.' 인생은 너무 짧으니 파이썬이 필요해 컴퓨터와 애플리케이션, 모든 전자

jdcyber.tistory.com

 


지난 시간에는 파이썬의 기본적인 개념과 설치 과정에 대해 알아보았습니다.

이번 시간에는 Visual Studio Code(VSCode) 설치 파이썬 개발을 위한 기본 세팅을 진행해보겠습니다.

Vscode 설치

 

아래 링크를 통해 code.visualstudio.com 접속해 줍니다.

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

저희가 다운로드할 것은 Visual studio 아니라 Visual studio code입니다.

 

Vscode

 

다운로드 옆에 화살표를 눌러 자신에게 맞는 운영체제를 클릭하고

Stable로 다운로드 받으시면 됩니다!

 

만약 저처럼 M1이라면 화면 맨 아래로 내려

Apple sillicon으로 클릭하셔서 받으시면 됩니다.

설치는 실행 후 체크할 수 있는 건 모두 체크하면서 다음만 누르시면 됩니다.


(설치가 완료되신 분들은 이 부분을 스킵 해주세요)

저 처럼 OS가 맥 M1이신 분들 중에 혹시 굳이 명령어로 다운로드하고 싶으신 분들은

아래 명령어로 따라 하셔도 됩니다.

인터넷 그래픽으로 클릭하는 것보다 Terminal에서 명령어로 다운로드하고 설치하는 것이

깔끔하고 빨라서 저는 이렇게 했습니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Password: 여기에 비밀번호 입력
Press RETURN to continue or any other key to abort
Run `brew help` to get started
brew update
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
brew search visual studio code
brew install visual-studio-code --cask
brew list

설치 과정 요약

  1. 웹사이트 접속: Visual Studio Code 공식 웹사이트에 접속합니다.
  2. 운영체제에 맞는 버전 다운로드: '다운로드' 옆에 있는 화살표를 클릭하여 자신의 운영체제에 맞는 버전을 선택합니다. Stable 버전을 추천합니다.
    • Apple M1 사용자: 화면 하단의 Apple Silicon 옵션을 선택하여 다운로드합니다.
  3. 설치: 다운로드한 파일을 실행하여 설치합니다. 가능한 모든 옵션을 선택하여 설치하는 것이 좋습니다.

M1 사용자를 위한 추가 정보


파이썬 개발을 위한 기본 셋팅

visual studio code

먼저 블록 모양의 Extensions를 클릭해 줍니다

(추가 확장 프로그램을 설치할 있는 창입니다)

 

python

 

여기 검색창에 Python 검색하시면 가장 위쪽에 나오는 파이썬에 Install 클릭하여 설치해 줍니다.

 

파이썬

 

그다음 왼쪽 Explorer을 클릭하신 후 Open folder를 눌러 작업이나 공부를 시작할 폴더를 하나 지정해 주도록 하겠습니다.

편하신 디렉터리 위치를 정하신 후 폴더를 생성하여 CordingTest라는 이름으로 폴더를 하나 생성해 주겠습니다.

(이름은 마음대로 정하셔도 됩니다.)

 

헬로월드

 

그 후 옆에 뉴 파일을 눌러 hello.py 파일을 하나 생성해 주도록 하겠습니다.

이제 파이썬에서 가장 기본이 되는 명령어 print를 입력하여 컴퓨터에게 응답을 받아보도록 하겠습니다.

 

hellow world

 

print ("Hello !!") 을 입력 후 오른쪽에 재생을 눌러보시면 아래 터미널에 Hello !!라고 입력한 내용이 나오는 것을 확인하실 수 있습니다.

*아래 Hello 나온 터미널 창에서도 입력이 가능합니다

 

terminal

 

python이라고 입력하면 레펠 (>>>)이라는 코드를 입력하면 바로 출력해 주는 창이 뜨게 됩니다.

여기에 똑같이 print ("hello !!")를 입력하면 바로 출력해 주는 모습을 볼 수 있죠

나가실 때는 exit ()를 쳐주시면 됩니다.

 

#주석도 많이 사용하는데요

주석은 개발자들끼리 소통하거나 내가 적어놓은 코드를 구분하고 설명해놓기 위해 사용합니다

 

터미널

 

이런 식으로 설명하거나 내일 코드 고치세요라는 등 메모로도 사용이 가능합니다.

요약

Python 확장 기능 설치
  • 확장 기능 설치: VSCode의 'Extensions' (블록 모양 아이콘)을 클릭합니다.
  • Python 확장 검색 및 설치: 검색창에 'Python'을 입력하고, 가장 위에 나오는 Python 확장 기능을 설치합니다.
첫 번째 파이썬 프로젝트
  • 폴더 생성: 'Explorer'를 클릭한 후 'Open folder'를 눌러 작업 폴더를 생성합니다. 예시로 'CodingTest'라는 이름으로 폴더를 만듭니다.
  • 파일 생성: 새 파일을 생성하여 'hello.py'라고 이름을 지정합니다.
  • 기본 코드 작성 및 실행: print("Hello !!")를 입력하고 실행하여 결과를 확인합니다.
주석 사용법
  • 주석 작성: 코드에 # 사용하여 주석을 추가할 있습니다. 주석은 코드 설명이나 메모로 사용됩니다.

만약에 M1이신 분들 중

zsh: command not found 에러

나오시는 분들은 아래 게시물을 확인해주세요

https://jdcyber.tistory.com/25

 

M1 Mac에서 "zsh: command not found" 오류 해결하기

(M1) zsh: command not found 맥(Mac) 사용자들이 터미널에서 명령어를 실행할 때 "zsh: command not found"라는 오류 메시지를 마주하는 경우가 종종 있습니다. 이 글에서는 이 오류의 원인과 해결 방법을 설명

jdcyber.tistory.com


오늘은 비주얼스튜디오코드 (vscode)를 설치하고

간단한 명령어를 구동해 보고 주석 기능까지 알아봤습니다.

기본 설치와 개념 설명이 끝났으니

다음 시간에는 드디어 파이썬 프로그램에 대한 기초와 자료형을 배워보도록 하겠습니다.

파이썬 독학 #3에서 만나요!

https://jdcyber.tistory.com/58

 

파이썬 독학 #3 기초 (쉬운 설명, 자료형, 사칙 연산, 인덱싱, 포맷팅, 슬라이싱, 변수)

전 회차 파이썬 독학 글을 못 보신 분들은 아래 링크를 살펴보고 와주세요! 파이썬 독학 시리즈 파이썬 독학 #1 파이썬이란? (설치, 특징) 파이썬 독학 #2 명령어 (vscode 설치, 기본 명령어, Hello world

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts