카테고리 없음

C프로그래밍 7주차 과제

hameunbin01 2026. 4. 15. 12:24

출처 : SMILE HAN

 

 

전처리기는 컴파일 하기 전에 일어나는 일이다.

 

📌 대문자 A 출력 방법 (C언어)

  1. "A"
    → printf("A");
  2. 'A' (문자)
    → printf("%c", 'A');
  3. 아스키코드 65
    → printf("%c", 65);
  4. 문자 연산
    → printf("%c", 'A'+0);
  5. 변수 사용
    → char ch='A'; printf("%c", ch);

 

📌 C언어 전처리기 특징

  1. 컴파일 전에 실행됨
    → 프로그램이 컴파일되기 전에 먼저 처리됨
  2. #으로 시작함
    → #include, #define 같은 명령어 사용
  3. 헤더파일 포함 가능
    → #include <stdio.h> 처럼 다른 파일 불러옴
  4. 매크로 정의 가능
    → #define PI 3.14 처럼 상수나 코드 정의
  5. 조건부 컴파일 가능
    → #ifdef, #ifndef 등을 사용해 특정 조건에서만 컴파일

👉 한 줄 정리:
전처리기는 컴파일 전에 # 명령으로 코드 수정·추가를 처리하는 기능.

 

 

📌 #include <stdio.h> 쓰는 이유 

입출력 함수 사용하려고 넣는 것


📌 핵심 설명

  • stdio.h = 표준 입출력 헤더파일
  • printf, scanf 같은 함수가 여기 들어있음
  • 이걸 안 쓰면 컴파일 에러 발생

📌 한 줄 정리

👉 printf, scanf 쓰려면 꼭 필요한 파일

 

#include <stdio.h>
int main(void)
{
printf("__LINE__ : %d\n",__LINE__);   
printf("__DATE__ : %s\n",__DATE__);
printf("__LINE__ : %d\n",__LINE__);
printf("__TIME__ : %s\n",__TIME__);
printf("__TIMESTAMP__ : %s\n",__TIMESTAMP__);
printf("__FILE__ : %s\n",__FILE__);
return 0;
}

 

📌 이 코드 설명 

👉 이 프로그램은 전처리 매크로를 이용해서 컴파일 시점의 정보들을 출력하는 코드다.

  • 프로그램이 실행되기 전에 전처리기
    __LINE__, __DATE__, __TIME__ 같은 값들을 실제 값으로 바꿔줌
  • 그래서 실행하면 줄 번호, 날짜, 시간, 파일 정보 등이 출력됨

📌 핵심 포인트

  • 전부 자동으로 값이 들어가는 매크로
  • 실행 중이 아니라 컴파일할 때 결정됨
  • 디버깅할 때 자주 사용됨

📌 한 줄 정리

👉 컴파일 시점 정보를 자동으로 출력하는 전처리기 매크로 예제

 

 

 

#include <stdio.h> // printf, scanf 사용을 위한 헤더파일 포함

int main(void) // 프로그램 시작 함수
{
char name[20]; // 이름을 저장할 문자열 배열 (최대 19글자 + \0)
int kor, eng, mat, sci, total; // 국어, 영어, 수학, 과학 점수와 총점 변수
double avg; // 평균을 저장할 실수형 변수

printf("총점과 평균을 구하는 프로그램입니다.\n"); // 안내 문구 출력

printf("이름을 입력하세요="); // 이름 입력 안내
scanf("%s", name); // 이름 입력받기 (문자열)

printf("국어 점수="); // 국어 점수 입력 안내
scanf("%d", &kor); // 국어 점수 입력

printf("영어 점수="); // 영어 점수 입력 안내
scanf("%d", &eng); // 영어 점수 입력

printf("수학 점수="); // 수학 점수 입력 안내
scanf("%d", &mat); // 수학 점수 입력

printf("과학 점수="); // 과학 점수 입력 안내
scanf("%d", &sci); // 과학 점수 입력

total = kor + eng + mat + sci; // 네 과목 점수를 모두 더해 총점 계산
avg = total / 4.0; // 총점을 4.0으로 나눠 평균 계산 (실수 계산)

printf("%s님의 총점은 %d이고, 평균은 %.2lf입니다.\n", name, total, avg); // 결과 출력 (이름, 총점, 평균)

return 0; // 프로그램 정상 종료
}

 

 

📌 C언어 연산자 정리표

종류연산자설명예시
산술 연산자 + - * / % 사칙연산 a + b
증감 연산자 ++ -- 1 증가 / 감소 a++
대입 연산자 = += -= *= /= %= 값 저장 및 계산 후 저장 a += 5
관계 연산자 == != > < >= <= 값 비교 (참/거짓) a > b
논리 연산자 `&&   !`
비트 연산자 `& ^ ~ << >>` 비트 단위 연산
조건 연산자 ? : 조건에 따른 값 선택 a>b ? a : b
sizeof 연산자 sizeof 자료형 크기 반환 sizeof(int)
형변환 연산자 (type) 자료형 변환 (double)a

📌 한 줄 정리

👉 연산자는 계산, 비교, 논리 판단 등 프로그램의 핵심 기능 담당

 

 

 

 

 

 

📌 에스터리스크(*)란?

👉 키보드의 * 이 기호를 말함


📌 C언어에서 의미

곱하기 연산자, 포인터 표시, 간접 참조

 

📌 한 줄 정리

👉 *는 상황에 따라 곱하기 또는 포인터 의미로 쓰이는 기호