본문 바로가기

정보처리기사

[정보처리기사] 실기 노트 - 프로그래밍 언어 활용 1

  1. 데이터 입출력
    1. 헝가리안 표기법 (Hungarian Notation): 변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법
    2. 데이터 타입 (Data Type)
      1. 데이터 타입: 정수타입 (Integer Type), 부동 소수점 타입 (Floating Point Type), 문자 타입 (Character Type), 문자열 타입 (Character String Type), 불린 타입 (Boolean Type), 배열 타입 (Array Type)
      2. C/C++ 의 데이터 타입 크기 및 기억 범위
        1. 문자
          1. 데이터 타입: char
            1. 크기: 1Byte
            2. 기억 범위: -128 ~ 127
        2. 부호없는 문자형
          1. 데이터 타입: unsigned char
            1. 크기: 1Byte
            2. 기억 범위: 0 ~ 255
        3. 정수
          1. 데이터 타입: short
            1. 크기: 2Byte
            2. 기억 범위: -32,768 ~ 32,767
          2. 데이터 타입: int
            1. 크기: 4Byte
            2. 기억 범위: -2,147,483,648 ~ 2,147,483,647
          3. 데이터 타입: long
            1. 크기: 4Byte
            2. 기억 범위: -2,147,483,648 ~ 2,147,483,647
          4. 데이터 타입: long long
            1. 크기: 8Byte
            2. 기억 범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
        4. 부호없는 정수형
          1. 데이터 타입: unsigned short
            1. 크기: 2Byte
            2. 기억 범위: 0 ~ 65,535
          2. 데이터 타입: unsigned int
            1. 크기: 4Byte
            2. 기억 범위: 0 ~ 4,294,967,295
          3. 데이터 타입: unsigned long
            1. 크기: 4Byte
            2. 기억 범위: 0 ~ 4,294,967,295
        5. 실수
          1. 데이터 타입: float
            1. 크기: 4Byte
            2. 기억 범위: 1.2 x 10^-38 ~ 3.4 x 10^38
          2. 데이터 타입: double
            1. 크기: 8Byte
            2. 기억 범위: 2.2 x 10^-308 ~ 1.8 x 10^308
          3. 데이터 타입: long double
            1. 크기: 8Byte
            2. 기억 범위: 2.2 x 10^-308 ~ 1.8 x 10^308
      3. JAVA의 데이터 타입 크기 및 기억 범위
        1. 문자
          1. 데이터 타입: char
            1. 크기: 2Byte
            2. 기억 범위: 0 ~ 65,535
        2. 정수
          1. 데이터 타입: byte
            1. 크기: 1Byte
            2. 기억 범위: -128 ~ 127
          2. 데이터 타입: short
            1. 크기: 2Byte
            2. 기억 범위: -32,768 ~ 32,767
          3. 데이터 타입: int
            1. 크기: 4Byte
            2. 기억 범위: -2,147,483,648 ~ 2,147,483,647
          4. 데이터 타입: long
            1. 크기: 8Byte
            2. 기억 범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
        3. 실수
          1. 데이터 타입: float
            1. 크기: 4Byte
            2. 기억 범위: 1.4 x 10^-45 ~ 3.4 x 10^38
          2. 데이터 타입: double
            1. 크기: 8Byte
            2. 기억 범위: 4.9 x 10^-324 ~ 1.8 x 10^308
        4. 논리
          1. 데이터 타입: boolean
            1. 크기: 1Byte
            2. 기억 범위: true 또는 false
      4. Python 의 데이터 타입 크기 및 기억 범위
        1. 문자
          1. 데이터 타입: char
            1. 크기: 무제한
            2. 기억 범위: 무제한
        2. 정수
          1. 데이터 타입: int
            1. 크기: 무제한
            2. 기억 범위: 무제한
        3. 실수
          1. 데이터 타입: float
            1. 크기: 8Byte
            2. 기억 범위: 4.9 x 10^-324 ~ 1.8 x 10^308
          2. 데이터 타입: short
            1. 크기: 8Byte
            2. 기억 범위: 4.9 x 10^-324 ~ 1.8 x 10^308
    3. 연산자와 우선순위
      1. 단항 연산자
        1. 단항 연산자
          1. 연산자 종류: !(논리 not), ~(비트 not), ++(증가), --(감소), sizeof(기타)
          2. 결합 규칙: <- (우항에서 좌항으로)
          3. 우선 순위: 1순위
      2. 이항  연산자
        1. 산술 연산자
          1. 연산자 종류: *, /, %(나머지), +, -
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 2순위
        2. 시프트 연산자
          1. 연산자 종류: <<, >>
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 3순위
        3. 관계 연산자
          1. 연산자 종류: <, <=, >=, >, ==(같다), !=(같지 않다)
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 4순위
        4. 비트 연산자
          1. 연산자 종류: & (비트 and), ^ (비트 xor), | (비트 or)
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 5순위
        5. 논리 연산자
          1. 연산자 종류: && (논리 and), || (논리 or)
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 6순위
      3. 삼항 연산자
        1. 조건 연산자
          1. 연산자 종류: ?, :
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 7순위
      4. 대입 연산자
        1. 대입 연산자
          1. 연산자 종류: =, +=, -=, *=, /=, %=, <<=, >>= 등
          2. 결합 규칙: <- (우항에서 좌항으로)
          3. 우선순위: 8순위
      5. 순서 연산자
        1. 순서 연산자
          1. 연산자 종류: ,
          2. 결합 규칙: -> (좌항에서 우항으로)
          3. 우선순위: 9순위
    4. C언어의 표준 입출력 함수의 개요
      1. scanf () 함수: C언어의 표준 입력함수로, 키보드로 입력받아 변수에 저장하는 함수
        1. 형식
          1. scanf (서식문자열, 변수의 주소);
        2. 서식 문자열
          1. %d: 정수형 10진수를 입출력하기 위해 지정함
          2. %u: 부호없는 정수형 10진수를 입출력하기 위해 지정함
          3. %o: 정수형 8진수를 입출력하기 위해 지정함
          4. %x: 정수형 16진수를 입출력하기 위해 지정함
          5. %c: 문자를 입출력하기 위해 지정함
          6. %s: 문자열을 입출력하기 위해 지정함
          7. %f: 소수점을 포함하는 실수를 입출력하기 위해 지정함
          8. %e: 지수형 실수를 입출력하기 위해 지정함
          9. %ld: long형 10진수를 입출력하기 위해 지정함
          10. %lo: long형 8진수를 입출력하기 위해 지정함
          11. %lx: long형 16진수를 입출력하기 위해 지정함
          12. %p: 주소를 16진수로 입출력하기 위해 지정함
      2. printf () 함수: C언어의 표준 출력 함수로, 인수로 주어진 값을 화면에 출력하는 함수
        1. 형식
          1. printf (서식문자열, 변수);
        2. 주요 제어문자
          1. \n (new line): 커서를 다음 줄 앞으로 이동한다.
          2. \b (backspace): 커서를 왼쪽으로 한 칸 이동한다.
          3. \t (tab): 커서를 일정 간격 띄운다.
          4. \r (carrage return): 커서를 현재 줄의 처음으로 이동한다.
          5. \0 (null): 널 문자를 출력한다.
          6. \' (single quote): 작은 따옴표를 출력한다.
          7. \" (double quote): 큰 따옴표를 출력한다.
          8. \a (alert): 스피커로 벨 소리를 출력한다.
          9. \\ (backslash): 역 슬래시를 출력한다.
          10. \f (form feed): 한 페이지를 넘긴다.
    5. JAVA의 표준 출력
      1. JAVA에서 값을 화면에 출력할 때는 System클래스의 서브 클래스인 out 클래스의 메소드 print (), println (), printf () 등을 사용하여 출력함
      2. 형식 1: 서식 문자열에 맞게 변수의 내용을 출력
        1. System.out.printf (서식문자열, 변수);
      3. 형식 2: 값이나 변수의 내용을 형식 없이 출력
        1. System.out.print ();
      4. 형식 3: 값이나 변수의 내용을 형식 없이 출력한 후 커서를 다음 줄의 처음으로 이동함
        1. System.out.println ();
  2. 제어문
    1. 단순 IF 문
      1. if 문: 조건에 따라 실행할 문장을 달리하는 제어문이며, 단순 IF문은 조건이 한 개일 때 사용하는 제어문
      2. 형식 1: 조건이 참일 때만 실행
        1. if (조건) 실행할 문장;
        2. if (조건) { 실행할 문장1; 실행할 문장2; ... }
      3. 형식 2
        1. if (조건) 실행할 문장1;
        2. else 실행할 문장2;
    2. 다중 IF 문: 조건이 여러 개 일 때 사용하는 제어문 또는 if문 안에 if문이 포함된 경우
      1. if (조건1)
            실행할 문장1;
        else if (조건2)
            실행할 문장2;
        else if (조건3)
            실행할 문장3;
        ...
        else
            실행할 문장4;
    3. switch문: 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문
      switch (수식)
      {
          case 레이블1:
              실행할 문장1;
               break;
          case 레이블2:
              실행할 문장2;
              break;
          ...
          default:
              실행할 문장3;
      }
    4. goto 문
    5. 반복문: 제어문과 한 종류로 일정한 횟수를 반복하는 명령문
      1. for문
        for (식1; 식2; 식3)
            실행할 문장;
      2. while문
        while (조건)
            실행할 문장;
      3. do while문
        do {
            실행할 문장;
        } while (조건);
      4. break, continue
        1. break; switch 문이나 반복문 안에서 break가 나오면 블록을 벗어남
        2. continue: continue 문 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮김