SW
[2020 정보처리기사 필기] 프로그래밍 언어 활용 (3) 본문
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() 함수 바깥쪽에 선언해야 한다.
핵심
- 프로토타입 = 함수원형 = 컴파일러에게 사용될 함수에 대한 정보를 미리 알려주는 것
'대학교 > 자격증' 카테고리의 다른 글
[2020 정보처리기사 필기] 응용 SW 기초 기술 활용 (2) (0) | 2020.08.13 |
---|---|
[2020 정보처리기사 필기] 응용 SW 기초 기술 활용 (1) (0) | 2020.08.13 |
[2020 정보처리기사 필기] 프로그래밍 언어 활용 (2) (0) | 2020.08.12 |
[2020 정보처리기사 필기] 프로그래밍 언어 활용 (1) (0) | 2020.08.11 |
[2020 정보처리기사 필기] 서버 프로그램 구현 (0) | 2020.08.10 |