02. C Language(Programming Concepts of Electronic Computer)
02. C Language(Programming Concepts of Electronic Computer)
[toc]
전자계산기의 원리와 프로그래밍 개념
Introduction
프로그래밍 언어는 컴퓨터를 대상으로 하기 때문에 기본적으로 유사한 구성 요소를 가진다. 따라서 하나의 언어를 익히면, 다른 언어도 쉽게 학습할 수 있는 기반이 된다.
“Every programming language has a similar element”
(모든 프로그래밍 언어는 비슷한 요소를 가지고 있다.)
구성 요소 설명
입력 버튼
- 계산기처럼 컴퓨터에도 사용자가 값을 입력할 수 있는 수단이 필요하며, 이를 위한 입력문이 존재한다.
- C 언어에서는
scanf
,gets
,getch
등이 사용된다.
1
scanf, gets, getch, ...etc
LCD 출력
- 계산기의 LCD 화면은 출력 장치의 역할을 한다.
- C 언어의 출력문은
printf
,putc
,puts
등이 있으며, 주로 콘솔에 내용을 표시한다.
1
printf, putc, puts, ...etc
상수
- 계산기의 숫자 버튼은 미리 정의된 값을 입력하는 기능을 한다.
- 이처럼 변경되지 않는 고정된 값을 프로그래밍에서는 상수라고 하며, 숫자, 문자, 문자열 형태로 존재한다.
1
1, 2, 3, 'a', 'b', "abc", ...etc
연산자
- 더하기, 빼기, 곱하기 등의 연산은 계산기의 기본 기능이며, C 언어도 연산자를 통해 다양한 계산을 수행할 수 있다.
1
+, -, *, /, %, ...etc
변수
- 계산기처럼 연산을 위해 값들을 임시로 저장해둘 공간이 필요하며, 이를 변수라고 한다.
- 변수는 메모리 공간에 이름을 붙인 개념이다.
1
2
3
int sum;
double money;
char type;
조건문
- 계산기의 동작이 선택된 연산자에 따라 달라지는 것처럼, 프로그램도 조건에 따라 흐름을 제어할 수 있어야 한다.
- 이를 위한 구조가 조건문이며, 대표적으로
if
,switch
가 있다.
1
if, switch, ...etc
반복문
- 반복적인 연산을 수행하기 위해 반복문이 필요하다.
- C 언어에서는
for
,while
,do ~ while
구문이 이에 해당한다.
1
for, while, do ~ while, ...etc
프로그래밍 언어의 분류
고급 언어(High-Level Language)
- 사람이 이해하기 쉬운 문법으로 구성
- 컴파일러 또는 인터프리터를 통해 기계어로 번역되어 실행
- 다양한 하드웨어 환경에서 동일한 코드로 실행 가능
예시:
Java, C#, C, C++, Pascal, Ada, LISP, BASIC, FORTRAN, COBOL 등
저급 언어(Low-Level Language)
- 하드웨어에 가까운 언어로, 빠른 실행 속도와 낮은 추상화 수준을 가짐
기계어 (Machine Language)
- 0과 1로 구성된 순수 이진 코드
- 빠르지만 가독성과 유지보수성이 낮음
- 하드웨어 기종마다 다름 → 호환성 없음
어셈블리어 (Assembly Language)
- 기계어를 사람이 이해할 수 있도록 기호화한 언어
- 각 명령어는 기계어와 1:1 대응되며, 어셈블러를 통해 기계어로 변환
📌 정리
전자계산기의 구성 요소들은 대부분 C 언어의 핵심 문법 구조와 대응된다. 입력, 출력, 변수, 연산자, 조건문, 반복문 등의 개념은 모든 프로그래밍 언어의 기초가 되며, 고급 언어와 저급 언어의 차이를 이해하는 것은 언어 선택과 활용에 있어 매우 중요한 기준이 된다.
End