프로그래밍 · 4 min read · Sep 21, 2025

C/C++ 단계별 학습

C/C++ 단계별 학습

01. 단계별 C/C++ — 소개

많은 사람들이 DOS/Windows 또는 Linux와 같은 좋아하는 플랫폼에서 C/C++ 프로그램을 배우고 구현하는 데 정말 관심이 있습니다. 시작하기 위한 단계별 가이드를 찾고 있다면 이 튜토리얼이 당신을 위한 것입니다. 커뮤니티에 기여하기 위한 저의 작은 시도에 대한 의견을 알려주세요.

목차

I. C에 대하여

  1. C란 무엇인가?
  2. C 언어의 발전
  3. C의 일반 목적 언어로서의 역할
  4. C의 역사
  5. C의 특징

II. 프로그래밍 기초

  1. 프로그램의 구성 요소
  2. 상수
  3. 데이터 유형
  4. 숫자 데이터 유형
  5. 비숫자 데이터 유형
  6. 정수 데이터 유형
  7. 실수 데이터 유형
  8. 논리 데이터 유형
  9. 열거형 데이터 유형

언어 및 표현식 소개

C란 무엇인가?

C는 하드웨어와 직접 상호작용하기 위해 고급 및 저급 문장을 모두 지원하는 컴파일러 기반 프로그래밍 언어입니다.

C 언어의 발전

C 프로그래밍 언어는 1970년대 초 벨 연구소에서 개발된 일련의 프로그래밍 언어에서 발전했습니다. 이 프로그래밍 언어가 널리 보급되고 지원받기 시작한 것은 1970년대 후반이었습니다. 그 당시까지 C 컴파일러는 벨 연구소 외부에서 상업적으로 사용하기 위해 쉽게 구할 수 없었기 때문입니다.

C 언어는 컴퓨터의 입력 및 출력 장치를 관리하고, 저장 공간을 할당하며, 다른 프로그램의 실행을 스케줄링하기 위해 운영 체제를 작성하기 위한 적절한 고급 언어를 발명하기 위한 벨 연구소에서 데니스 리치가 수행한 프로젝트의 결과물입니다.

UNIX 운영 체제는 C 언어로 작성되었습니다. 따라서 Unix 운영 체제는 C를 표준 프로그래밍 언어로 가지고 있습니다. 사실 운영 체제의 90% 이상이 C 언어로 작성되었습니다. 따라서 원래 C 언어는 Unix 운영 체제에서 설계되고 구현되었습니다.

C의 일반 목적 언어로서의 역할

C는 고급, 절차적/구조적, 일반 목적 프로그래밍 언어이며 Fortran, Pascal 및 PL/1과 같은 몇 가지 다른 고급 언어와 유사합니다. 그러나 C 언어를 “순수 고급 언어”라고 부를 수는 없습니다.

C는 특정 활동을 수행하기 위한 고급 언어와 기계의 어셈블리 언어와 같은 저급 언어 사이에 위치하고 있습니다. “시스템 독립성”, “제한된 데이터 유형”, “높은 유연성”과 같은 몇 가지 특징 덕분에 강력한 언어로 간주됩니다. C는 시스템 간의 이식성 덕분에 인기를 얻었습니다.

C의 역사

연도언어개발자비고
1960ALGOL국제 위원회너무 일반적이고 너무 추상적임
1963CPL케임브리지 대학교배우기 어렵고 구현하기 어려움
1967BCPL마틴 리차드특정 문제만 처리 가능
1970B켄 톰프슨 AT&T 벨 연구소특정 문제만 처리 가능
1972C데니스 리치 AT&T 벨 연구소BCPL과 B의 일반성을 잃고 복원됨
1980년대 초C++비야르네 스트로스트룹 AT&TC에 OOPs 도입

C의 특징

  • 간단하고 다재다능하며 일반 목적 언어
  • 프로그램이 빠르고 효율적임
  • 풍부한 연산자 집합을 가짐
  • 더 일반적이며 제한이 없음
  • 비트, 바이트 및 주소를 쉽게 조작할 수 있음
  • 다양한 데이터 유형이 제공됨
  • 함수의 별도 컴파일이 가능하며 이러한 함수는 모든 C 프로그램에서 호출할 수 있음
  • 블록 구조 언어
  • 운영 체제, 컴파일러 및 인터프리터, 어셈블러 등과 같은 시스템 프로그래밍 분야에 적용 가능함

