관리 메뉴

SW

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (3) 본문

대학교/자격증

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (3)

SWKo 2020. 8. 12. 01:51

136. 선언형 언어

1. 선언형 언어

- 선언형 언어는 명령형 언어(절차적언어(C), 객체지향언어(JAVA))와 반대되는 개념의 언어로, 명령형 언어가 문제를 해결하기 위한 방법을 기술한다면 선언형 언어는 프로그램이 수행해야 하는 문제를 기술하는 언어이다.

- 선언형 언어는 목표를 명시하고 알고리즘은 명시하지 않는다.

- 선언형 언어에는 함수형 언어논리형 언어 등이 있다.

- 함수형 언어 : 수학적 함수를 조합하여 문제를 해결하는 언어, LISP

- 논리형 언어 : 기호 논리학에 기반을 둔 언어, PROLOG

 

2. 선언형 언어의 장단점

- 가독성이나 재사용성이 좋다.

- 작동 순서를 구체적으로 작성하지 않아 오류가 적다.

- 프로그램 동작을 변경하지 않고도 관련 값을 대체할 수 있다.

 

3. 선언형 프로그래밍 언어 종류

- HTML : 인터넷 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어

- LISP : 인공지능 분야에 사용되는 언어

- PROLOG : 논리학을 기초로 한 고급 언어

- XML : 기존 HTML의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어이다.

- Haskell : 함수형 프로그래밍 언어로 부작용이 없다.

 

핵심

- 명령형 : 절차적 언어(C), 객체지향 언어(JAVA)

- 선언형 : 함수형 언어(LISP), 논리형 언어(PROLOG)


137. 라이브러리

1. 라이브러리의 개념

- 라이브러리는 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체이다.

- 표준 라이브러리 : 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리로, 여러 종류의 모듈이나 패키지 형태이다.

- 외부 라이브러리 : 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것으로, 외부 라이브러리를 다운받아 설치한 후 사용한다.

 

2. C언어의 대표적인 표준 라이브러리

- include 문을 이용해 선언한 후 사용해야 한다.

- stdio.h : 데이터 입출력에 사용되는 기능들을 제공한다.printf, scanf, fprintf 등

- math.h : 수학 함수들을 제공한다. sqrt, pow, abs 등

- string.h : 문자열 처리에 사용되는 기능들을 제공한다. strlen, strcpy, strcmp 등

- stdlib.h : 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공한다. atio, atof, srand, rand, malloc, free 등

- time.h : 시간 처리에 사용되는 기능들을 제공한다. time, clock 등

 

3. JAVA의 대표적인 표준 라이브러리

- JAVA는 라이브러리를 패키지에 포함하여 제공하는데, 각 패키지에 JAVA 응용 프로그램 개발에 필요한 메소드들이 클래스로 정리되어 있다.

- 'import java.util'과 같이 import문을 이용해 선언한 후 사용해야 한다.

- import로 선언된 패키지 안에 있는 클래스의 메소드를 사용할 때는 클래스와 메소드를 마침표(.)로 구분하여 'Math.abs()'와 같이 사용한다.

- java.lang : 자바에 기본적으로 필요한 인터페이스, 자료형, 예외 처리 등에 관련된 기능을 제공하고 import없이 사용 가능하다, String, System, Process, Runtime, Error 등

- java.util : 날짜 처리, 난수 발생, 문자열 처리 등, Date, Calendar, Random, StringTokenizer

- java.io : 파일 입출력과 관련된 기능 및 프로토콜을 제공한다, InputStream, OutputStream, Reader, Writer 등

- java.net : 네트워크 관련된 기능을 제공한다. Socket, URL, InterAddress 등

- java.awt : 사용자 인터페이스(UI)와 관련된 기능을 제공한다. Frame, Panel, Dialog, Button, Checkbox 등

 

핵심

- 표준 라이브러리: 기본적으로 포함, 외부 라이브러리 : 개발자들이 만들어 공유

- C와 JAVA의 대표 라이브러리


138. 데이터 입출력

1. C언어의 표준 입출력 함수의 개요

