1. 프로그램이란?
1) 프로그램과 프로그래밍 개념
· 프로그램이란 컴퓨터에서 특정 문제를 해결하기 위한 명령문의 집합체이다.
· 프로그래밍이란 문제 해결을 위해 컴퓨터가 이해할 수 있는 명령을 작성하는 전체 과정이다.
⭕ 쉽게 말해, 컴퓨터에게 “무엇을, 어떤 순서로 하라”고 알려주는 레시피를 만드는 작업이다.
2) 프로그래밍 언어의 종류
프로그래밍 언어는 크게 저급언어와 고급언어로 나뉜다.
✅ 저급언어
기계어(Machine Language):
⛏️ 0과 1로 이루어진 이진수 명령어. 컴퓨터가 직접 이해하는 언어이다.
⚠️ 사람이 이해하기 어렵고, 유지보수가 매우 힘들다.
어셈블리어(Assembly Language):
· 기계어보다 약간 읽기 쉬운 형태의 언어이다.
· 하드웨어 제어가 가능하며, 시스템 프로그래밍에서 사용된다.
✅ 고급언어
· 사람이 이해하기 쉽게 만든 언어이다.
· 운영체제, 컴파일러가 기계어로 변환하여 실행한다.
· FORTRAN: 과학 계산에 강하다.
· COBOL: 기업의 사무처리 시스템에 사용된다.
· C/C++: 절차지향, 시스템 프로그래밍에 적합하다.
· Pascal: 교육용으로 많이 사용되었다.
· BASIC: 초보자가 배우기 쉬운 언어이다.
· Python: 웹 개발, 데이터 분석, 인공지능 등 다양한 분야에 활용된다.
✳️ 현대 소프트웨어 개발은 대부분 고급언어를 사용한다.
2. C언어란?
1) C언어의 역사
· 1970년대, 미국 AT&T의 벨 연구소(Bell Labs)에서 개발되었다.
· Dennis Ritchie와 Ken Thompson이 유닉스 운영체제를 만들기 위해 기존의 B언어를 개선하여 개발하였다.
✅ C 언어는 유닉스를 비롯한 초기 운영체제 개발에 핵심적인 역할을 했다.
2) C언어의 특징
· 문법이 간단하고 자연어와 유사하여 배우기 쉽다.
· 범용 프로그래밍 언어로 시스템, 응용, 임베디드 등 다양한 분야에서 사용된다.
· 저급언어와 고급언어의 장점을 모두 갖춘 언어이다.
· 다양한 플랫폼에서 동작하는 이식성(portability)이 뛰어나다.
· 하드웨어 제어가 가능하여 운영체제, 드라이버, 임베디드 개발에 유용하다.
⚠️ 하지만 포인터나 메모리 관리 등에서 초보자가 실수하기 쉬운
구조를 갖고 있으므로 주의가 필요하다.
3. 프로그램 개발 과정
1) 개발 순서
1️⃣ 요구사항 분석
· 프로그램이 해결해야 할 문제와 필요한 기능을 정의한다.
2️⃣ 알고리즘 설계 및 명세서 작성
· 문제 해결 순서를 논리적으로 정리하고, 문서화한다.
3️⃣ 순서도 작성
· 프로그램의 흐름을 시각화하여 이해하기 쉽게 만든다.
2) 코드 작성 및 실행 단계
1️⃣ 코딩(Coding)
· 설계된 알고리즘을 C 언어로 작성한다.
2️⃣ 컴파일(Compile)
· 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어(Object Code)로 번역한다.
· 이때 컴파일러가 사용된다.
3️⃣ 링크(Link)
· 여러 오브젝트 파일들을 하나의 실행 파일로 연결한다.
· 라이브러리 함수와 사용자 정의 함수도 이 단계에서 연결된다.
4️⃣ 디버깅(Debugging) 및 유지보수
· 오류를 찾아 수정하고, 프로그램을 개선한다.
✅ 디버깅이란?
· 프로그램 실행 중 발생하는 문제(버그)를 찾아 수정하는 작업이다.
· 출력값이 이상하거나 프로그램이 멈추는 경우, 디버깅을 통해 원인을 추적한다.
✅ 마무리 정리
1️⃣ 프로그램은 명령문의 집합이며, 프로그래밍은 그 명령을 만드는 과정이다.
2️⃣ 프로그래밍 언어는 저급언어(기계어, 어셈블리어)와 고급언어(C, Python 등)로 나뉜다.
3️⃣ C언어는 유닉스 OS를 만들기 위해 개발된 범용 언어이다.
4️⃣ 문법이 간결하고 이식성이 뛰어나 다양한 시스템 개발에 사용된다.
5️⃣ 개발 과정은 요구사항 분석 → 설계 → 코딩 → 컴파일 → 링크 → 디버깅 순으로 진행된다.
💻 예제 코드
아래는 C 언어로 "Hello, world!"를 출력하는 가장 기본적인 프로그램이다.
#include <stdio.h> // 입출력 함수가 정의된 헤더 파일 포함
int main() {
printf("Hello, world!\n"); // 문자열 출력 후 줄바꿈
return 0; // 프로그램 종료
}
✳️ #include <stdio.h>는 표준 입출력 헤더파일을 의미한다.
✳️ main() 함수는 C 프로그램의 시작점이다.
✳️ printf() 함수는 문자열을 출력하는 함수이다.
✳️ \n은 줄바꿈(새 줄)을 의미하는 이스케이프 문자이다.
'Language > C' 카테고리의 다른 글
| 📌 Chapter 04 - 변수와 자료형 - 변수의 기초 (0) | 2025.05.17 |
|---|---|
| 📌 Chapter 03 - 표준 입출력 함수 - 문자 코드 (0) | 2025.05.16 |
| 📌 Chapter 03 - 표준 입출력 함수 - 표준 입력 함수 (0) | 2025.05.16 |
| 📌 Chapter 03 - 표준 입출력 함수 - 표준 출력 함수 (0) | 2025.05.16 |
| 📌 Chapter 02 - C 언어 작성 및 실행 (0) | 2025.05.15 |