| 프로그래밍 언어란?
주어진 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적인 언어
사용자는 이 언어를 통해 컴퓨터에게 명령을 내리는 명령어들의 집합체인 프로그램을 작성할 수 있다.
특징
- 간결성
사람이 프로그램을 쉽게 이해하고 읽을 수 있도록 간결하게 표현 가능
- 직교성
언어의 각 구성요소가 상호 독립적이면서도 어떤 환경에서도 구성요소가 같은 의미로 사용
- 가독성
사람이 이해하기 쉽도록 작성된 프로그램이나 프로그래밍 언어의 문법, 주석 등이 가독성의 향상에 도움이 됨
- 정확성
잘 정의된 문법은 정확성을 보장하고 각 언어의 문법은 대부분이 세계 표준임
- 기계독립성
서로 다른 컴퓨터 상에서 항상 같은 결과를 나타냄
분류
저급 언어 : 기계 중심. 컴퓨터 개발 초창기(1950년대)에 사용되던 프로그래밍 언어
(ex. 기계어, 어셈블리어)
│ └ 기계어와 1:1로 대응시켜 만든 기호 언어이므로 어셈블러에 의해 번역되어 실행되어야 함
│ 장점 : 프로그램의 수행시간이 빠름, 주기억장치를 매우 효율적으로 사용할 수 있음
│ 단점 : 장치 의존적이라 호환성 X
│
└ 컴퓨터의 전기적인 회로에 의해 직접적으로 해석되어 실행되는 언어
장점 : 컴퓨터를 효율적으로 활용하는 면에서 유리함
단점 : 언어가 어렵고 복잡해 프로그래밍 시간이 많이 걸리고 오류 발생 가능성 ↑
고급 언어 : 사용자 중심
(ex. C, FORTRAN, JAVA, C++, COBOL, LISP, BASIC, ...)
| C언어란?
인간과 컴퓨터 사이의 의사 소통을 위한 프로그래밍 언어 중 하나
다양한 프로그래밍 언어 중 기본이 되는 언어라고 할 수 있음
C++, C#, Java
특징
▶ 장점
① 뛰어난 이식성
타 프로그램보다 호환성 높음
C언어 표준 함수만 작성된 프로그램은 어떤 기종의 컴퓨터에서도 정상적으로 컴파일되고 실행 가능
(ex. 소형 컴퓨터에서 작성한 프로그램을 대형 컴퓨터에서도 사용 가능)
② 다양성을 가짐
컴퓨터의 모든 분야에서 사용할 수 있도록 설계된 효율적인 프로그램 언어
(ex. 과학 계산용 프로그램부터 FA 공장 자동화, OA사무 자동화, GUL, 시스템 프로그램, 응용 프로그램 등)
이 이유로 C언어를 가장 추천함
③ 유연성이 좋음
C언어의 가장 큰 특징 중 하나는 소프트웨어의 부품화를 실현할 수 있다는 것
└ 새 프로그램 개발을 위해 이미 작성된 프로그램 모듈들을 그대로 사용하는 것
C언어를 부품처럼 사용 가능한 대표 응용 소프트웨어 : 클리퍼, 폭스프로, 윈도우, 오토캐드 등
또, 저급 언어면서 고급 언어의 성격을 가지기 때문에 기계어에 준하면서 고급 프로그래밍 언어로 집적된 표현 가능
④ 혼합성을 가짐
다른 프로그램 언어와 함께 혼합하여 사용 가능
혼합 프로그램을 개발하는 프로그램의 혼합성을 극대화시키는 데 사용
C언어와 함께 가장 많이 사용되는 프로그램 언어는 어셈블리, 패키지 언어는 클리퍼 등
⑤ 절차지향적
정해진 순서대로 프로그래밍
그 덕에 C언어를 학습하는데 오랜 시간이 걸리지 않고 상대적으로 유지 보수 쉬움
▶ 단점
① 모듈화하지 않으면 프로그램을 이해하기 어려워지는 경우 多
② 완전한 고급 언어에 비해 배우기 어려움
③ UNIX가 가진 약점을 동일하게 가짐
운영체제인 UNIX를 기술하기 위한 언어로 개발되었기 때문
④ 배열에서 첨자의 범위 ┬ 을 검사하는 기능이 미약
자료형 ┘
⑤ 연산 우선순위를 모르면 잘못된 계산 결과를 얻을 수 있음
혼합 연산의 경우 연산 우선순위에 따라 자동 계산
⑥ 시스템 자원을 직접 제어할 수 있어 프로그래밍에 세심한 주의가 필요
| C언어의 구성
#include<stdio.h>
int main()
{
hello();
bye();
}
hello()
{
}
#include<stdio.h>
- include : 포함시키다
- stdio.h (STandarD Input/Output library) 표준 입출력 라이브러리
int main
- main에 어떤 것을 포함시킬지
- 책으로 치면 목차의 역할
- hello와 bye는 각각의 목차, 페이지의 역할
hello()
- main에 목차를 적었으니, 그에 맞는 페이지에 글 내용을 쓰기 위한 역할
'C 언어' 카테고리의 다른 글
[C 언어] 함수 알아보기 (0) | 2020.06.24 |
---|---|
[C 언어] 입력 함수 scanf(), getchar(), gets() (1) | 2020.04.21 |
[C언어] 출력 함수 printf() (0) | 2020.04.15 |
[C언어] 기본 내용 (0) | 2020.04.14 |
Visual Studio 2019 사용 (0) | 2020.04.12 |