Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어의 중요성과 프로그램 기본 구조 완벽 가이드

C 언어란 무엇인가?

C 언어는 범용적으로 사용되는 절차 지향적(procedural)이며 명령형(imperative) 방식의 컴퓨터 프로그래밍 언어입니다. 1970년대 데니스 리치(Dennis Ritchie)가 개발한 이후 오늘날까지 운영체제, 임베디드 시스템, 컴파일러 등 다양한 분야에서 널리 활용되고 있습니다.

C 언어의 중요성

C 언어가 오랜 시간 동안 사랑받아온 이유는 다음과 같은 강력한 특징들 때문입니다.

  • 견고한(Robust) 언어: 다양한 내장 함수와 연산자를 제공하기 때문에 어떤 복잡한 프로그램도 작성할 수 있습니다.
  • 중급 언어: C 컴파일러는 어셈블리 언어의 저수준 기능과 고급 언어의 편의성을 결합합니다. 따라서 시스템 소프트웨어와 비즈니스 응용 패키지를 모두 작성하기에 적합합니다.
  • 높은 효율성과 속도: C로 작성된 프로그램은 실행 속도가 빠르고 자원을 효율적으로 사용합니다.
  • 뛰어난 이식성(Portability): 한 컴퓨터에서 작성한 C 프로그램은 거의 수정 없이 또는 약간의 수정만으로 다른 컴퓨터에서도 실행할 수 있습니다.
  • 구조적 프로그래밍에 최적: 사용자가 문제를 함수 모듈 또는 블록 단위로 나누어 사고할 수 있어 체계적인 개발이 가능합니다.
  • 자기 확장 능력: 사용자가 직접 만든 함수를 추가하여 언어의 기능을 계속 확장할 수 있습니다.

참고로 'C'라는 이름은 BCPL(Basic Combined Programming Language)의 후속 언어라는 의미에서 붙여졌으며, BCPL은 흔히 'B' 언어라고 불렸습니다.

C 프로그램의 일반적인 구조

C 프로그램은 대체로 다음과 같은 형태로 구성됩니다.

/* 문서화 섹션 */
전처리기 지시문(preprocessor directives)
전역 선언(global declaration)
main() {
    지역 선언(local declaration)
    실행문(executable statements)
}
반환타입 함수명(매개변수 목록) {
    지역 선언(local declaration)
    실행문(executable statements)
}

각 구성 요소의 역할

  • 문서화 섹션: 프로그램 이름, 작성자, 작성 날짜 등을 주석으로 기록하는 부분입니다.
  • 전처리기 지시문: #include, #define처럼 #으로 시작하며, 컴파일 전에 처리되는 명령입니다.
  • 전역 선언: 프로그램 전체에서 사용할 변수나 함수를 선언합니다.
  • main() 함수: 프로그램 실행의 시작점이 되는 필수 함수입니다.
  • 사용자 정의 함수: 필요에 따라 여러 개의 함수를 정의하여 main()에서 호출해 사용할 수 있습니다.

예제: 두 수의 덧셈 프로그램

다음은 인수는 없지만 반환 값이 있는 함수를 사용하여 두 수의 덧셈을 수행하는 C 프로그램입니다.

#include<stdio.h>
void main(){
    // 덧셈 함수 선언 (값을 반환하므로 int형으로 선언)
    int sum();
    int add;
    add = sum();
    printf("두 수의 합은 : %d",add);
}
int sum(){
    // 실제 매개변수 선언 //
    int a,b,add;
    // 사용자 입력 받기 //
    printf("a,b 입력 :");
    scanf("%d,%d",&a,&b);
    // 덧셈 연산 수행 //
    add=a+b;
    // 결과 값 반환 //
    return add;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

a,b 입력 :4,6
두 수의 합은 : 10

마무리

C 언어는 견고함, 효율성, 이식성이라는 세 가지 강점을 갖춘 언어로, 프로그래밍의 기초를 배우기에 가장 좋은 언어 중 하나입니다. 위에서 살펴본 기본 구조(문서화 섹션 → 전처리기 지시문 → 전역 선언 → main 함수 → 사용자 정의 함수)를 이해하면 어떤 C 프로그램이든 쉽게 읽고 작성할 수 있습니다.