본문 바로가기

CERTIFICATION/IEIP

[2-1] 프로그래밍 언어 활용

049 데이터 타입


C/JAVA 의 자료형

종류 C JAVA
문자 char(1Byte) char(2Byte)
정수 int(4Byte)
long(4Byte)
int(4Byte)
long(8Byte)
논리 bool(1Byte) boolean(1Byte)

Python의 컨테이너 객체

- 리스트(list)
    - 다양한 자료형의 값을 연속적으로 저장
    - 필요에 따라 개수를 늘리거나 줄일 수 있음

- 튜플(Tuple)
    - 리스트처럼 요소를 연속적으로 저장
    - 요소의 추가, 삭제, 변경 불가능

- 딕셔너리(Dictionary)
    - 연속된 숫자를 생성
    - 리스트, 반복문 등에서 많이 사용

050 변수


변수(Variable)

- 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간
- 변할 수 있는 값을 의미

변수명 작성 규칙

  • 영문자, 숫자, _(UNDER BAR) 사용 가능
  • 첫 글자는 영문자나 _(UNDER BAR)로 시작 (숫자 불가)
  • 공백, *, +, -, / 등의 특수 문자 사용 불가
  • 예약어를 변수명으로 사용 불가

상수의 생성(정의)

  • C언어에서 상수를 만들 때는 const 또는 #define 예약어 사용

변수의 선언

 int a = 5;        // 정수형 변수 a를 선언하고, 5로 초기화

051 연산자


산술 연산자

  • % (나머지)
    • 정수만 연산 가능
    • 실수 사용시 오류 발생
  • ++(증가), --(감소)
    • 전치 : 변수 앞에 증감 연산자가 오는 형태(++a, --a)
      먼저 변수의 값을 증감시킨 후 변수를 연산에 사용
    • 후치 : 변수 뒤에 증감 연산자가 오는 형태(a++, a--)
      먼저 변수를 연산에 사용한 수 변수의 값을 증감시킴

관계 연산자

기호 의미
== 같다
!= 같지 않다
> (왼쪽이)크다
>= (왼쪽이)크거나 같다
< (왼쪽이)작다
<= (왼쪽이)작거나 같다

비트 연산자

기호 의미
& (and) 모든 비트가 1일때만 1
^ (xor) 모든 비트가 같으면 0
하나라도 다르면 1
| (or) 모든 비트 중 한 비트라도 1이면 1
~ (not) 각 비트의 부정
0이면 1, 1이면 0
<< (왼쪽시프트) 비트를 왼쪽으로 이동
>> (오른쪽시프트) 비트를 오른쪽으로 이동

논리 연산자

기호 의미
! (not) 부정
&& (and) 모두 참이면 참
|| (or) 하나라도 참이면 참

조건 연산자

  • 조건에 따라 서로 다른 수식 수행
mx = a < b ? b : a; 
// a가 b보다 작으면 mx에 b를 저장하고, 그렇지 않으면 mx에 a를 저장

연산자 우선순위


052 데이터 입출력


scanf() 함수

  • C언어의 표준 입력 함수
  • 키보드로 입력받아 변수에 저장하는 함수
 scanf("%d %f", &i, &j);
 // 정수를 입력받아 i에 저장하고, 실수를 입력받아 j에 저장

주요 서식 문자열

  • %d : 정수형 10진수를 입출력하기 위해 지정함
  • %o : 정수형 8진수를 입출력하기 위해 지정함
  • %x : 정수형 16진수를 입출력하기 위해 지정함
  • %c : 문자를 입출력하기 위해 지정함
  • %s : 문자열을 입출력하기 위해 지정함
  • %f : 소수점을 포함하는 실수를 입출력하기 위해 지정함

printf() 함수

  • C언어의 표준 출력 함수
  • 인수로 주어진 값을 화면에 출력하는 함수
 printf("%d, %c", a, b);
 // a의 값을 정수로 출력하고 쉼표(,)와 공백 한 칸을 띄운 후, b의 값을 문자로 출력

주요 제어문자

  • \n : 커서를 다음 줄 앞으로 이동
  • \b : 커서를 왼쪽으로 한 칸 이동
  • \t : 커서를 일정 간격 띄움
  • \r : 커서를 현재 줄의 처음으로 이동
  • \0 : 널 문자 출력
  • \a : 스피커로 벨 소리 출력
  • \ : 역슬래시 출력
  • \f : 한 페이지 넘김

