본문 바로가기

자동제어(PLC,PC,로봇) & 전장설계 & CNC/PC 제어

PC제어프로그램 4일차 - 프로그래밍 언어(20.05.12)

반응형

프로그래밍 언어

프로그래밍 언어란 무엇인가?

   ◆ 사람과 컴파일러(& 어셈블러)가 이해할 수 있는 약속된 형태의 언어

   ◆ 저급언어 - 컴퓨터가 이해하기 쉬운언어 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. 실행파일 생성