C Programming Study_2

김현우·2025년 3월 25일
0

멘토링

목록 보기
3/7

C Programming Study_2

연산자 & 조건문

1. 연산자

1.1 산술 연산자
산술 연산자는 기본적인 수학 연산을 수행합니다.

+: 더하기
-: 빼기
*: 곱하기
/: 나누기
%: 나머지

예시 코드:

#include <stdio.h>

int main() {
    int a = 10, b = 3;
    printf("덧셈: %d\n", a + b);
    printf("뺄셈: %d\n", a - b);
    printf("곱셈: %d\n", a * b);
    printf("나누기: %d\n", a / b);
    printf("나머지: %d\n", a % b);
    return 0;
}

1.2 관계 연산자
관계 연산자는 두 값을 비교하여 결과를 true(1) 또는 false(0)로 반환합니다.

==: 같음
!=: 다름
: 큼
<: 작음
=: 크거나 같음
<=: 작거나 같음

예시 코드:

#include <stdio.h>

int main() {
    int a = 10, b = 5;
    printf("a == b: %d\n", a == b);
    printf("a != b: %d\n", a != b);
    printf("a > b: %d\n", a > b);
    return 0;
}

1.3 논리 연산자
논리 연산자는 주로 조건문에서 사용되며, 두 조건을 결합하거나 부정합니다.

&&: AND
||: OR
!: NOT

예시 코드:

#include <stdio.h>

int main() {
    int a = 10, b = 5;
    if (a > 5 && b < 10) {
        printf("둘 다 참입니다.\n");
    }
    if (a > 5 || b > 10) {
        printf("하나라도 참입니다.\n");
    }
    if (!(a < 5)) {
        printf("a는 5보다 큽니다.\n");
    }
    return 0;
}

2. 조건문

2.1 if, else, else if 문

if: 조건이 참이면 코드 블록 실행
else: 조건이 거짓이면 코드 블록 실행
else if: 다른 조건들을 차례대로 확인

예시 코드:

#include <stdio.h>

int main() {
    int score;
    printf("점수를 입력하세요: ");
    scanf("%d", &score);

    if (score >= 90) {
        printf("A학점\n");
    } else if (score >= 80) {
        printf("B학점\n");
    } else if (score >= 70) {
        printf("C학점\n");
    } else {
        printf("F학점\n");
    }
    return 0;
}

2.2 switch 문
switch 문은 여러 개의 조건을 비교할 때 유용합니다.

예시 코드:

#include <stdio.h>

int main() {
    int menu;
    printf("메뉴를 선택하세요 (1: 시작, 2: 종료): ");
    scanf("%d", &menu);

    switch(menu) {
        case 1:
            printf("시작합니다.\n");
            break;
        case 2:
            printf("종료합니다.\n");
            break;
        default:
            printf("잘못된 입력입니다.\n");
    }
    return 0;
}

반복문

1. 반복문의 종류

1.1 for 반복문
for 문은 반복 횟수가 정해져 있을 때 유용합니다.

for (초기화; 조건; 증감) {
    // 반복할 코드
}

예시 코드:

#include <stdio.h>

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

1.2 while 반복문
while 문은 조건이 참일 때 계속 반복합니다.

while (조건) {
    // 반복할 코드
}

예시 코드:

#include <stdio.h>

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

1.3 do-while 반복문
do-while 문은 적어도 한 번은 실행된 후 조건을 확인하고 반복 여부를 결정합니다.

do {
    // 반복할 코드
} while (조건);

예시 코드:

#include <stdio.h>

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

중첩 반복문

반복문 안에 또 다른 반복문을 사용하는 방법

예시 코드:

#include <stdio.h>

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

3. break, continue 사용법

3.1 break
break는 반복문을 즉시 종료시킵니다.

예시 코드:

#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            break;  // i가 5일 때 반복문 종료
        }
        printf("i: %d\n", i);
    }
    return 0;
}

3.2 continue
continue는 반복문 내에서 나머지 코드를 건너뛰고 다음 반복을 시작합니다.

예시 코드:

#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) {
            continue;  // i가 3일 때는 출력하지 않고 다음 반복으로 넘어감
        }
        printf("i: %d\n", i);
    }
    return 0;
}

4. 과제

  1. 점수 → 학점 계산기
  • 사용자로부터 점수를 입력받고, 해당 점수에 맞는 학점을 출력하는 프로그램을 작성하세요.

  • 점수는 0~100 사이의 값이어야 하며, 조건은 아래와 같습니다.

  • 90점 이상: A

  • 80점 이상 90점 미만: B

  • 70점 이상 80점 미만: C

  • 60점 이상 70점 미만: D

  • 60점 미만: F

2.구구단 출력 프로그램

  • 구구단을 출력하는 프로그램을 추가했습니다. 사용자가 원하는 구구단을 출력하는 방식으로 진행할 수 있습니다.
  1. 별찍기

3.1 별 피라미드 출력

  • 주어진 숫자만큼의 행을 출력하는 별 피라미드를 작성하세요.

  • 예를 들어, 입력 값이 5일 때 출력은 다음과 같습니다:

    *
   ***
  *****
 *******
*********

3.2 가운데가 뚫린 피라미드

  • 역 피라미드 모양으로 별을 출력하는 코드입니다.

  • 예를 들어, 5행을 출력하려면 다음과 같습니다:

    *
   * *
  *   *
 *     *
*********

3.3 모래시계 출력

  • 주어진 숫자만큼의 행을 출력하는 모래시계 모양을 출력하세요.

  • 예를 들어, 입력 값이 5일 때 출력은 다음과 같습니다:

*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
  1. 1부터 N까지의 숫자 합 구하기
  • 사용자로부터 정수 N을 입력받고, 1부터 N까지의 모든 짝수와 홀수의 합을 각각 구하는 프로그램을 작성하세요.
  • 예를 들어, N이 10이면, 짝수의 합은 2 + 4 + 6 + 8 + 10, 홀수의 합은 1 + 3 + 5 + 7 + 9입니다.
  1. 숫자 맞추기 게임
  • 컴퓨터가 1부터 100까지의 랜덤 숫자를 생성합니다.
  • 사용자에게 숫자를 입력받고, 맞춘 숫자를 출력할 때까지 반복문을 사용하여 숫자를 맞추는 게임을 작성하세요.
  • 숫자 맞추기 게임에서, 각 입력에 대해 "작다", "크다"를 출력하여, 사용자가 목표 숫자를 찾도록 유도합니다.
  • 목표 숫자는 컴퓨터가 랜덤으로 생성한 값이며, 반복문과 조건문을 사용해 숫자를 맞출 때까지 계속 입력을 받습니다.

random에 관한 코드입니다.

#include <stdlib.h>
#include <time.h>
int main() {
    int randomNum, guess, attempts = 0;
    // 난수 생성 초기화
    srand(time(NULL));
    randomNum = rand() % 100 + 1;  // 1~100 사이의 랜덤 숫자 생성
    printf("1부터 100까지의 숫자 중 하나를 맞춰보세요.\n");
    return 0;
}
profile
학생

0개의 댓글