JAVA의 출력 함수

  • printf()
    System.out.printf("%d", r);        // r의 값을 10진수 정수로 출력

  • print()
    System.out.print(r+s);        // r과 s를 더한 값 출력

  • println()
    System.out.println(r+"은(는) 소수");    
    // r의 값과 '은(는) 소수' 출력 후 커서를 다음 줄의 처음으로 이동

기타 표준 입출력 함수

  • getchar()
    • 키보드로 한 문자를 입력받아 변수에 저장하는 함수
  • gets()
    • 키보드로 문자열을 입력받아 변수에 저장하는 함수
    • 엔터키를 누르기 전까지를 하나의 문자열로 인식하여 저장함
  • putchar()
    • 인수로 주어진 한 문자를 화면에 출력하는 함수
  • puts()
    • 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수

파일 입력 함수

  • fscanf()
    • 파일 포인터 변수가 가리키는 위치에서 데이터를 가져와 지정한 자료형으로 변수에 저장하는 함수
  • fgetc()
    • 파일로부터 한 문자를 입력받아 변수에 저장하는 함수
  • fgets()
    • 파일로부터 문자열을 입력받아 변수에 저장하는 함수
    • 엔터키를 누르기 전까지를 하나의 문자열로 인식하여 저장함

#053 제어문

단순 if문

  • 조건이 한 개일 때 사용하는 제어문
  • 조건이 참일 때만 실행하는 경우
    if(a > b)                    // a가 b보다 크면
        printf("IF문");           // IF문을 출력하고, 아니면 if문을 벗어남

  • 조건이 참일 때와 거짓일 때 실행할 문장이 다른 경우
    if(a > b)                    // a가 b보다 크면
        printf("참");           // 참을 출력하고,
    else                        // 아니면
        printf("거짓");          // 거짓을 출력

다중 if문

  • 조건이 여러 개일 때 사용하는 제어문
    if(score >= 90)                // score 값이 90 이상이면
        printf("우수");          // 우수를 출력
    else if(score < 40)            // score 값이 40 미만이면
        printf("불량");          // 불량을 출력
    else                        // score 값이 90 이상도 40 미만도 아니면
        printf("일반");          // 일반을 출력

switch문

  • 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문
  • break문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 break문 또는 switch문이 종료될 때까지 모든 문장 실행
    switch(a) {
    case 1:                        // a가 1이면
        printf("바나나");         // 바나나를 출력하고
        break;                    // switch문 탈출
    case 2:                        // a가 2면
        printf("딸기");          // 딸기를 출력하고
        break;                    // switch문 탈출
    default:                    // a가 1이나 2가 아니면
        printf("없음");          // 없음을 출력하고 switch문 탈출
    }    

054 반복문


for문

  • 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문
    for(i=1; i<=10; i++)        // 반복 변수 i가 1부터 1씩 증가하면서 10보다 작거나 같은 동안
        sum = sum + i;            // sum에 i의 값을 누적시킴

while문

  • 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문
  • 조건이 처음부터 거짓이면 한 번도 수행하지 않음
    while(i<=10)        // i가 10보다 작거나 같은 동안
        i = i + 1;        // i의 값을 1씩 누적

do~while문

  • 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문 탈출
  • 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부 결정
    do
        i = i + 1;        // i의 값을 1씩 누적
    while (i <= 10)        // i가 10보다 작거나 같은 동안

break, continue

  • switch문이나 반복문의 실행을 제어하기 위해 사용되는 예약어
  • break
    • switch문이나 반복문 안에서 break가 나오면 블록을 벗어남
  • continue
    • continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮김
    • 반복문에서만 사용

055 배열과 문자열


1차원 배열

  • 변수들을 일직선상의 개념으로 조합한 배열
    char a[3] = {'A', 'B'. 'C'};    // 3개의 요소를 갖는 문자형 배열 a 선언
a[0] a[1] a[2]
A B C

2차원 배열

  • 변수들을 평면, 즉 행과 열로 조합한 배열
    int b[2][3] = {{11, 22, 33}, {44, 55, 66}};
    // 2개의 행과 3개의 열을 갖는 정수형 배열 b 선언
a[0][0]
11
a[0][1]
22
a[0][2]
33
a[1][0]
44
a[1][1]
55
a[1][2]
66

