본문 바로가기
C프로그래밍/복습

C프로그래밍 7주차 복습 과제

by higurashi 2026. 4. 15.

 전처리기(preprocessor)는 컴파일하기 전에 프로그램에 대한 일련의 작업을 수행

(출처:Smile Han의 C 언어 프로그래밍)

 

#define 으로 할 수 있는 것은 매크로 상수, 매크로 함수 두가지가 있음

 일일이 array_size3으로 바꿀 필요없이 매크로를 사용하면 한 번에 모두 3으로 바꿔준다

 

 

AA를 2로 바꿔도 동일하게 출력 됨

 

#include문은 파일을 프로그램에 포함시키고자 할 때 사용하는 전처리기임

직접 만든 헤더 파일은 “ ” 포함 시키고, 이미 있는 헤더 파일은 < >로 포함 시킴

 

위 소스에서 #include <stdio.h>를 사용하는 이유?

printf를 사용하려면 함수 선언이 필요한데, 그게 stdio.h 헤더 파일 안에 들어있기 때문

 

#include <stdio.h> 동작 과정
(시험 문제 출제)

(반드시 대문자로 작성)

 

 

네 과목의 성적을 입력 받아 총점과 평균 출력

#define _CRT_SECURE_NO_WARNINGS  // scanf() 사용 시 보안 경고를 없애주는 매크로
#include <stdio.h>               // printf(), scanf() 등 입출력 함수 사용을 위한 헤더 파일

int main(void)  // 프로그램 시작점, int형 반환, 매개변수 없음
{               // main 함수 시작

    int kor, eng, mat, sci, total;  // 국어, 영어, 수학, 과학 점수와 총점을 저장할 정수형 변수 선언
    double avg;                      // 평균을 저장할 실수형 변수 선언 (소수점 표현 가능)
    char name[20];                   // 이름을 저장할 문자 배열 선언 (최대 19글자 + 끝문자 \0)

    printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓");          // 상단 테두리 출력
    printf("\n┃총점과 평균을 구하는 프로그램입니다.┃\n");        // 프로그램 제목 출력, \n은 줄바꿈
    printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");        // 하단 테두리 출력

    printf("이름을 입력하고 Enter를 누르세요=> ");  // 이름 입력 안내 메시지 출력
    scanf("%s", name);                              // 문자열(%s)을 입력받아 name 배열에 저장 (배열명은 주소이므로 & 불필요)

    printf("\n국어 점수를 입력하고 Enter를 누르세요=> ");  // 국어 점수 입력 안내 메시지 출력
    scanf("%d", &kor);                                     // 정수(%d)를 입력받아 kor 변수의 주소(&kor)에 저장

    printf("\n영어 점수를 입력하고 Enter를 누르세요=> ");  // 영어 점수 입력 안내 메시지 출력
    scanf("%d", &eng);                                     // 정수(%d)를 입력받아 eng 변수의 주소(&eng)에 저장

    printf("\n수학 점수를 입력하고 Enter를 누르세요=> ");  // 수학 점수 입력 안내 메시지 출력
    scanf("%d", &mat);                                     // 정수(%d)를 입력받아 mat 변수의 주소(&mat)에 저장

    printf("\n과학 점수를 입력하고 Enter를 누르세요=> ");  // 과학 점수 입력 안내 메시지 출력
    scanf("%d", &sci);                                     // 정수(%d)를 입력받아 sci 변수의 주소(&sci)에 저장

    total = kor + eng + mat + sci;  // 네 과목 점수를 모두 더해 total에 저장
    avg = total / 4.0;              // total을 4.0(double형)으로 나눠 avg에 저장, 4.0으로 나누면 결과가 실수형으로 자동 변환됨

    printf("\n%s님의 총점은 %d이고, 평균은 %.2f입니다.\n", name, total, avg);
    // %s     : name 배열의 문자열 출력 (이름)
    // %d     : total 정수 출력 (총점)
    // %.2f   : avg 실수 출력, 소수점 아래 2자리까지 표시 (평균)

    return 0;  // main 함수 종료, 운영체제에 0(정상 종료)을 반환
}              // main 함수 끝

 

 

 

* 연산자(operator)

 

 

(자동 형변환 문제 출제)

 

 

 

 

 

(시험 출제)

 

관계(비교) 연산자 차이점 숙지

 

 

(if 부분은 나중에)