II. 프로그래밍 기초

프로그램의 구성 요소

  1. 상수
  2. 변수
  3. 연산자
  4. 문장

따라서 진지한 프로그래밍을 작성하기 전에 프로그램의 모든 구성 요소에 대해 명확해야 합니다. 위의 예에 따르면 모든 프로그램은 문장의 집합이며, 문장은 컴퓨터에 대한 지시로, 상수, 변수, 연산자 및 문장의 모음입니다.

상수

상수는 프로그램 실행 중에 변경되지 않는 고정 값입니다.
상수는 두 가지 주요 범주로 나눌 수 있습니다:

  1. 기본 상수
  2. 보조 상수

데이터 유형

프로그래밍 언어에서 사용되는 변수가 보유할 수 있는 데이터의 종류를 데이터 유형이라고 합니다.

기본 데이터 유형은 다음과 같습니다:

  1. 숫자 데이터 유형
  2. 비숫자 데이터 유형
  3. 정수 데이터 유형
  4. 실수 데이터 유형
  5. 논리 데이터 유형
  6. 열거형 데이터 유형

1. 숫자 데이터 유형: 숫자와 관련된 모든 것을 다룹니다. 이 숫자는 정수(int) 데이터 유형 또는 실수(float) 데이터 유형일 수 있습니다.

2. 비숫자 데이터 유형: 문자와 관련된 모든 것을 다룹니다. 따옴표로 묶인 문자 또는 문자 그룹은 비숫자 또는 문자 데이터 유형으로 간주됩니다.

3. 정수 데이터 유형: 정수 또는 전체 숫자와 관련됩니다. 모든 산술 연산은 이 데이터 유형을 통해 수행할 수 있으며 결과는 다시 정수입니다.

4. 실수 데이터 유형: 실수 또는 분수를 포함하는 숫자 데이터와 관련됩니다. 모든 산술 연산은 이 데이터 유형을 통해 수행할 수 있으며 결과는 실수 데이터 유형이 될 수 있습니다.

5. 논리 또는 불리언 데이터 유형: TRUE 또는 FALSE 중 하나의 값만을 가질 수 있습니다. 컴퓨터에서는 TRUE에 대해 1(하나)이 저장되고 FALSE에 대해 0(영)이 저장됩니다.

6. 열거형 데이터 유형: 비구조화된 데이터를 그룹화하여 새로운 유형으로 이끌어냅니다. 이 데이터 유형은 표준이 아니며 일반적으로 사용자가 정의합니다.
예시:
Week_days = { “sun”, “mon”, “tue”, “wed”, “thu”, “fri”, “sat” };
Directions = {“North”, “East”, “West”, “South” };

다음 표는 속성과 함께 표준 데이터 유형을 보여줍니다.

키워드범위: 낮음범위: 높음정밀도 자릿수메모리 바이트형식-ID
vhar-128127n/a1%c
int-32, 76832, 767N/a2 (16비트 프로세서에서)%d
long-2,147, 483, 6482, 147, 483, 647N/a4%ld
float3.4 x 10-383.4 x 103874%f
double1.7 x 10-3081.7 x 10308158%lf
long double3.4 x 10-49323.4 x 10-49321910%Lf

참고: 부호 있는 및 부호 없는 int에 대한 요구 범위는 부호 있는 및 부호 없는 short에 대한 범위와 동일합니다. 8비트 및 16비트 프로세서(예: MS-DOS 하의 16비트 모드에서 실행되는 Intel x86 프로세서)의 컴파일러에서 int는 일반적으로 16비트이며 short와 정확히 동일한 표현을 가집니다. 32비트 및 더 큰 프로세서(예: Win32 또는 Linux에서 32비트 모드로 실행되는 Intel x86 프로세서)의 컴파일러에서 int는 일반적으로 32비트 길이이며 long과 정확히 동일한 표현을 가집니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.