배열 형태의 문자열 변수

  • C언어에서는 큰따옴표(" ")로 묶인 글자는 글자 수에 관계없이 문자열로 처리
  • 배열에 문자열을 저장하면 문자열의 끝을 알리기 위한 널문자('\0')가 문자열 끝에 자동 삽입
    char a[5] = "love";
    // 5개 요소를 갖는 문자형 배열 a를 선언하고, "love"로 초기화
a[0]
l
a[1]
o
a[2]
v
a[3]
e
a[4]
\0

056 포인터


포인터와 포인터 변수

  • 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙임(int *a;)
  • 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙임(a=&b;)
  • 실행문에서 포인터 변수에 간접 연산자 를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말함(c=a;)

포인터와 배열

  • 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근 가능
  • 배열 위치를 나타내는 첨자 생략 후 배열의 대표명만 지정하면 배열의 첫 번째 요소의 주소를 지정하는 것과 같음
  • 배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 & 연산자 사용
    int a[5], *b    // 5개 요소를 갖는 정수형 배열 a와 정수형 포인터변수 b 선언
    b = a;        // 배열의 대표명을 적었으므로 a 배열의 시작 주소인 a[0]의 주소를 b에 저장
    b = &a[0];    // a 배열의 첫번째 요소인 a[0]의 주소(&)를 b에 저장
a[0]
첫번째
*(a+0)
a[1]
두번째
*(a+1)
a[2]
세번째
*(a+2)
a[3]
네번째
*(a+3)
a[4]
다섯번째
*(a+4)

057 사용자 정의 함수


사용자 정의 함수

  • 사용자가 필요한 기능을 취향대로 만들어 사용하는 함수
    #include <stdio.h>
    int func(int x, int y) {
        int sum = x + y;
        return sum;
    }
    main() {
        int r = func(3, 5);
        printf("%d", r);
    }

058 Java의 클래스


Java의 클래스 활용

  • 클래스
    • 객체 생성을 위한 필드(속성)와 메소드(함수)를 정의하는 설계도
  • Java는 아무리 작은 프로그램이라도 클래스를 만들어 사용해야 함
    class ClassA {
        int a = 10;
        int funcAdd(int x, int y) {
            return x + y + a;
        }
    }
    public class Test {
        public static void main(String[] args) {
            int x = 3, y = 6, r;
            ClassA cal = new ClassA();
            r = cal.funcAdd(x,y);
            System.out.print(r);
        }
    }

059 Python 기초


Python 기본 문법

  • 변수의 자료형에 대한 선언 X
  • 변수에 연속하여 값 저장 가능
    • x, y, z = 10, 20, 30
  • if나 for와 같이 코드 블록을 포함하는 명령문을 작성할 때 코드 블록은 콜론(:)과 여백으로 구분
  • 문자열을 표현할 때 작은따옴표(''), 큰따옴표("") 모두 사용 가능
    • 문자열에 따옴표가 포함되는 경우, 다른 따옴표를 이용하여 문자열을 묶어줘야 함
    • 'She said "I like him"'

input() 함수

  • Python의 표준 입력 함수
    • 키보드로 입력받아 변수에 저장하는 함수
  • 입력되는 값은 문자열로 취급되어 저장됨
    a = input('입력하세요')
        # 입력하세요 가 출력되고 커서가 깜빡거리며 입력을 기다림
        # 키보드로 값을 입력하면 변수 a에 저장

print() 함수

  • 인수로 주어진 값을 화면에 출력하는 함수
    print(82, 24, sep ='-', end=',')
        # 82와 24 사이에 분리문자 '-' 출력, 마지막에 종료문자',' 출력

Range

  • 연속된 숫자 생성
  • 리스트, 반복문 등에서 많이 사용
    a = list(range(5))    # 0에서 4까지 연속된 숫자를 리스트 a로 저장
    b = list(range(4, 9))    # 4에서 8까지 연속된 숫자를 리스트 B로 저장
    C = list(range(1,15,3))   # 1에서 14까지 3씩 증가하는 숫자들을 리스트 c로 저장

슬라이스(Slice)

  • 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라(slicing) 반환하는 기능
    a = ['a', 'b', 'c', 'd', 'e'] 일 때,
    a[1:3] = ['b', 'c']        // 범위 : 1~2(=3-1)
    a[0:5:2] = ['a', 'c', 'e']    // 범위 : 0~4(=5-1), 간격 : 2
    a[3:] = ['d', 'e']        // 범위 : 3~마지막
    a[:3] = ['a', 'b', 'c']    // 범위 : 처음~2(=3-1)
    a[::3] = ['a', 'd']        // 범위 : 처음~마지막, 간격 : 3

