[C] 프로그램의 구성

JOOYEUN SEO·2023년 8월 4일

C 언어

목록 보기
1/13
post-thumbnail

1. C 프로그램의 기본 구조

⌨️ 예제 1

//도입부
#include <stdio.h>				// 헤더 파일 추가

//main() 함수
int main() {					// { 으로 main 함수 시작
    printf("Hello, World!\n");
}								// } 으로 main 함수 끝

🖥️ 실행 결과

Hello, World!

(1) 도입부

프로그램 전체에 적용되는 사항을 기술하는 시작 부분이다.
#include : C언어에서 제공되는 헤더 파일(*.h)을 자신의 소스 파일에 읽어 들여 함께 컴파일할 때 사용되는 선행처리기다.

✏️ 선행처리기
C언어로 작성된 소스코드를 하나의 실행 파일로 만들기 위해선 3단계를 거쳐야 한다.
① 선행처리 → ② 컴파일 → ③ 링킹
선행처리기는 소스 프로그램을 컴파일러에 전달하기 전에 사용자가 정의한 각종 내용을 먼저 처리한다.
<주의해야 할 점>
1. 반드시 #로 시작
2. 명령문 끝에는 세미콜론(;)을 붙이지 않음
3. 한 줄에 하나의 명령만 작성
4. 소스 프로그램의 첫 부분에 위치

<stdio.h> : printf()와 같은 표준입출력함수의 원형(prototype)이 선언되어 있는 헤더 파일
❗️studio.h 아님(standard input output의 약자이기 때문)

< 도입부에 기술할 수 있는 것들 >

  • 프로그램 설명
  • 헤더파일 포함, 매크로 정의
  • 프로그램 전체에 사용되는 전역변수 선언
  • 사용자 함수 원형 선언

(2) main() 함수

C 언어에서 뒤에 괄호 한 쌍()이 있는 것은 함수다. 그 중 main 함수는 실행 시 가장 먼저 호출되는 핵심 함수로, 모든 프로그램에 반드시 1개씩 존재해야 한다. 중괄호 한 쌍({})을 이용하여 각각 시작과 끝을 나타낸다.

(3) 호출된 함수

필요한 경우 main 함수에서 다른 함수를 호출해서 사용하게 되는데, 이때 호출되는 함수를 main 함수 밖(주로 하단 부분)에 별도로 정의해야 한다. 이 함수를 정의하는 부분은 main 함수와 동일한 구조를 가진다.

2. C 프로그램의 구성 요소

컴파일러는 프로그램을 구성하는 문자들을 기본 처리 단위인 토큰으로 분리한다. C 프로그램을 구성하는 기본 토큰은 다음과 같다.

(1) 예약어(reserved word)

C언어에서 사전에 정의된 의미 있는 단어를 뜻한다.

  • 자료형 관련 예약어 : char, int, float, short, long, double, unsigned, union, enum, void
  • 기억 관련 예약어 : auto, static, extern, register
  • 제어 관련 예약어 : if~else, for, while, do~while, switch~case, break, continue, return
  • 기타 예약어 : main, sizeof, include, ...

(2) 식별자(사용자 정의 명칭, identifier)

프로그램을 작성하다 보면 필요에 따라 변수, 배열, 함수 등에 이름을 만들어 붙이게 된다. 이러한 이름을 나태내는 문자열을 식별자라고 하며, 명칭은 다음과 같은 규칙에 따라 만들어야 한다.

  • 영문자와 숫자의 조합으로 만들어진다.
  • 첫 문자는 영문자나 밑줄(_)이어야 한다.
  • 특수문자는 사용할 수 없다(예외로 밑줄만 가능).
  • 문자 사이에 공백을 넣을 수 없다.
  • 예약어를 사용할 수 없다.
  • 영문자 대문자와 소문자는 서로 구별된다.
올바른 예비고잘못된 예비고
log10영문자와 숫자 조합2nd숫자로 시작 불가
LOG10log10과 다름LOG 10문자 사이 공백 불가
For예약어 for와 다름for예약어 사용 불가
_sum밑줄 사용COFFEE&TEA특수문자 사용 불가

(3) 상수(constant)

상수는 값이 불변인 자료로 수치 상수, 문자 상수, 문자열 상수가 있다.

(4) 연산자(operator)

각종 연산을 수행하기 위해 이용한다.

(5) 설명문(comment)

C 컴파일러는 //의 오른쪽이나 /*와 */의 사이에 있는 내용을 무시한다. 프로그램에 대한 주석을 달거나 잠시 동안 특정 부분을 실행에서 배제시키고 싶을 때 주로 사용한다.




▷ 김형근·곽덕훈·정재화, 『C프로그래밍』, 한국방송통신대학교출판문화원, 2020
▷ 서현우, 『뇌를 자극하는 C 프로그래밍』, 한빛미디어, 2005
▷ 두들낙서, “두들낙서의 C/C++ 강좌”, https://youtube.com/playlist?list=PLlJhQXcLQBJqywc5dweQ75GBRubzPxhAk&si=s8RNpRcpJTi_Lz8M

2개의 댓글

comment-user-thumbnail
2023년 8월 4일

글 재미있게 봤습니다.

1개의 답글