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 프로그램이든 쉽게 읽고 작성할 수 있습니다.