060 Python 활용


  • if문
    if(a==b)                // a와 b가 같으면
        print("참");           // 참을 출력
    else                    // 아니면
        print("거짓");      // 거짓을 출력

  • for문
    for in range(1, 11):    # i에 1부터 10까지 순서대로 저장하며
        sum = sum + i        # sum에 i의 값을 누적시키는 실행문을 반복 수행
    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]     # a 리스트에 저장된 10개의 요소를
    for i in a:                # i에 순서대로 저장하며
        sum = sum + i        # i의 값을 누적시키는 실행문 반복 수행

클래스

  • 클래스를 사용하려면 클래스 이름을 정하고 객체 생성을 위한 속성과 메소드(함수)를 정의한 후 객체 선언
    class Cls;        
        x = 10        
            def add(self, a):    # add() 함수의 시작점, 5가 a를 받음
                return a + self.x    # a와 객체의 변수 x를 더한 값 10 반환
    a = Cls()        # Cls 클래스의 객체 a 생성
    a.x = 5            # 객체 a의 변수 x에 5 저장(a.x=5)
    print(a.add(5))      # 5를 인수로 a 객체의 add() 함수 호출 후 돌려받은 값 출력

061 웹 프로그래밍 언어 - HTML


목록 태그

  • <ul> : 순서 없는 목록 표시
  • <ol> : 순서 있는 목록 표시
  • <li> : 목록 내용 표시
  • <dl> : 제목 있는 목록 표시
  • <dt> : 제목 있는 목록에서 제목 형태로 표시
  • <dd> : 제목 있는 목록에서 제목의 하위 내용 표시

프레임(Frame)의 주요 태그

  • <frameset> 태그
    • 화면 분할
    • 태그 사이에는 분할할 프레임의 개수만큼 <frame> 태그 사용
  • <frmae> 태그
    • 분할된 각각의 프레임에 표시할 HTML 문서 지정
    • <frameset>으로 분할된 영역에 <frame> 태그가 적용되는 순서
      • 화면이 가로로 분할된 경우 : 위쪽 → 아래쪽
      • 화면이 세로로 분할된 경우 : 왼쪽 → 오른쪽
    • 분할된 프레임의 개수는 <frameset>의 rows 또는 cols 속성으로 알 수 있음
      • rows="20%,*" → 2개
      • cols="200,*,500" → 3개

테이블(Table) 주요 태그

  • <table> : 테이블에 관한 세부사항 설정
  • <thead> : 테이블의 머리글 부분 정의
  • <tbody> : 테이블의 본문 부분 정의
  • <tfoot> : 테이블의 바닥글 부분 정의
  • <tr> : 행 생성
  • <td> : 셀 생성
    • colspan : 가로 방향으로 셀 병합
    • rowspan : 세로 방향으로 셀 병합
  • <th> : 셀을 만들면서 제목 스타일 적용

<style> 태그

  • 서식을 지정하는 태그
    • <head> 부분에 지정하면 테이블 전체에 공통으로 적용
  • 서식 지정 형식
    요소이름:선택자 { 속성1:속성값1; 속성2:속성값2; ..., 속성n:속성값n }

  • 요소 이름 : 태그 이름에서 '<'와 '>'를 제외하고 입력
  • 선택자 : 요소 중 일부에서만 서식을 지정할 때 사용하는 옵션(생략 가능)
    • first-child : 첫 번째 요소에 적용
    • last-child : 마지막 요소에 적용
    • nth-child(N) : N번째 요소마다 적용
  • 속성:속성값 : 요소에 적용할 속성과 속성값 입력(2개 이상의 속성 지정시 세미콜론(;)으로 구분)
    • border : 외곽선 지정 속성(두께, 스타일, 색상 순)
    • border-radius : 외곽선 모서리 곡률 지정
    • background-color : 배경색 지정
    • font-weight : 글꼴의 굵기 지정
    • padding : 안쪽 여백 지정
    • margin : 바깥쪽 여백 지정
    • text-align : 정렬 방식 지정
    • letter-spacing : 글자 사이 간격(자간) 지정
    • word-spacing : 단어 사이 간격 지정

