C (프로그래밍 언어)

위키백과 ― 우리 모두의 백과사전.

C
패러다임  명령형, 절차적
발표 연도  1972년
설계자  데니스 리치
개발자  데니스 리치벨 연구소
최근 버전  ISO 9899:1999
주요 구현체  GCC, 마이크로소프트 비주얼 C++, 터보 C, 왓콤 C
영향을 받은 언어  B(BCPL, CPL), ALGOL 68
영향을 준 언어  C++, C#, 오브젝티브-C, D, 자바, 자바스크립트, , PHP

C 프로그래밍 언어1970년대켄 톰슨데니스 리치가 당시 새로 개발된 유닉스 운영체제에서 사용하기 위해 만든 프로그래밍 언어이다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B"언어(언어를 개발한 벨 연구소의 B를 따서)라 명명했고, 이 B언어에서 C언어가 탄생했다. 유닉스 시스템의 바탕 프로그램은 모두 C로 씌여졌고, 많은 운영체제의 커널도 또한 C로 만들어졌다. 오늘날 많이 쓰이는 C++는 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있다.

목차

[편집] 소개

C는 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있는 프로그래밍 언어이다. 예를 들어 BASIC등과는 달리 다양한 플랫폼에서 ANSI C의 정의에 따르는 비교적 동일한 구현이 가능하다. 모든 C 시스템에는 정규화된 표준 C 라이브러리가 존재한다. 이런 이유와 생성된 프로그램의 높은 성능이 아직까지도 C언어가 사랑받는 이유중 하나이다.

그러나 C언어가 기술적으로 보아 현재 기술 수준에 부합하지 않는다는 의견이 있으며, C를 "이식가능한 고급 어셈블러"정도로 낮추어 부르기도 한다. 이는 반면 오늘날의 거의 모든 널리 쓰이는 운영체제 커널이 C를 이용해 구현된 이유이기도 하다. C는 시스템 프로그램 개발에 매우 적합하나, 응용 프로그램 개발에도 많이 쓰인다.

[편집] 역사

[편집] C99

이 부분의 본문은 C99입니다.

C 언어 표준이 상대적으로 정적으로 남아 있었던 동안, C++는 표준화를 위하여 계속 진화하고 있었다. 1995년에 1990년의 C 표준에 대한 규약 수정안 1이 출판되었는데, 이는 약간의 세부 사항을 교정하고 국제적 문자 세트에 대한 보다 확장된 지원을 위한 것이었다. C 표준은 1990년대 후반에 더 개정되어, 1999년 ISO/IEC 9899:1999가 출간되었고, 여기서 명시한 규범을 흔히 C99라 부른다. 이는 기술적 교정에 의하여 현재까지 3번의 수정이 있었다. 국제 C 표준은 실무 그룹 ISO/IEC JTC1/SC22/WG14에 의해 관리되고 있다.

[편집] 문법

[편집] 연산자

산술 연산자 설명
-
빼기
+
더하기
*
곱하기
/
나누기
%
나머지
--
감소
++
증가

|

\

[편집] 연산자 우선순위

관계 연산자 설명
>
보다 큼
>=
보다 크거나 같음
<
보다 적음
가장 높음
( ) [ ] −> .
 ! ~ ++ –– (type) * & sizeof
* / %
+ −
<< >>
< <= > >=
== !=
&
^
|
&&
||
 ?:
= += −=*= /=]
,
가장 낮음

[편집] 키워드

아래는 호출 규약에 관한 키워드들이다.

아래는 자료형에 관한 키워드들이다.

아래는 전처리기들이다.

  • #define
  • #pragma
  • #include
  • #if, #elseif, #else, #endif

아래는 함수에서 사용하는 키워드들이다.

[편집] 헬로 월드 프로그램

#include <stdio.h>            // C 표준 라이브러리 중 하나인 stdio.h 라는 헤더 파일에 선언된 내용을 포함한다는 뜻이다.
                              // 이 문장을 쓰지 않으면, printf 함수의 선언을 찾을 수 없다는 컴파일 오류가 발생한다.
int main(void)                // 매개변수가 없는 C 프로그램의 시작을 나타내는 정수값을 반환값으로 받는 main 함수를 시작한다.
{                             // 함수의 시작점을 나타낸다.
    printf("hello, world\n"); // 표준 콘솔 출력에 hello, world라는 단어를 출력하고 \n 에 의해 다음 줄로 이동하게 된다.
    return 0;                 // 0을 반환하며 이 함수를 종료한다.
}                             // 함수의 종료점을 의미한다.

이 프로그램은 표준 콘솔 출력으로 hello, world를 출력한다.

[편집] 함께 보기

[편집] 바깥 고리