프로그래밍 언어
■ 프로그래밍 언어란 무엇인가?
◆ 사람과 컴파일러(& 어셈블러)가 이해할 수 있는 약속된 형태의 언어
◆ 저급언어 - 컴퓨터가 이해하기 쉬운언어 ex) 어셈블리어
◆ 고급언어 - 인간에게 친근한 언어 ex) C언어 외
Comp. CPU 기계어 (0,1의 조합) |
해독기 컴파일러 어셈블러 |
프로그래밍 언어 고급언어 저급언어 |
어셈블리어
■ Mnemonic code에 명령어를 첨가한 것.
■ 기계어의 명령부와 번지부를 사람이 이해하기 쉬운 기호와 1:1로 대응시켜 기호화한 프로그램 언어
■ Mnemonic code
◆ 프로그래밍의 비효율성 극복을 위해 기계어의 비트 형식을 연상코드화
◆ 심벌화로 프로그램의 이해와 작성이 쉽다
◆ 기계어로 직접 변환 가능
◆ 프로그램 작성이 쉽다.
■ Assemble
◆ 어셈블리어(Source) 프로그램을 기계어 (Object)로 바꾸는 것.
고급 수준 언어
■ FORTRAN
◆ FORmula TRANslating system(수식번역 시스템)
◆ 가장 오래된 언어. 계산 위주로 단순, 간결.
◆ 기술 계산 분야에 사용
■ BASIC
■ COBOL
■ PASCAL
■ C
◆ B언어에서 발전한 언어
◆ 1972년경 UNIX의 운영체제 개발을 위한 시스템 프로그래밍 언어로 설계
◆ 컴파일러나 많은 소프트웨어 TOOL들이 C로 개발됨
C언어를 기계어로 바꾸어주는 컴파일러도 C로 개발되었다
한글에서 프린터 아이콘 누르면 화면이 뜨는데, 그것도 C로 개발되었다
◆ 기계어에 가까워 하드웨어에 대한 확실한 통제 가능
◆ 이식성(portability)이 높다
◆ 풍부한 연산자와 데이터 type
◆ 범용 프로그래밍 언어와 응용소프트웨어 개발에 많이 사용
■ C++
◆ 객체지향 프로그래밍(OOP : Object-Oriented Program 독립적인 각각의 객체로 프로그램이나 시스템을 구성하는 일)을 지원하기 위한 언어
◆ C언어의 장점을 계승하고 객체의 상속성의 개념을 추가하여 1983년 개발한 언어
독립적으로 실행하는 과정에서 다른 프로그램을 넣어서 돌릴 수 있다.
■ JAVA
컴파일
■ 고급언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 역할을 하는 번역기
C로 장치를 액추에이터를 구동하기 때문에 깊이 있게 다룬다.
전처리기
■ 전처리기
◆ 컴파일을 하기 전에 먼저 읽어 삽입하는 역할
◆ 컴파일러는 전처리기의 처리 결과인 소스를 컴파일한다.
■ 전처리기 지시자 (=전처리기 명령어)
◆ 전처리기가 처리하는 명령어로 C언어 자체의 명령어와 구별하여 다룸
◆ 항상 #으로 시작, 한 줄에 하나의 지시자만 사용
예 : #include
헤더파일
■ 확장자 .h로 입력, 출력 등 C소스의 여러 정보가 들어있는 텍스트파일
◆ 함수 printf( )를 이용하려면 stdio.h를 첨가해야 함
◆ stdio.h (STanDard Input Output .Header file)
■ 헤더 파일의 포함을 알리는 선언은 가정 먼저 등장
■ 시스템 헤더파일은 <파일명>, 사용자 헤더파일은 "파일명" 을 기록
◆ #include <stdio.h>
◆ #include "myheader.h"
#include <stdio.h>
int main(void)
{
printf("Hello World! \n");
return 0;
}
지시자 #include와 #define
■ #include
헤더파일 | 처리작업 |
stdio.h | 표준 입출력 작업 |
math.h | 수학 관련 작업 |
string.h | 문자열 작업 |
time.h | 시간 작업 |
ctype.h | 문자 관련 작업 |
■ #define
◆ 소스에서 지정된 기호상수를 정의된 치환 문자열로 대체한다.
세미콜론, 표준 라이브러리
■ 세미콜론이 필요한 문장
◆ 연산을 수행하는 문장 : 시간의 흐름에 따라서 컴퓨터에게 명령을 하는 문장
■ 표준 라이브러리
◆ 이미 표준화해서 만들어 놓은 함수들의 집함
◆ 헤더 파일을 포함해야 사용이 가능하다.
변 수
■ 임시로 자료값을 저장하는 저장장소
■ 사용전에 변수 선언을 해야 함
■ 선언과 함께 초기값을 저장할 수 있다.
■ 마지막 값만 저장한다.
int a,b;
int c=10, d=20;
주 석
■ 주석이란?
◆ 프로그래머에게 메모(memo)의 기능을 부여
◆ 컴파일러는 주석을 없는 것으로 간주
◆ 프로그램의 해독을 도움
◆ 선택이 아닌 필수!
주석의 유형
■ 주석의 예
#include <stdio.h> // stdio.h 헤더 파일 포함
int main(void) // main 함수의 시작
// void는 리턴값이 없음을 정의
// return 0를 써넣지 않아도 됨
{
/*
printf 함수는 모니터로 출력을 하는 경우에 사용
인자로 문자열을 전달하면 문자열을 출력한다.
*/
printf("Hello, World! \n"); // 모니터로 문자열 출력
printf("--- 추가 입력 라인--- \n");
return 0; // 0을 반환한다.
} // main 함수의 끝
return
■ return의 의미
◆ 함수를 종료 (빠져나온다)
◆ 함수를 호출한 영역으로 값을 반환
■ return의 특징
◆ return은 함수 내에서 존재 하지 않을 수도 있다.
◆ 둘 이상의 return문이 존재하는 것도 가능
프로그램의 완성 과정
■ 프로그램의 작성 및 실행 순서
1. 프로그램 작성
2. 컴파일
3. 링크
4. 실행파일 생성
'자동제어 > PC 제어' 카테고리의 다른 글
PC제어프로그램 5일차 (20.05.14) - 기본코딩1 (0) | 2020.06.18 |
---|---|
PC제어프로그램 4일차 (20.05.12) - Visual C++ 사용하기 (2) | 2020.06.18 |
PC제어프로그램 4일차 - 문자 자료의 표현 외(20.05.12) (0) | 2020.06.17 |
PC제어프로그램 3일차 - 문자 자료의 표현 외(20.05.07) (0) | 2020.06.17 |
PC제어프로그램 3일차 - 진수의 연산, 뺄셈 (20.05.07) (0) | 2020.06.17 |