border 속성의 스타일 종류

  • solid : 실선
  • dashed : 파선
  • dotted : 점선
  • double : 이중 실선
  • none : 테두리 없음
  • hidden : 테두리 숨김

text-align 속성의 정렬 방식

  • center : 가운데 정렬
  • left : 왼쪽 정렬
  • right : 오른쪽 정렬
  • justify : 양쪽 정렬

<form> 태그

  • 사용자로부터 정보를 입력받는 틀 정의
  • 관련 속성
    • method : 데이터 전송 방식 지정
      • get : 입력받은 데이터를 URL에 첨부하여 전송
      • post : 입력받은 데이터를 메시지 형식으로 전송
    • action : 데이터를 전송할 URL 지정

기타 태그

  • <mark> : 태그 안의 내용을 형광펜으로 칠한 것처럼 표시
  • <small> : 태그 안의 내용을 일반 텍스트 크기보다 작은 크기로 표시
  • <sub> : 태그 사이에 입력된 내용을 아래첨자로 표시
  • <cite> : 태그 안의 내용을 기울림꼴 서체로 표시(책이나 음악, 영화, 그림 등 창작물의 제목 표시)
  • <link> : 외부 스타일 시트 파일 연결시 사용
  • <nav> : 다른 페이지나 현재 페이지의 다른 부분과 연결되는 링크의 집합 정의(메뉴, 목차, 인덱스 작성)

062 웹 프로그래밍 언어 - JavaScript


JavaScript 기본 문법

  • C언어 문법을 기반으로 제작된 언어
    • 제어문, 반복문 등의 함수 사용방법이 C언어와 같음
  • 변수는 자료형에 관계없이 'var' 예약어를 사용하여 선언
  • 코드 입력
    • 방법1 : <script>와 </script> 태그 사이에 코드를 직접 입력
    • 방법2 : <script> 태그 내부에 코드가 저장된 파일명(.js) 입력

대화상자

  • 알림 대화상자
    • alert(내용)
      • 대화상자 본문에 '내용' 표시, 아래쪽에 <확인> 단추 표시
  • 확인 대화상자
    • confirm(내용)
      • 대화상자 본문에 '내용' 표시, 아래쪽에 <확인>, <취소> 단추 표시
  • 입력 대화상자
    • prompt(내용, 기본값)
      • 대화상자 본문에 '내용' 표시, '내용' 아래에 '기본값'이 입력된 텍스트 상자 표시
      • 대화상자 아래쪽에 <확인>, <취소> 단추 표시

배열(Array) 주요 메서드

  • pop() : 배열의 마지막 요소 제거
  • shift() : 배열의 첫번째 요소 제거
  • unshift() : 배열의 맨 앞에 요소 추가
  • push() : 배열의 마지막에 요소 추가
  • join() : 배열의 모든 요소를 하나의 문자열로 변환
  • splice() : 배열에서 지정한 범위의 요소를 제거한 후 제거된 위치에 지정한 값 저장

063 절차적 프로그래밍 언어


C

  • 1972년 미국 벨 연구소의 데니스 리치에 의해 개발
  • 시스템 소프트웨어를 개발하기 편리 → 시스템 프로그래밍 언어로 널리 사용
  • 이식성 좋음 → 컴퓨터 기종과 관계없이 프로그램 작성 가능

ALGOL

  • 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어
  • PASCAL과 C언어의 모체

COBOL

  • 사무 처리용 언어
  • 영어 문장 형식으로 구성 → 이해 및 사용 쉬움

FORTRAN

  • 과학 기술 계산용 언어
  • 수학과 공학 분야의 공식이나 수식과 같은 형태로 프로그래밍 가능

064 객체지향 프로그래밍 언어


JAVA

  • 분산 네트워크 환경에 적용
  • 멀티스레드 기능 제공 → 여러 작업을 동시에 처리 가능
  • 운영체제 및 하드웨어에 독립적
  • 이식성이 좋음
  • 캡슐화 가능
  • 재사용성 높음

C++

  • C언어에 객체지향 개념을 적용한 언어
  • 모든 문제를 객체로 모델링하여 표현

Smaltalk

  • 1세대 객체지향 프로그래밍 언어 중 하나(순수한 객체지향 프로그래밍 언어)
  • 최초로 GUI 제공한 언어

객체(Object)

  • 데이터(속성)와 이를 처리하기 위한 연산(메소드)을 결합시킨 실체
  • 데이터 구조와 그 위에서 수행되는 연산들을 가지고 있는 소프트웨어 모듈

