AngelPlayer`s Diary


해당 포스트는 제가 정보처리기사를 준비하면서 공부한 내용을 요약한 문서입니다.

요약한 내용은 대체적으로 이전 기출문제를 풀기 위해서 알아야 할 중요한 개념 중심으로 정리하였습니다.

일부 임의로 요약한 내용이나 암기를 쉽게 하기 위해서 개념이 조금 틀리지만 수정한 내용이 있을 수 있습니다.

각 개인마다 공부 방식이 다르니 해당 포스트의 내용을 무조건 맹신하기보다는 참고하시는 방법을 권장 드립니다. 

오늘도 공부하시느라 애쓰시는 모든 분들에게 좋은 결과가 있으시길 바랍니다.


(해당 포스트는 시나공, 수제비 정보처리기사 실기 책을 참고하여 작성하였습니다.)

(포스트 내용을 개인 공부를 위해서 로컬 저장소에 저장하는 것은 가능하나,

내용을 그대로 복사하여 다른 곳에 재업로드하는 것은 자제해주시면 감사하겠습니다.)

 

 

 

※ 코딩이 처음이시거나 코딩에 익숙치 않으신 분(비전공자)께서는 실기 책의 해설을 참고하셔서 코드가 정확히 어떤 순서로 흘러가는지를 숙지하여야 해당 파트에서 점수를 획득할 수 있습니다.

아래 내용은 코딩에 대한 개념이 어느정도 잡히신 분들께서 시험장에 갔을 때 헷갈릴만한 부분만 정리 요약하였습니다.

 

 

 

Coding

헝가리안 표기법 : 변수명 작성 시 자료형을 의미하는 문자를 포함하여 변수명 작성

우선 순위 순서 : * + << < <= == & && 비교

&(and) ^(xor) |(or) 순서

~ : not (2의 보수 : 음수로 바꾸고 -1을 더함)

 

숫자 앞에 0이 붙으면 8진수, 0x가 붙으면 16진수

 

%8.4s // 8자리 확보 후 4자리 글자 출력 -> 왼쪽 4칸은 공백

%.3f // 소수점 아래 세자리

 

포인터 개념

int *b = &a; // 주소를 저장하는 공간

b = &a; // a의 주소를 b에 저장하겠음

*b = *b + 20; // a = a + 20;과 동일함

포인터 변수는 주소를 가지고 있음 (b)

포인터 변수에 *를 붙이면 주소가 가르치는 값을 가리킴 (*b)

 

*(문자열+변수) // 문자열의 변수 위치 문자 하나만 출력

문자열+변수 // 문자열의 변수 위치부터 끝까지

 

포인터 활용 (매우 중요) -> 자세한 내용은 시나공 교제 참고

char *angel; // 주소를 저장하는 공간

char player = "KOREA";

angel = &player; // 포인터 변수(angel)에 변수의 주소(player의 주소)를 저장함

angel // 문자열 출력

angel+3 // 문자열의 3번째(0, 1, 2 제외)부터 끝까지

*angel // 시작 문자 하나 출력

*(angel+3) // 3번째 문자

*angel+2 // 시작 문자열에서 두 번째 뒤에 있는 문자 // 값에다가 2를 더했으니까

 

구조체 : 자료의 종류가 다른 변수의 모임

 

구조체 선언

struct 구조체명 변수명, *포인터_변수명; // 구조체 변수 선언

struct 구조체명 변수명; struct 구조체명 포인터_변수명; // 위와 같음

 

구조체 멤버 지정

변수명.멤버명 = “입력값”; // 일반 변수로 멤버 접근

포인터_변수명->멤버명 = “입력값”; // 포인터 변수로 멤버 접근

*(포인터_변수명).멤버명; // 포인터 변수로 일반 변수처럼 접근

 

switch case 문에서 break가 없다면 만족하는 조건 이후에 나오는 모든 switch문이 실행됨

 

Python 개념

a[1][:-3] # 첫 번째 요소의 처음부터 -3까지

a[1][-3:] # 첫 번째 요소의 -3부터 끝까지

 

a.update( { 'a', 'b' } ) # set 자료형 a에 요소를 추가하되, 이미 있는 경우는 생략함

# set은 순서 없음, 중복 없음

# set 사용 함수 add(), update(), remove()

파이썬 set은 중괄호로 출력됨, 입력도 중괄호 : { }

 

range(1, 3) # == 1, 2


SQL

create table 테이블(

속성 타입,

primary key(속성),

foreign key(속성) references 테이블(속성) on update casecade,

constraint 조건명 check(조건)

);

 

create view (속성, 속성) as select 속성, 속성 from 테이블 where 조건;

create index 인덱스 on 테이블(속성 asc);

 

alter table 테이블 add 속성 타입;

alter table 테이블 alter 속성 타입;

alter table 테이블 delete column 속성;

 

drop table 테이블명 cascade;

drop table 테이블명 restrict;

 

grant 권한 on 테이블 to 사용자 with grant option;

revoke 권한 on 테이블 from 사용자 cascade;

 

commit; // 수행한 내용 db에 반영

savepoint 포인트;

rollback to 포인트;

 

insert into 테이블(속성, 속성) values(데이터, 데이터);

delete from 테이블 where 조건;

update 테이블 set 속성=‘’ where 조건;

 

select 속성 from 테이블 where 조건;

select 속성 from 테이블 order by 속성 desc;

select 속성 from 테이블 group by 속성 having 조건;

- count(*), sum(속성), avg(속성), max(속성), min(속성)

select 속성 from 테이블 group by rollup(속성, 속성);

select 속성 from 테이블 group by cube(속성, 속성);

 

union() / union all(전체 합) / intersect() / except()

is null / is not null

 

~ from 테이블, 테이블 where 조건;

~ from 테이블 natural join 테이블;

~ from 테이블 join 테이블 using(속성);

~ from 테이블 left outer join 테이블 on 조건;

~ from 테이블 left join 테이블 on 조건;


select ~ from ~ where ~

order by 속성 asc, 속성 desc;

group by 속성 having 조건;

group by rollup(속성1, 속성2);

group by cube(속성1, 속성2);

 

inner join

select 속성 from 테이블1, 테이블2 where 조건;

select 속성 from 테이블1 natural join 테이블2;

select 속성 from 테이블1 join 테이블2 using(속성);

 

outer join : 조건에 맞지 않는 튜플도 출력

select 속성, from 테이블1 left outer join 테이블2 on 조건;

 

where 학년 in (3, 4); // 학년 값이 3이나 4인 경우

where A like B; // AB가 동일한 경우

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band