- 표준 입출력 함수란 키보드로 입력받아 화면으로 출력할 때 사용하는 함수로, scanf(), getchar(), gets(), printf(), putchar(), puts() 등이 있다.

 

2. scanf() 함수

- 키보드로 입력받아 변수에 저장하는 함수

- 입력받을 데이터의 자료형, 자릿수 등을 지정할 수 있다.

- 한 번에 여러 개의 데이터 입력 받기 가능

- 서식 문자열과 변수의 자료형은 일치해야 한다.

- scanf("%3d", &a); -> 입력 자릿수를 3자리로 지정

- %d(10진수), %u(부호없는 10진수), %o(8진수), %x(16진수), %c(문자), %s(문자열), %f(실수), %e(지수), %ld(long형 10진수), %lo(long형 8진수), %lx(long형 16진수), %p(주소)

 

3. printf() 함수

- 인수로 주어진 값을 화면에 출력하는 함수

- printf("-8.2f", 200.2); -> 200.20vv(v는 빈칸)

% : 서식 문자임을 지정

- : 왼쪽부터 출력

8 : 출력 자릿수를 8자리로 지정

2 : 소수점 이하를 2자리로 지정

f : 실수로 출력

- 주요 제어문자

\n -> new line

\b -> backspace

\t -> tab

\r -> carriage return(커서를 현재 줄의 처음으로 이동한다.)

\0 -> null

\a -> alert(스피커로 벨소리를 출력한다.)

\\ -> backslash(역 슬래시를 출력한다.)

\f -> form feed(한 페이지를 넘긴다.)

 

4. 기타 표준 입출력 함수

- getchar() : 키보드로 한 문자를 입력받아 변수에 저장하는 함수

- gets() : 키보드로 문자열을 입력받아 변수에 저장하는 함수로, Enter를 누르기 전까지를 하나의 문자열로 인식하여 저장함

- putchar() : 인수로 주어진 한 문자를 화면에 출력하는 함수

- puts() : 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수

 

핵심

- printf 출력 

- 주요 제어문자

- 기타 표준 입출력 함수: 입력(getchar(), gets()), 출력(putchar(), puts())


139. 예외 처리

1. 예외 처리의 개요

- 프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외라고 하며, 이러한 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴을 수행하도록 하는 것을 예외 처리(Exception Handling)이라고 한다.

- C++, Java, 자바스크립트와 같은 언어에는 예외 처리 기능이 내장되어 있으며, 그 외의 언어에서는 필요한 경우 조건문을 이용해 예외 처리 루틴을 작성한다.

 

2. JAVA의 예외 처리

- JAVA는 예외를 객체로 취급하며, 예외와 관련된 클래스를 java.lang 패키지에서 제공한다.

- JAVA에서는 try~catch 문을 이용해 예외를 처리한다.

- 예외가 발생하면 예외가 발생한 이후의 코드는 실행되지 않는다.

- catch 블록에서 선언한 변수는 catch 블록에서만 유효하다.

- 실행코드가 한 줄이라도 중괄호를 생략할 수 없다.

 

3. JAVA의 중 예외 객체

- ClassNotFoundException, NoSuchMethodException, FileNotFoundException 등

 

핵심

- 예외가 발생하면 예외가 발생한 이후의 코드는 실행되지 않는다.


140. 프로토타입

1. 프로토타입의 개념

- 프로그래밍 언어에서 프로토타입이란 함수 원형(Function Prototype)이라는 의미로, 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것이다.

- 함수가 호출되기 전에 함수가 미리 정의되면 프로토타입을 정의하지 않아도 된다.

- 프로토타입은 본문이 없다는 점을 제외하고 함수 정의와 형태가 동일하다.

- 프로토타입에 정의된 반환 형식은 함수 정의에 지정된 반환 형식반드시 일치해야 한다.

 

2. C언어에서의 프로토타입 선언

- C언어에서 프로토타입은 main() 함수 바깥쪽에 선언해야 한다.

 

핵심

- 프로토타입 = 함수원형 = 컴파일러에게 사용될 함수에 대한 정보를 미리 알려주는 것

Comments