클래스(Class)

  • 두 개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소
  • 공통된 특성과 행위를 갖는 객체의 집합

캡슐화(Encapsulation)

  • 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것

상속(inheritance)

  • 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스가 물려받는 것

다형성(polymorphism)

  • 메시지에 의해 객체(클래스)가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체(클래스)가 가지고 있는 고유한 방법(특성)으로 응답할 수 있는 능력

065 스크립트 언어


자바스크립트

  • 웹 페이지의 동작을 제어하는데 사용되는 클라이언트용 스크립트 언어
  • 클래스 기반의 객체 상속 지원
  • 프로토타입 개념 활용 가능

PHP

  • 서버용 스크립트 언어
    • Linux, Unix, Windows 운영체제에서 사용 가능
  • C, Java 등과 문법 유사 → 배우기 쉬워 웹페이지 제작에 많이 사용

Python

  • 귀도 반 로섬(Guido van Rossum)이 발표한 대화형 인터프리터 언어
  • 객체지향 기능 지원
  • 플랫폼에 독립적
  • 문법 간단 → 배우기 쉬움

쉘 스크립트

  • 유닉스/리눅스 계열의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어
  • 컴파일 단계 X → 실행 속도가 빠름
  • 저장시 확장자로 '.sh'가 붙음
  • 쉘의 종류
    • Bash Shell, Bourne Shell, C Shell, Korn Shell 등
  • 쉘 스크립트에서 사용되는 제어문
    • 선택형 : if, case
    • 반복형 : for, while, until

Basic

  • 절차지향 기능 지원
  • 대화형 인터프리터 언어
  • 초보자도 쉽게 사용할 수 있는 문법 구조

JavaScript 프레임워크 - jQuery

  • 가장 많이 사용하는 AJAX 라이브러리
  • 웹 브라우저 간의 호환성 문제를 해결하고 명령어를 단순화한 프레임워크

066 라이브러리


라이브러리의 개념

  • 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아놓은 집합체
  • 표준 라이브러리
    • 프로그래밍 언어에 기본적으로 포함되어있는 라이브러리
    • 여러 종류의 모듈이나 패키지로 구성
  • 외부 라이브러리
    • 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것
    • 외부 라이브러리를 다운받아 설치한 후 사용

C언어의 stdio,h

  • 데이터의 입출력에 사용되는 기능들을 제공
  • 주요 함수
    • printf, scanf, fprintf, fscanf, fclose, fopen 등

C언어의 math.h

  • 수학 함수들을 제공
  • 주요 함수
    • sqrt, pow, abs 등

C언어의 string.h

  • 문자열 처리에 사용되는 기능들을 제공
  • 주요 함수
    • strlen, strcpy, strcmp 등

C언어의 stdlib.h

  • 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공
  • 주요 함수
    • atoi, atof, srand, rand, malloc, free 등

C언어의 time.h

  • 시간 처리에 사용되는 기능들을 제공
  • 주요 함수
    • time, clock 등

067 예외 처리


예외 처리의 개요

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

JAVA의 예외 처리

  • JAVA에서는 try ~ catch 문을 이용해 예외 처리
  • try 블록 코드를 수행하다 예외가 발생하면 예외를 처리하는 catch 블록으로 이동하여 예외 처리 코드를 수행
    • 예외가 발생한 이후의 코드는 실행 X
  • catch 블록에서 선언한 변수는 해당 catch 블록에서만 유효
  • try ~ catch 문 안에 또 다른 try ~ catch 문 포함 가능
  • try ~ catch 문 안에서는 실행 코드가 한 줄이라도 중괄호({}) 생략 불가

068 프로토타입


프로토타입의 개념

  • 프로그래밍 언어에서의 의미 : 함수 원형(Function Prototype)
    • 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것
  • 함수가 호출되기 전에 함수가 미리 정의되는 경우에는 프로토타입을 정의하지 않아도 됨

'CERTIFICATION > IEIP' 카테고리의 다른 글

[3-1] 데이터베이스 이해  (0) 2024.05.18
[2-2] 프로그램 구현  (0) 2024.05.18
[1-4] 정보시스템 기반 기술 용어  (0) 2024.05.17
[1-3] 테스트 및 배포  (0) 2024.05.17
[1-2] 애플리케이션 설계  (0) 2024.05.17