1. 데이터 타입
- 정수 타입(Integer Type) : 정수
- 부동 소수점 타입(Floating Pint Type) : 소수점 이하가 있는 실수 저장
- 문자 타입(Character type) : ''
- 문자열 타입(Character String type) : ""
- 불린 타입(Boolean Type) : 참, 거짓(기본값)
- 배열 타입(Array Type) : {1,2,3,4,5}
2. 변수
● 개요 : 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값
● 작성 규칙
-영문자, 숫자, _를 사용
- 첫 글자 영문자나 _로 시작, 숫자 X
- 글자 수 제한 X
- 공백, 특수문자 X
- 예약어 X
- 문장 끝 세미콜론 필수
● 기억 클래스
3. 연산자
● 산술 연산자 : +, - ,*(곱셈), /(나눗셈), %(나머지), ++(증가 연산자), --(감소 연산자)
● 관계 연산자 : 두 수의 관계를 비교하여 참 또는 거짓을 결과로 얻는 연산자
==(같다), !=(같지 않다), >(크다), >=(크거나 같다), <, <=
● 비트 연산자 : 비트별(0, 1)로 연산하여 결과를 얻는 연산자
&(AND), ^(XOR), |(OR), ~(NOT), <<(왼쪽 시프트), >>
● 논리 연산자 : 두 개의 논리 값을 연산하여 참 또는 거짓 결과로 얻는 연산자
!(NOT), &&(AND), ||(OR)
● 대입 연산자 : 연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 대입 연산자를 제공
+=, -=, *=, /=, %=, <<=, >>=
● 조건 연산자 : 조건에 따라 서로 다른 수식을 수행
조건 ? 수식1 : 수식2; = 조건의 수식이 참이면 수식1 거짓이면 수식2 진행
● 기타 연산자
- sizeof(자료형 크기 표시)
- ,(콤마)
- (자료형)
4. 제어문
● 개념 : 프로그램의 순서를 변경할 때 사용
- IF문, 다중 IF문, SWITCH문, GOTO문, 반복문
5. 반복문
● 개요 : 제어문의 한 종류로 일정한 횟수를 반복하는 명령문
- FOR, WHILE, DO~WHILE
● for문 : 초기값, 중기값, 증가값을 지정하는 수식을 이용해 정해진 횟수 반복, for( ; ; ) = 무한 반복
● while문 : 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문
- 조건이 거짓이면 끝낸 후 다음 코드 수행, 조건이 처음부터 거짓이면 한 번도 수행하지 않음
● do ~ while문 : 문장을 무조건 한 번 수행한 후 조건을 판단하여 탈출 여부 결정
● break : switch문이나 반복문 안에 break가 나오면 블록을 벗어남
● continue : continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮김, 반복문에서만 사용
6. 배열과 문자열
● 배열의 개념 : 동일한 데이터 유형을 여러 개 사용해야 할 경우 이를 손쉽게 처리하기 위해
여러 개의 변수들을 조합해서 하나의 이름으로 정의해 사용하는 것을 말함
- 개별적인 요소들의 위치는 첨자를 이용하여 저장, 대괄호 지정
- 0부터 시작
- 행 우선으로 데이터가 기억장소에 할당
- C언어에서 배열 위치 나타내는 첨자 없이 배열 이름 사용 시 배열의 첫 번째 요소의 주소를 지정
● 1차원 배열 : 일직선상의 개념으로 조합한 배열
● 2차원 배열 : 평면, 즉 행과 열로 조합
● 배열의 초기화 : 배열 선언 시 초기값 지정 가능
- 배열 크기 생략하는 경우 반드시 초기값 지정해야 함
● 배열 형태의 문자열 변수
- C언어에는 문자열을 저장하는 자료형이 없기 때문에 배열 or 포인터를 이용하여 처리
- 배열에 문자열 저장 시 문자열 끝에는 널 문자가 문자열 끝에 자동으로 삽입
- 배열 선언 시 초기값으로 지정해야 하며, 이미 선언된 배열에 문자열 저장 불가
- 널 문자까지 고려하여 배열 크기 지정
7. 포인터
● 포인터 : 변수의 주소, C언어에서는 주소를 제어할 수 있는 기능 제공
● 포인터 변수 : C언어에서 변수의 주소를 저장할 때 사용하는 변수
- 선언 시 : int *a // * = 간접 연산자
- 주소 저장 시 : a = &b // & = 번지 연산자
- 실행문에서 포인터 변수에 간접 연산자 붙이면 해당 포인터 변수가 가리키는 곳 말함 // c = *a
- 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수
- 용도 : 연결된 자료 구조 구성, 동적으로 할당된 자료 구조, 배열을 인수로 전달, 문자열 표현, 메모리에 접근, 요소 효율적 저장
● 포인터와 배열 : 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근 가능
- 첨자 생략하고 배열의 대표명만 지정 시 배열 첫 번째 주소 지정함
- 배열 요소에 대한 주소 지정 시 일반 변수와 동일하게 & 연산자 사용
8. 절차적 프로그래밍 언어
● 개요 : 일련의 처리 절차를 위해 정해진 문법에 따라 순서대로 기술해나가는 언어
- 프로그램 실행되는 절차 중시, 데이터 중심으로 프로시저 구현, 프로그램 전체가 유기적으로 연결
- 자연어에 가까운 단어와 문장
- 과학 계산, HW 제어에 주로 사용
● 절차적 프로그래밍 언어의 장단점
- 실행 속도 빠름, 같은 코드 복사하지 않고 다른 위치에서 호출하여 사용 가능
- 모듈 구성 용이, 구조적 프로그래밍 가능
- 프로그램 분석 어렵, 유지 보수 및 코드 수정 어렵
● 절차적 프로그래밍 종류 : C, ALGOL, COBOL, FORTRAN
9. 객체지향 프로그래밍 언어
● 개요 : 현실 세계의 개체를 기계의 부품처럼 객체로 만들어 조립하듯 프로그램을 작성할 수 있도록 한 프로그래밍 기법
- 프로시저 보다는 명령과 데이터로 구성된 객체 중심, 한 프로그램을 다른 프로그램에 이용 가능
● 객체지향 프로그래밍 언어 장단점
- 재사용 확장 용이, 코드 재활용성 높음, 분석 설계 쉽고 효율적 가능, 사용자 개발자 사이 이해 쉬움, 대형 PRGM 작성 용이
- 개발 및 유지보수 용이, 프로그래밍 구현 지원하는 정형화된 분석 및 설계 방법 없음, 처리 시간 지연
● 종류 : JAVA, C++, Smalltalk
● 구성 요소
- 객체 : 데이터(속성)와 연산(메소드) 결합
- 클래스 : 두 개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현
- 메시지 : 객체들 간에 상호작용하는데 사용되는 수단 객체의 메소드를 일으키는 요구 사항
● 메소드 : 연산, 동작, 함수 / 데이터 : 속성, 변수, 자료 구조
● 객체지향 프로그래밍 언어의 특징 : 캡슐화, 정보 은닉, 추상화, 상속성, 다형성
10. 스크립트 언어
● 개요 : HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것
- 기계어로 컴파일 되지 않고 별도의 번역기 소스를 분석하여 동작하는 언어
- DB 처리 작업 수행 위해 주로 사용
- 클라이언트 스크립트 언어 : 클라이언트 웹 브라우저에서 해석되어 실행 ex) ASP, JSP, PHP, 파이썬
- 서버용 스크립트 언어 : 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄 ex) 자바 스크립트
● 장단점
- 결과 바로 확인 가능, 배우고 코딩 쉬움, 개발 시간 짧음, 쉽고 빠르게 수정 가능
- 느림, 오류 많이 발생
● 종류 : 자바 스크립트, ASP, JSP, PHP, 파이썬(대화형 인터프리터 언어)
11. 선언형 언어
: 프로그램이 수행해야 할 문제를 기술하는 언어 <-> 명령형 언어 : 문제를 해결하기 위한 방법 기술
- 목표 명시, 알고리즘 명시 X
- 함수형 언어 : 수학적 함수 조합하여 문제 해결, 알려진 값 함수에 적용, 적용형 언어, 재귀호출 병렬처리 유리 ex) LISP
- 논리형 언어 : 기호 논리학 기반, 논리 문장 이용, 선언적 언어, 비절차적 언어 ex) PROLOG
● 명령형 언어 : 폰 노이만 구조 기초, 목표 명시 X, 알고리즘 명시, 개체의 동작과 상태 중시, 절차적 언어, 객체지향 언어
ex) C, JAVA, COBOL, FORTRAN
● 선언형 언어 장단점 : 가독성 재사용성 좋음, 오류 적음, 동작 변경하지 않고 관련 값 대체 가능
● 종류 : HTML, LISP, PROLOG, XML, Haskell
12. 라이브러리
● 개념 : 프로그램을 효율적으로 개발할 수 있도록 자주 사용 함수나 데이터들 미리 만들어 모아 놓은 집합체
- 필요할 때 언제든지 호출 가능
- 표준 라이브러리 : 기본적으로 포함되어 있는 라이브러리, 여러 종류의 모듈, 패키지 형태
- 외부 라이브러리 : 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것
● C언어의 대표적인 표준 라이브러리
- stdio.h(데이터 입출력), math.h(수학 함수), string.h(문자열 처리), stdlib.h(자료형 변환, 난수 발생, 메모리 할당),
time.h(시간 처리)
● JAVA의 대표적인 표준 라이브러리
- java.lang(인터페이스, 자료형, 예외 처리), java.util(날짜 처리, 난수 발생, 복잡한 문자열 처리)
- java.io(파일 입출력), java,net(네트워크 관련 기능), java.awt(사용자 인터페이스)
13. 데이터 입 출력
● scanf() : C언어의 표준 입력 함수, scanf("%3d", &a);
● printf() : C언어의 표준 출력 함수, printf("%d", a);
● 기타 표준 입출력 함수
- 입력 : getchar(한 문자), gets(문자열) // 서식 문자열 사용 불가
- 출력 : putchar(한 문자), puts(문자열) // 이하동문
14. 예외 처리
● 개요: 프로그램의 정상적인 실행 방해하는 조건이나 상태를 예외라 하는데
이러한 문제에 대비해 작성해 놓은 처리 루틴 수행하는 것
- 일반적인 처리 루틴은 프로그램 종료나 로그를 남기는 것
- C++, Ada, JAVA, 자바 스크립트에는 예외 처리 기능 내장, 그 외 언어 필요한 경우 조건문 사용
● JAVA의 예외 처리 : 예외를 객체로 취급, java.lang 패키지에서 제공, try ~ catch 문 이용해 예외 처리 => finally로 이동
15. 프로토타입
● 개념 : 함수 원형이라는 의미, 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것
- 함수가 호출되기 전 함수가 미리 정의되는 경우 프로토타입 정의하지 않아도 됨
- 본문이 없다는 점 제외하고 함수 정의와 형태가 동일
- 정의된 반환 형식은 함수 정의에 지정된 반환 형식과 반드시 일치
● C언어에서의 프로토타입 선언
- 예 1과 같이 main() 함수가 시작되기 전 함수를 정의한 경우 프로토타입 선언 안 해도 되지만
예 2와 같이 main() 함수가 시작된 후에 함수를 정의한 경우에는 main() 함수 전에 사용될 함수에 대한 프로토타입을 선언해야 함
정보처리기사 5과목 정보시스템 구축 관리 - 1장 소프트웨어 개발 방법론 활용 요점 정리 (0) | 2020.06.05 |
---|---|
정보처리기사 4과목 프로그래밍 언어 활용 - 3장 응용 SW 기초 기술 활용 요점 정리 (0) | 2020.06.05 |
정보처리기사 4과목 프로그래밍 언어 활용 - 1장 서버 프로그램 구현 요점 정리 (0) | 2020.06.05 |
정보처리기사 3과목 데이터베이스 구축 - 5장 데이터 전환 요점 정리 (0) | 2020.06.04 |
정보처리기사 3과목 데이터베이스 구축 - 4장 SQL 활용 요점 정리 (0) | 2020.06.04 |
댓글 영역