[정처기 필기] 4과목 : 프로그래밍 언어 활용 기출 문제 모음 및 풀이 (24년도~20년도)
1. UNIX에서 새로운 프로세스를 생성하는 명령어는?
① Is
② cat
③ fork
④ chmod
- ls : 현재 디렉터리 내의 모든 파일을 표시한다.
- cat : 파일의 내용을 화면에 표시한다.
- fork : 새로운 프로세스를 생성한다.
- chmod : 파일의 사용 권한을 지정한다.
2. Java 프로그래밍 언어의 정수 데이터 타입 중 ‘long’의 크기는?
① 1byte
② 2byte
③ 4byte
④ 8byte
Java 정수 데이터 타입
- byte : 1Byte
- short : 2Byte
- int : 4Byte
- long : 8Byte
3. 다음 JAVA 프로그램이 실행 되었을 때의 결과는?
public class ovr {
public static void main(String[] args) {
int a = 1, b = 2, c = 3, d = 4;
int mx, mn;
mx = a < b ? b : a;
if(mx == 1) {
mn = a > mx ? b : a;
} else {
mn = b < mx ? d : c;
}
System.out.println(mn);
}
}
① 1
② 2
③ 3
④ 4
mx : 2
4. 소규모 네트워트인 LAN과 LAN 간의 인터네트워킹 연결 장치로 제 2계층에서 동작하는 장비는?
① 리피터
② 브리지
③ L4스위치
④ 허브
LAN과 LAN을 브리지로 이어준다
5. 파일 디스크립터(File Descriptor)에 대한 설명으로 틀린 것은?
① 파일 관리를 위해 시스템이 필요로 하는 정보를 가지고 있다.
② 보조기억장치에 저장되어 있다가 파일이 개방(open)되면 주기억장치로 이동된다.
③ 사용자가 파일 디스크립터를 직접 참조할 수 있다.
④ 파일 제어 블록(File Control Block)이라고도 한다.
사용자는 간접적으로 파일에 접근한다.
6. 다음 파이썬으로 구현되는 프로그램을 실행하여 ‘12a34’를 입력한 경우의 실행 결과로 옳은 것은?
a, b = map(int, input('문자열 입력 : ').split('a'))
print(a, b)

split 함수 : string을 delimiter를 기준으로 분리한 후 분리된 각 부분을 원소로 가지는 리스트를 반환한다.
7. 다음 Java 코드를 실행한 결과는?
int x=1, y=6;
while (y--) {
x++;
}
System.out.println("x=" x+"y=" y);
① x=7 y=0
② x=6 y=-1
③ x=7 y=-1
④ Unresolved compilation problem 오류 발생
while문의 조건식 부분에 입력된 ‘y--’는 참이나 거짓을 판단하는 조건식이 아니기 때문에 오류가 발생한다.
8. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?
a = 0
b = 0
def func1():
a = 10
b = a
return b
def func2():
global a
b = a
return b
a = 20
b = 20
print(func1())
print(func2())
a = a + 20
b = b + 20
print(func1())
print(func2())
①
10
20
10
40
②
10
20
10
20
③
20
20
10
40
④
20
20
40
40
9. 10.0.0.0 네트워크 전체에서 마스크값으로 255.240.0.0을 사용할 경우 유효한 서브넷 ID는?
① 10.240.0.0
② 10.0.0.32
③ 10.1.16.3
④ 10.29.240.0
서브넷 마스크
- 현재 사용중인 네트워크의 범위를 설정하는 것이다.
해설
255.240.0.0 을 이진수로 변환하면, 11111111. 11110000. 00000000. 00000000이다.
IP주소의 한 옥텟은 8개의 bit으로 이루어져 있고, 8개의 비트로 표현할 수 있는 숫자는 0부터 255까지 총 256(2^8개)이다.
2번째 옥텟이 1111000이므로, 앞의 4개의 1은 네트워크 부분, 뒤의 4개의 0은 호스트 부분이다.
여기서 호스트 부분인 4개의 0비트가 가질 수 있는 경우의 수가 서브넷의 블록 크기를 결정한다.
이는 2^4 = 16개이다.
따라서 256(전체 옥텟의 주소 개수) - (서브넷 마스크의 옥텟 값) = 16(서브넷 블록의 크기)
즉, 유효한 서브넷 ID의 두 번째 옥텟은 0,16,32, ... , 240까지의 16의 배수가 되어야 한다.
10. 다음과 같은 프로세스가 차례로 큐에 도착하였을 때, SJF(Shortest Job First) 정책을 사용할 경우 가장 먼저 처리되는 작업은?

① P1
② P2
③ P3
④ P4
SJF(Shortest Job First)
- 비선점 스케줄링 기법의 일종이다.
- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 스케줄링 기법이다.
11. 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수는?
페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 5, 1
① 6회
② 7회
③ 8회
④ 9회
12. 다음 JAVA 프로그램의 결과 값은?
class TestClass {
int func(int a, int b) {
return a + b;
}
int func(int a, int b, int c) {
return a - b;
}
int func(int[] c) {
int s = 0;
for (int i = 0; i < c.length; i++) {
s += c[i];
}
return s;
}
void exe(int[] arr) {
System.out.println(func(func(5, 5), 5, func(arr)));
}
}
public class Test {
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 5};
TestClass t = new TestClass();
t.exe(a);
}
}
① 5
② 10
③ 15
④ 20
13. 리눅스에서 생성된 파일 권한이 644일 경우 umask 값은?
① 022
② 666
③ 777
④ 755
umask
- 파일이나 디렉터리 생성 시 초기 접근권한을 설정할 때 사용한다.
- 초기 파일의 권한은 666이고 디렉터리는 777 이며 여기에 umask 값을 빼서 초기 파일 권한을 설정할 수 있다.
- 파일 초기권한 666 – ? = 644
14. SSH(Secure Shell)에 대한 설명으로 틀린 것은?
① SSH의 기본 네트워크 포트는 220번을 사용한다.
② 전송되는 데이터는 암호화 된다.
③ 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.
④ 서로 연결되어 있는 컴퓨터 간 원격 명령실행이나 셀 서비스 등을 수행한다.
SSH의 기본 네트워크 포트는 22번을 사용한다.
15. 교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?
① Detection
② Avoidance
③ Recovery
④ Prevention
교착상태의 해결 방법
예방(Prevention) 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법 회피(Avoidance) 교착상태 발생 가능성을 인정하고 교착상태가 발생하려고 할 때, 교착상태 가능성을 피해가는 방법
은행가 알고리즘(Banker's Algorithm)을 사용발견(Detection) 교착상태가 발생했는지 검사하여 교착상태에 빠진 프로세스와 자원을 발견하는 방법 회복(Recovery) 교착상태에 빠진 프로세스를 종료하거나
해당 프로세스가 점유하고 있는 자원을 선점하여 다른 프로세스에게 할당하는 기법
16. UDP 특성에 해당되는 것은?
① 데이터 전송 후, ACK를 받는다.
② 송신 중에 링크를 유지 관리하므로 신뢰성이 높다.
③ 흐름제어나 순서제어가 없어 전송속도가 빠르다.
④ 제어를 위한 오버헤드가 크다.
17. 다음 C코드의 반복문을 while문으로 변환 한 것으로 옳은 것은?
#include
int main() {
int sum = 0;
for (int i = 0; i < 10; i++) {
sum += i;
}
printf("Sum = %d\n", sum);
return 0;
}
①
#include <stdio.h>
int main() {
int i = 0;
int sum = 0;
while (i > 10) {
sum += i;
i++;
}
printf("Sum = %d\n", sum);
return 0;
}
②
#include
int main() {
int i = 0;
int sum = 0;
while (i < 10) {
sum += i;
i++;
}
printf("Sum = %d\n", sum);
return 0;
}
③
#include <stdio.h>
int main() {
int i = 0;
int sum = 0;
while (i < 10) {
sum += i;
i++;
}
printf("Sum = %d\n", sum);
return 0;
}
④
#include <stdio.h>
int main() {
int i = 0;
int sum = 0;
while (i < 10) {
sum += i;
i++;
}
printf("Sum = %d\n", sum);
return 0;
}
18. TCP/IP에서 사용되는 논리주소를 물리주소로 변환시켜 주는 프로토콜은?
① TCP
② ARP
③ FTP
④ IP
ARP(Address Resolution Protocol) : 논리 주소(IP 주소)를 물리 주소(MAC 주소)로 변환하는 프로토콜
19. C언어의 break 명령문에 대한 설명 옳은 것은?
① C언어에서 반복처리를 위한 명령문이다.
② switch ~ case 구문에서는 break 명령문을 생략하여도 동일한 결과를 얻을 수 있다.
③ continue 명령문과 함께 조건 분기 명령문에 해당한다.
④ 가장 가까운 블록을 탈출한다.
20. OSI-7 layer의 데이터링크 계층에서 사용하는 데이터 전송 단위는?
① 바이트
② 프레임
③ 레코드
④ 워드
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
21. 페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?
① 기억장소 이용 효율이 증가한다.
② 입·출력 시간이 늘어난다.
③ 내부 단편화가 감소한다.
④ 페이지 맵 테이블의 크기가 감소한다.
페이지 크기가 클수록
페이지 맵 테이블 크기가 작아지고,
단편화가 증가하고,
디스크 접근 횟수가 감소하고,
전체 입출력 시간이 감소한다.
22. C언어에서 구조체를 사용하여 데이터를 처리할 때 사용하는 것은?
① for
② scanf
③ struct
④ abstract
C 언어에서 서로 다른 데이터 타입을 묶은 자료 구조를 구조체(structure)라고 한다.
구조체를 사용하여 데이터를 처리할 땐, struct를 사용해야한다.
23. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
l = [10 * i for i in range(10) if i % 2 == 0]
print(l)
① [0, 2, 4, 6, 8]
② [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
③ [0, 20, 40, 60, 80]
④ [0, 20, 40, 60, 80, 90]
24. CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(subnet mask)는?
① 255.255.255.0
② 255.255.255.224
③ 255.255.255.240
④ 255.255.255.248
203.241.132.82/27
- CIDR 표기법에서 /27은 해당 IP주소에서 왼쪽부터 27비트가 네트워크 주소를 나타내고,
나머지 비트들이 호스트주소를 나타낸다는 의미이다.
- 서브넷 마스크는 네트워크 주소를 1로, 호스트 주소를 0으로 표현한다.
- 총 IP주소는 32비트 이므로, 27비트가 네트워크ID라면,
서브넷 마스크는 27개의 1과, 32-27 = 5개의 0으로 나타난다.
- 서브넷 마스크 : 11111111.11111111.11111111.11100000
- 10진수로 변환 : 255.255.255.224(128+26+32)
25. OSI 7계층 중 네트워크 계층에 대한 설명으로 틀린 것은?
① 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
② 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
③ 패킷에 발신지와 목적지의 논리 주소를 추가한다.
④ 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
②번 설명은 데이터링크 계층에 대한 설명이다.
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
26. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include
int main(int argc, char *argv[]) {
char a;
a = 'A' + 1;
printf("%d", a);
return 0;
}
① 1
② 11
③ 66
④ 98
C언어의 문자 상수 ASCII 코드값
- char 자료형은 한 개의 문자 상수를 1byte의 공간에 ASCII코드 값으로 저장한다.
- 대문자 ‘A’의 ASCII코드 값은 01000001으로 10진수 65이다.
- a = ‘A’ + 1;
27. 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3 일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?
① 1, 2, 0
② 2, 4, 3
③ 1, 4, 2
④ 4, 1, 3
FIFO(First In First Out)는 가장 먼저 적재된 페이지를 먼저 교체하는 기법이다.
28. 프레임워크(Framework)에 대한 설명으로 옳은 것은?
① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
② 소프트웨어 개발 시 구조가 잡혀있기 때문에 확장이 불가능하다.
③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
④ 모듈화(Modularity)가 불가능하다.
29. C언어의 malloc() 함수에 대한 설명으로 틀린 것은?
① malloc() 함수를 실행 시간에 힙 메모리를 할당받는다.
② malloc() 함수 실행하여 메모리를 할당받지 못하면 널 값이 반환된다.
③ malloc() 함수로 할당 받은 메모리는 free() 함수를 통해 해제시킨다.
④ 인수로 비트 단위의 정수를 전달받아 메모리를 할당한다.
malloc() 함수
- 인수로 바이트 단위의 정수를 전달받아 메모리를 할당한다.
- 할당하고자 하는 메모리의 크기를 바이트 단위로 지정해야 한다.
30. 다음 1~20까지의 수열중 짝수, 홀수를 구분하는 C언어 프로그램에서 빈칸에 알맞은 것은?
#include
int main() {
int i;
for (i = 1; i <= 20; i++) {
if (i ( 1 ) 2 ==0) {
printf("%d (짝수)\n", i);
} ( 2 ) {
printf("%d (홀수)\n", i);
}
}
return 0;
}
① /, if else
② %, if else
③ %, else
④ /, else
32. 다음 중 가장 강한 응집도(Cohesion)는?
① Sequential Cohesion
② Procedural Cohesion
③ Logical Cohesion
④ Coincidental Cohesion
응집도 정도(강-약) : 기순교절시논우
기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도
32. HRN방식으로 스케줄링 할 경우, 입력된 작업이 다음<표>와 같을 때 우선순위가 가장 높은 것은?

① A
② B
③ C
④ D
HRN 계산
우선 순위 계산식 = (대기시간 + 서비스시간) / 서비스시간
33. 교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?
① Detection
② Avoidance
③ Recovery
④ Prevention
교착상태의 해결 방법
예방(Prevention) 교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법 회피(Avoidance) 교착상태 발생 가능성을 인정하고 교착상태가 발생하려고 할 때, 교착상태 가능성을 피해가는 방법
은행가 알고리즘(Banker's Algorithm)을 사용발견(Detection) 교착상태가 발생했는지 검사하여 교착상태에 빠진 프로세스와 자원을 발견하는 방법 회복(Recovery) 교착상태에 빠진 프로세스를 종료하거나
해당 프로세스가 점유하고 있는 자원을 선점하여 다른 프로세스에게 할당하는 기법
34. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include
int main(int argc, char *argv[]) {
int a = 4;
int b = 7;
int c = a | b;
printf("%d", c);
return 0;
}
① 3
② 4
③ 7
④ 10
- 변수 a와 b의 4, 7을 (2진수)비트 연산자 |(OR)로 연산한다.
- 비트 연산자는 2진수로 변환 후 계산한다.
- OR 연산자는 두 비트 중 1개라도 1이면 1이 출력된다.
0100 (4)
OR ) 0111 (7)
------------
0111 (7)
35. 자바에서 사용하는 접근제어자의 종류가 아닌 것은?
① internal
② private
③ default
④ public
36. 다음은 Python에서 두 수를 입력 받아 예외를 처리하는 코드이다. 다음 빈칸에 알맞은 것은?
( 1 ) :
num1 = int(input("첫 번째 숫자 입력: "))
num2 = int(input("두 번째 숫자 입력: "))
result = num1 / num2
except ValueError:
print("숫자만 입력 하시오.")
except ZeroDivisionError:
print("0으로 나눌 수 없음.")
else:
print("계산 결과:", result)
( 2 ):
print("계산 완료")
① try, finally
② try, except
③ finally, try
④ try, else
37. 다음 JAVA 프로그램의 결과 값은?
class TestClass {
int t = 1;
public void print() {
System.out.print("AA");
}
}
public class Test extends TestClass {
public void print() {
System.out.print("BB");
}
public static void main(String[] args) {
int t = 2;
TestClass tt = new Test();
tt.print();
System.out.print(t);
}
}
① AA1
② AA2
③ BB1
④ BB2
38. 다중 프로그래밍 시스템에서 OS에 의해 CPU가 할당되는 프로세스를 변경하기 위한 목적으로 현재 CPU를 사용하여 실행되고 있는 프로세스의 상태 정보를 저장하고 제어 권한을 ISR에게 넘기는 작업을 무엇이라 하는가?
① Context Switching
② Monitor
③ Mutual Exclusion
④ Semaphore
39. TCP 프로토콜과 관련한 설명으로 틀린 것은?
① 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
② 흐름 제어(Flow control)의 기능을 수행한다.
③ 전이중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
④ 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
①번은 데이터링크 계층에 관한 내용이다.
40. 오류 제어에 사용되는 자동반복 요청방식(ARQ)이 아닌 것은?
① Stop-and-wait ARQ
② Go-back-N ARO
③ Selective-Repeat ARQ
④ Non-Acknowledge ARQ
자동 반복 요청(ARQ, Automatic Repeat reQuest)
- 통신 경로에서 오류 발생 시 수신측은 오류의 발생을 송신측에 통보하고, 송신측은 오류가 발생한 프레임을 재전송하는 오류 제어 방식
- 종류 : 정지-대기 ARQ(Stop-and-Wait ARQ), 연속 ARQ(Continuous ARQ), 적응적 ARQ(Adaptive ARQ)
41. 다음 파이썬으로 구현되는 프로그램 실행 결과로 옳은 것은?
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
a[3:7:2] = 'd', 'f'
print(a[:8])
① [3, 'd', 4, 'f', 5, 6, 7]
② [3, 'd', 'f', 6, 7, 8]
③ [1, 2, 3, 'd', 5, 'f', 7, 8]
④ [1, 2, 3, ‘d’, ‘f’, 7, 8, 9]
a[3:7:2]
리스트 a의 3번째 인덱스부터 7번째 인덱스(미포함)까지 2칸씩 건너뛸 때 값을 추출하는 슬라이싱 연산이다.
print(a[:8])은 리스트 a의 0번째 인덱스부터 8번째 인덱스(미포함)까지 값을 출력한다.
42. 다음 C 프로그램의 결과 값은?
#include
int main()
{
int n = 3;
int r = 1;
int i = 1;
while (i <= n)
{
r *= i;
i++;
}
printf("%d", r);
return 0;
}
① 3
② 6
③ 9
④ 12
43. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int main()
{
int a = 97;
int b = 'a';
int c = 3.14;
printf("%c, %d, %d", a, b, c);
return 0;
}
① 97, a, 3.14
② A, 97, 3
③ a, 97, 3
④ a, 97, 3.14
%c : 문자열
%d : 정수
44. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int function(int x, int y)
{
return x > y ? 10 * x * y : 10 * x + y;
}
int main()
{
printf("%d", function(3, 7));
return 0;
}
① 20
② 37
③ 73
④ 210
45. 객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?
① 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
② 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
③ 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다.
④ 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
메소드 오버로딩은 매개 변수의 타입, 개수, 순서 중 하나 이상이 달라야 하며, 메소드 이름은 같아야 한다.
46. 메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?

① NO.2
② NO.3
③ NO.4
④ NO.5
10K 크기의 프로그램이 할당되려면 사용하지 않는 메모리(FREE)인
NO.1, NO.2, NO.5 중에서 메모리 크기가 10K 이상인 NO.2, NO.5에 할당될 수 있다.
최악 적합(Worst-Fit)은 적재 가능한 공간 중에서 가장 큰 공백이 남는 부분에 배치하는 기법 NO.5에 할당된다.
47. 10.0.0.0 네트워크 전체에서 마스크 255.240.0.0 을 사용할 경우 유효한 서브넷 ID는?
① 10.1.16.9
② 10.16.0.0
③ 10.27.32.0
④ 10.0.1.32
해설
255.240.0.0 을 이진수로 변환하면, 11111111. 11110000. 00000000. 00000000이다.
IP주소의 한 옥텟은 8개의 bit으로 이루어져 있고,
8개의 비트로 표현할 수 있는 숫자는 0부터 255까지 총 256(2^8개)이다.
2번째 옥텟이 1111000이므로, 앞의 4개의 1은 네트워크 부분, 뒤의 4개의 0은 호스트 부분이다.
여기서 호스트 부분인 4개의 0비트가 가질 수 있는 경우의 수가 서브넷의 블록 크기를 결정한다.
이는 2^4 = 16개이다.
따라서 256(전체 옥텟의 주소 개수) - (서브넷 마스크의 옥텟 값) = 16(서브넷 블록의 크기)
즉, 유효한 서브넷 ID의 두 번째 옥텟은 0,16,32, ... , 240까지의 16의 배수가 되어야 한다.
48. 다음 중 가장 약한 결합도(Coupling)는?
① Common Coupling
② Content Coupling
③ External Coupling
④ Stamp Coupling
결합도 정도(약-강) :자스제외공내
자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도
49. 트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태는?
① Active
② Partially Committed
③ Committed
④ Aborted
트랜잭션 상태
활동(active) 초기상태로 트랜잭션이 Begin_Trans에서 부터 실행을 시작하였거나 실행 중인 상태 부분 완료(partially commited) 트랜잭션의 마지막 연산이 실행된 직후의 상태로,
모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태철회(aborted) 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태 완료(committed) 트랜잭션이 실행을 성공적으로 완료연산을 수행한 상태
50. OSI 7계층에서 단말기 사이에 오류 수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터 전송을 하는 계층은?
① 네트워크계층
② 전송계층
③ 데이터링크계층
④ 표현계층
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)단말기 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
51. Java에서 사용되는 출력 함수가 아닌 것은?
① System.out.print( )
② System.out.println( )
③ System.out.printing( )
④ System.out.printf( )
Java 출력 함수
- System.out.print() : 괄호 안을 출력하고 줄 바꿈을 안 한다.
- System.out.println() : 괄호 안을 출력하고 줄 바꿈을 한다.
- System.out.printf() : 변환 문자를 사용하여 출력한다.
52. 다음 설명에 해당하는 OSI 7계층을 옳게 나열한 것은?
ㄱ. 네트워크 환경에서 사용자에게 서비스를 제공하는 계층
ㄴ. 링크의 설정과 유지 및 종료를 담당하며, 노드 간의 오류제어와 흐름 제어 기능을 수행하는 계층
ㄷ. 통신망을 통하여 패킷을 목적지까지 전달하는 계층
ㄹ. 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행하는 계층
① 응용 계층-데이터링크 계층-네트워크 계층-전송 계층
② 네트워크 계층-세셔 계층-전송 계층-응용 계층
③ 데이터링크 계층-응용 계층-네트워크 계층-전송 계층
④ 물리 계층-데이터링크 계층-네트워크 계층-표현 계층
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)단말기 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
53. 페이지 교체기법 중 시간 오버헤드를 줄이기 위해 각 페이지마다 참조 비트와 변형 비트를 두는 교체기법은?
① LRU
② FIFO
③ LFU
④ NUR
NUR (Not Used Recently)
- 최근에 사용하지 않은 페이지를 먼저 교체하는 기법
- 매 페이지마다 두 개의 하드웨어 비트 인 참조 비트(호출비트, Reference Bit)와 변형 비트(Modified Bit)가 필요하다.
54. IPv6에 대한 설명으로 틀린 것은?
① 더 많은 IP주소를 지원할 수 있도록 주소의 크기는 64비트이다.
② 프로토콜의 확장을 허용하도록 설계되었다.
③ 확장 헤더로 이동성을 지원하고, 보안 및 서비스 품질 기능 등이 개선되었다.
④ 유니캐스트, 멀티캐스트, 애니캐스트를 지원한다.
16비트씩 8부분으로 총 128비트로 구성된다.
55. 운영체제 분석을 위해 리눅스에서 버전을 확인하고자 할 때 사용되는 명령어는?
① Is
② cat
③ pwd
④ uname
ls: 현재 디렉토리에 있는 파일과 디렉토리 목록을 출력
cat: 파일 내용을 출력
pwd: 현재 작업 디렉토리의 절대 경로를 출력
uname: 시스템 정보를 출력
56. C언어의 malloc( )함수와 free( )함수를 통하여 해제하는 메모리 영역은?
① 스택(Stack)
② 힙(Heap)
③ 버퍼(Buffer)
④ 스풀(Spool)
메모리영역
메모리 영역 설명 스택(Stack) - 함수 호출 시 자동으로 할당되고 함수 종료 시 자동으로 해제되는 메모리 영역이다.
- LIFO(Last In First Out) 방식으로 작동한다.
- 변수의 크기가 미리 알려져 있어야 한다.힙(Heap) - 프로그램에서 직접적으로 할당하고 해제해야 하는 메모리 영역이다.
- malloc() 함수를 사용하여 할당하고 free() 함수를 사용하여 해제한다.
- 동적 메모리 할당에 사용된다.버퍼(Buffer) - 데이터를 일시적으로 저장하는 메모리 영역이다.
- 입출력 작업에 주로 사용된다.
- 프로그램 종료 시 자동으로 해제된다.스풀(Spool) - 프린터와 같은 입출력 장치와 데이터를 주고받는 데 사용되는 메모리 영역이다.
- 데이터를 일시적으로 저장하여 입출력 작업을 효율적으로 처리한다.
- 프로그램 종료 시 자동으로 해제된다.
57. 다음 JAVA 프로그램의 결과 값은?
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i % 5 == 0)
System.out.print("O");
else
System.out.print("X");
}
}
}
① XXXXOXXXXO
② OXXXXOXXXX
③ XXOXXOXXOX
④ OOOOXOOOOX
58. 다음 파이썬으로 구현되는 프로그램 실행 결과로 옳은 것은?
a = [[[0]*2 for y in range(2)] for x in range(2)]
print(a)
① [0, 0], [0, 0], [0, 0], [0, 0]
② [[0, 0], [0, 0]], [[0, 0], [0, 0]]
③ [[[0, 0], [0, 0]], [[0, 0], [0, 0]]]
④ [[[0, 0], [0, 0]]], [[[0, 0], [0, 0]]]
59. C언어에서 자료형의 크기를 구하는 연산자는?
① strlen
② length
③ sizeof
④ type
length는 자료형의 길이를 구하는 함수로 C++에서 사용한다
60. 페이징 기법과 세그먼테이션 기법에 대한 설명으로 가장 옳지 않은 것은?
① 페이징 기법에서는 주소 변환을 위한 페이지 맵 테이블이 필요하다.
② 프로그램을 일정한 크기로 나눈 단위를 페이지라고 한다.
③ 세그먼테이션 기법에서는 하나의 작업을 크기가 각각 다른 여러 논리적인 단위로 나누어 사용한다.
④ 세그먼테이션 기법에서는 내부 단편화가, 페이징 기법에 서는 외부 단편화가 발생할 수 있다.
페이징 - 내부 단편화
세그먼테이션 - 외부단편화
61. 다음 C언어의 외부 헤더 파일을 현재 파일에 포함할 때 사용하는 선행처리 지시자는?
〈stdio.h〉
① #define
② #import
③ #include
④ #error
62. 다음 C 프로그램의 결과 값은?
#include
int main()
{
int d = 55;
int r = 0, q = 0;
r = d;
while (r >= 4) {
r = r / 4;
q++;
}
printf("%d 그리고 ", q);
printf("%d", r);
return 0;
}
① 13 그리고 0
② 13 그리고 3
③ 0 그리고 13
④ 3 그리고 13
63. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
struct data
{
int a;
int c[10];
};
int main()
{
struct data d;
int i;
d.a = 0;
for (i = 0; i < 10; i++)
{
d.c[i] = i * 2;
}
for (i = 0; i < 10; i += 2)
{
d.a += d.c[i];
}
printf("%d", d.a);
return 0;
}
① 20
② 30
③ 40
④ 60
64. 다음 C 프로그램의 밑줄 친 부분(!x || !y)과 동일한 결과 값을 출력하는 명령은?
#include <stdio.h>
int main()
{
int x, y;
for (x = 0; x < 2; x++)
{
for (y = 0; y < 2; y++)
{
printf("%d", !x || !y);
}
}
return 0;
}
① !(x && y)
② !(x || y)
③ !x || y
④ !x && y
65. 다음 JAVA 연산의 결과로 옳은 것은?
a << n
① a x n이다.
② a ÷ n이다.
③ a x 2n이다.
④ a ÷ 2n이다.
JAVA에서
<< 연산자는 피연산자의 비트를 n만큼 왼쪽으로 산술 시프트 한다. x 2n
>> 연산자를 피연산자의 비트를 n만큼 왼쪽으로 산술 시프트 한다. ÷ 2n
66. TCP 프로토콜에 대한 설명으로 틀린 것은?
① 전송 계층 서비스를 제공한다.
② 전이중 서비스를 제공한다.
③ 비 연결형 프로토콜이다.
④ 에러 제어 프로토콜이다.
TCP는 데이터 전송 전에 3-way handshake를 통해 연결을 설정하고 데이터 전송 후 연결을 해제하는
연결형(Connection-oriented)
프로토콜
67. 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 3개의 subnet으로 나누고 ip subnet•zero를 적용했다. 이 때 서브네팅 된 네트워크 중 2번째 네트워크의 broadcast IP 주소는?
① 192.168.1.127
② 192.168.245.128
③ 192.168.1.191
④ 192.168.1.192
68. HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?

① A → B → C → D
② A → C → B → D
③ D → B → A → C
④ D → A → B → C
HRN 계산
우선 순위 계산식 = (대기시간 + 서비스시간) / 서비스시간
69. ICMP(Internet Control Message Protocol)에 관한 설명으로 틀린 것은?
① IP 프로토콜에서는 오류 보고와 수정을 위한 메커니즘이 없기 때문에 이를 보완하기 위해 설계되었다.
② ICMP는 네트위크 계층 프로토콜이다.
③ ICMP 메시지는 하위 계층으로 가기 전에 IP 프로토콜의 데이터그램으로 캡슐화된다.
④ ICMP 메시지는 4바이트의 헤더와 고정 길이의 데이터 영역으로 나뉜다.
ICMP 메시지는 4바이트의 헤더와 가변 길이의 데이터 영역으로 나뉜다.
70. 다음 중 A클래스의 IP 주소는?
① 229.6.8.4
② 120.80.158.57
③ 210.150.165.140
④ 192.132.124.65
A 클래스의 IP 주소 범위는 0.0.0.0에서 127.255.255.255까지 이므로,
첫 번재 Octet 값이 0~127 사이인 IP주소를 찾으면 된다.
71. 주어진 명령어를 실행하는데 새로운 프로세스를 생성하지 않고, 쉘 프로세스를 대체하는 유닉스 명령어는?
① exit()
② fork()
③ exec()
④ wait()
- exec()는 주어진 명령어를 실행하기 위해 기존 프로세스의 메모리 공간을 교체하는 명령어로 새로운 프로세스를 생성하지 않고, 쉘 프로세스를 대체한다.
- exit() : 쉘 프로세스를 종료
- fork() : 새로운 프로세스를 생성
- wait() : 종료된 자식 프로세스를 대기
72. 다음 중 페이지 교체(Page Replacement)알고리즘이 아닌 것은?
① LFU(Least Frequently Used)
② SSTF(Shortest Seek Time First)
③ Optimal
④ LRU(Least Recently Used)
SSTF(Shortest Seek Time First)는 디스크 스케줄링(Disk Scheduling) 알고리즘이다.
73. 병행 제어에 영향을 주는 요소로 한 번에 로크(Lock)되어야 할 데이터의 크기를 로킹 단위(Locking Granularity)라고 한다. 이 단위가 클 경우에 대한 설명으로 옳지 않은 것은?
① 병행성 수준이 높아진다.
② 병행제어 기법이 간단하다.
③ 로크의 수가 적어진다.
④ 극단적인 경우 순차처리 하는 것과 같다.
로킹 단위 크면 병행성 수준 낮아지고
로킹 단위 작으면 병행성 수준 커진다.
74. 다음 중 한 네트워크에서 다른 네트워크로 들어가는 입구 역할을 하는 장치로 근거리통신망(LAN)과 같은 하나의 네트워크를 다른 네트워크와 연결할 때 사용되는 장치는?
① 게이트웨이
② 라우터
③ 리피터
④ 브리지
75. 파이썬의 변수명으로 사용 불가능한 것은?
① student
② kor total
③ int_var
④ Name
파이썬의 변수명 규칙
- 문자, 숫자, 언더바(_)로 구성된 단어
- 처음 시작으로 숫자는 올 수 없다.
- 공백을 포함할 수 없다.
- 예약어(reserved word)를 사용할 수 없다.
76. 다음은 N각형을 그리는 파이썬 함수이다. 빈칸( ㄱ )에 가장 적절한 명령은?
import turtle
t = turtle.Turtle()
def square(distance, n):
for i in range(n):
t.forward(distance)
t.left( ㄱ )
① 180 % n
② 180 // n
③ 360 % n
④ 360 // n
77. C언어의 지역 변수((Local Variable)에 관한 설명으로 틀린 것은?
① 지역 변수는 블록 내부에 선언된 변수이다.
② 지역 변수는 블록 안팎에서 유효하다.
③ 지역 변수는 스택(Stack) 영역에 저장된다.
④ 지역 변수는 초기화하지 않으면 쓰레기 값으로 대입된다.
지역 변수는 블록 내부에서만 유효하다
78. 다음은 교착 상태 발생조건 중 어떤 조건을 제거하기 위한 것인가?
• 프로세스가 수행되기 전에 필요한 모든 자원을 할당 시켜준다.
• 자원이 점유되지 않은 상태에서만 자원을 요구하도록 한다.
① Multi Exclusion
② Hold and Wait
③ Non•preemption
④ Circular Wait
79. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d", strlen("Hello World"));
return 0;
}
① 9
② 10
③ 11
④ 12
80. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int main()
{
int a = 3, b = 5, c = -1;
int t1, t2, t3;
t1 = a > b && a < b;
t2 = a > b || a < b;
t3 = !c;
printf("%d", t1 + t2 + t3);
① 1
② 2
③ 3
④ 4
t1 = 0, t2 = 1, t3 = 0
81. 다음 C 프로그램을 실행하여 사용자가 3을 입력했을 때의 결과 값은?
#include <stdio.h>
int main()
{
int value;
scanf("%d", &value);
switch (value)
{
case 1:
printf("one");
case 2:
printf("two");
case 3:
printf("three");
break;
case 4:
printf("four");
case 5:
printf("five");
break;
}
return 0;
}
① one
two
② one
two
three
③ three
④ four
five
82. IP 주소체계와 관련한 설명으로 틀린 것은?
① IPv6의 패킷 헤더는 32 octet의 고정된 길이를 가진다.
② IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
③ IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
④ IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
Pv6의 고정된 기본 패킷 헤더 길이는 40옥텟(바이트)이다.
83. 192.168.1.0/24 네트워크를 FLSM 방식 네트워크를 4개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이 때 Subnetting 된 네트워크 중 4번째 네트워크의 4번째 사용 가능한 IP는 무엇인가?
① 192.168.1.192
② 192.168.1.195
③ 192.168.1.196
④ 192.168.1.198
84. 백도어 탐지 방법으로 틀린 것은?
① 무결성 검사
② 닫힌 포트 확인
③ 로그 분석
④ SetUID 파일 검사
85. 라이브러리의 개념과 구성에 대한 설명 중 틀린 것은?
① 라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램을 말한다.
② 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
③ 외부 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미하며, 표준 라이브러리는 별도의 파일 설치를 필요로 하는 라이브러리를 의미한다.
④ 라이브러리는 모듈과 패키지를 총칭하며, 모듈이 개별 파일이라면 패키지는 파일들을 모아 놓은 폴더라고 볼 수 있다.
표준 라이브러리는 프로그래밍 언어가 기본적으로 제공하는 라이브러리이며,
외부 라이브러리는 필요에 따라 별도로 설치하여 사용하는 라이브러리입니다.
86. 다음 설명은 OSI 7계층 중 어느 계층에 속하는가?
- 응용간의 대화 제어(Dialogue Control)를 담당한다.
- 긴 파일 전송 중에 통신상태가 불량하여 트랜스포트 연결이 끊어지는 경우 처음부터 다시 전송을 하지 않고 어디까지 전송이 진행되었는지를 나타내는 동기점(synchronization point)을 이용하여 오류 복구
① 데이터링크계층
② 네트워크계층
③ 세션계층
④ 표현계층
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
87. 프로세스와 관련한 설명으로 틀린 것은?
① 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다.
② 프로세스 제어 블록(PCB, Process Control Block)은 프로세스 식별자, 프로세스 상태 등의 정보로 구성된다.
③ 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환(Context Switching)이라고 한다.
④ 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치(Dispatch)라고 한다.
프로세스는 독립적인 실행 주체이며 고유한 주소 공간과 최소 하나의 스택을 가진다.
스레드는 프로세스 내에서 주소공간을 공유하며 실행되는 흐름의 단위이다.
88. OSI 7계층에서 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류제어, 흐름제어 등 역할을 하는 계층은?
① 데이터링크계층
② 물리계층
③ 전송계층
④ 네트워크계층
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
89. C언어에서 산술 연산자에 해당하지 않는 것은?
① %
② =
③ /
④ *
90. 다음 JAVA 프로그램의 결과 값은?
public class Test {
static void func(int a, int b) {
try {
System.out.println("결과 : " + a / b);
} catch (NumberFormatException e) {
System.out.println("정수변환 불가");
} catch (ArithmeticException e) {
System.out.println("나눗셈 불가");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("배열범위 초과");
} finally {
System.out.println("프로그램 종료");
}
}
public static void main(String[] args) {
func(30, 0);
}
}

91. 다음 파이썬으로 구현되는 프로그램 실행 결과로 옳은 것은?
text = "Hello, World!“
for i in range(0, len(text), 2):
print(text[i])

92. C언어의 변수명으로 사용 불가능한 것은?
① A1
② text-size
③ _total12
④ Score
93. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?
① 소프트웨어의 모듈은 프로그래밍 언어에서 Subroutine, Function 등으로 표현될 수 있다.
② 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다.
③ 모듈화는 시스템을 지능적으로 관리할 수 있도록 해주며, 복잡도 문제를 해결하는 데 도움을 준다.
④ 모듈화는 시스템의 유지보수와 수정을 용이하게 한다.
모듈화는 시스템을 작은 단위로 나누는 것으로,
모듈 수가 증가하면 각 모듈의 크기는 작아지고 모듈간의 불필요한 상호교류가 감소하여 복잡도를 낮춘다.
94. 다음 보기의 내용은 어떤 장비에 대한 설명인가?
서버나 장비, 네트워크 부하를 분산(Load balancing)하고, 고가용성 시스템을 구축해 신뢰성과 확장성을 향상시킬 수 있으며, 장비 간 효과적인 결합을 통해 네트워크 시스템의 속도를 개선한다.
① L2 스위치
② L3 스위치
③ L4 스위치
④ L7 스위치
L4 스위치
로드 밸런싱(부하 분산) 기능을 통해 서버나 네트워크 트래픽을 효율적으로 분산하고,
고가용성을 제공하여 시스템의 안정성과 확장성을 높이는 장비입니다.
95. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int main()
{
int a = 3, b = 5, c = -1;
int t1, t2, t3;
t1 = a && b;
t2 = a && b;
t3 = !c;
printf("%d", t1 + t2 + t3);
return 0;
}
① 1
② 2
③ 3
④ 4
논리 연산자 &&
t1 = 1, t2 = 1, t3 = 0
96. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int main()
{
int value = 2;
int sum = 0;
switch (value)
{
case 1:
sum += 4;
case 2:
sum += 2;
case 3:
sum += 1;
}
printf("%d", sum);
return 0;
}
① 1
② 2
③ 3
④ 4
97. 다음 C 프로그램의 결과 값은?
#include <stdio.h>
int main()
{
int i, t = 0;
for (i = 1; i <= 10; i += 2)
{
t += i;
}
printf("%d", t);
return 0;
}
① 15
② 25
③ 35
④ 45
98. Pv6에 대한 설명으로 틀린 것은?
① 멀티캐스트(Multicast) 대신 브로드캐스트(Broadcast)를 사용한다.
② 보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안 기능을 강화하였다.
③ 애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식이다.
④ 128비트 주소체계를 사용한다.
IPv6는 브로드캐스트를 사용하지 않고, 그 기능을 멀티캐스크로 사용한다,
99. IP 주소 198.0.46.201/24 기본 마스크는?
① 255.0.0.0
② 255.255.0.0
③ 255.255.255.0
④ 255.255.255.255
100. UDP 프로토콜에 대한 설명으로 틀린 것은?
① 비연결형 전송
② 적은 오버헤드
③ 빠른 전송
④ 신뢰성 있는 데이터 전송 보장
UDP는 연결 설정, 흐름 제어, 혼잡 제어, 오류 재전송 등의 기능이 없어 데이터 전송의 신뢰성을 보장하지 않는다.
101. HRN(Highest Response-ratio Next) 방식으로 스케줄링할 경우, 입력된 작업이 다음과 같을 때 가장 먼저 처리되는 작업은?

① A
② B
③ C
④ D
HRN 계산
우선 순위 계산식 = (대기시간 + 서비스시간) / 서비스시간
102. 결합도(Coupling) 단계를 약한 순서에서 강한 순서로 가장 옳게 표시한 것은?
① stamp → data → control → common → content
② control → data → stamp → common → content
③ content → stamp → control → common → data
④ data → stamp → control → common → content
결합도 정도(약-강) :자스제외공내
자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도
103. Java에서 변수 선언문으로 옳지 않은 것은?
① short abc;
② int false;
③ float _x;
④ double A123;
104. OSI 참조 모듈에서 전이중 방식이나 반이중 방식 으로 종단 시스템의 응용 간 대화(Dialog)를 관리하는 계층은?
① Data Link Layer
② Network Layer
③ Transport Layer
④ Session Layer
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
105. 3개의 페이지 프레임(Frame)을 가진 기억 장치에서 페이지 요청을 다음과 같은 페이지 번호 순으로 요청했을 때 교체 알고리즘으로 FIFO 방법을 사용한다면 몇 번의 페이지 부재(Fault)가 발생하는가? (단, 현재 기억 장치는 모두 비어 있다고 가정한다.)
요청된 페이지 번호의 순서 : 2, 3, 2, 1, 5, 2, 4, 5, 3
① 5번
② 6번
③ 7번
④ 8번
106. 단말 장치 사용자가 일정한 시간간격(Time Slice) 동안 CPU를 사용함으로써 단독으로 중앙처리 장치를 이용하는 것과 같은 효과를 가지는 시스템은?
① 시분할 시스템
② 다중프로그래밍 시스템
③ 일괄처리 시스템
④ 분산 처리 시스템
107. 다음이 설명하고 있는 LAN의 매체 접근 제어 방식은?
- 버스 또는 트리 토폴로지에서 가장 많이 사용된다.
- 전송하고 하는 스테이션이 전송 매체의 상태를 감지하다가 유휴(idle)상태인 경우 데이터를 전송하고, 전송이 끝난 후에도 계속 매체의 상태를 감지하여 다른 스테이션과의 충돌 발생 여부를 감시한다.
① CSMA/CD
② token bus
③ token ring
④ slotted ring
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
108. 전송제어 문자 중에서 수신된 내용에 아무런 에러가 없다는 의미를 가진 것은?
① ENQ
② ACK
③ NAK
④ DLE
전송 제어 문자
전송 제어 문자 설명 ACK (Acknowledge) 수신 측에서 데이터를 올바르게 수신했음을 송신 측에 알리는 긍정 응답 문자 NAK (Negative Acknowledge) 수신 측에서 데이터 수신에 오류가 발생했거나 수신하지 못했음을 알리는 부정 응답 문자 ENQ (Enquiry) 송신 측에서 수신 측에게 응답을 요구하거나 링크 설정을 요청할 때 사용 DLE (Data Link Escape) 전송 제어 문자를 일반 데이터처럼 취급해야 할 때 사용
109. C언어의 변수명으로 사용 불가능한 것은?
① A1
② short
③ total_12
④ Score
110. 임계 구역(Critical Section)에 대한 설명으로 옳지 않은 것은?
① 임계 구역에서 프로세스 수행은 가능한 빨리 끝내야 한다.
② 프로세스가 일정 시간 동안 자주 참조하는 페이지의 집합을 임계 구역이라고 한다.
③ 임계 구역에서는 프로세스가 무한 루프에 빠지지 않도록 해야 한다.
④ 임계 구역에서는 프로세스들이 하나씩 순차적으로 처리되어야 한다.
임계 구역 : 공유 자원에 접근하는 코드 영역
②번의 설명은 작업 집합에 관한 것이다
111. C언어에서 식별자로 사용할 수 없는 것은?
① _2hrdk
② str1
③ union
④ Total
union은 예약어로 사용할 수 없다.
112. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a[2][2] = {(33, 44), (55, 66)};
int i, sum = 0;
int *p;
p = a[0];
for (i = 1; i < 4; i++)
sum += *(p + i);
printf("%d", sum);
return 0;
}
① 55
② 77
③ 165
④ 132
113. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int (*p)[3] = NULL;
p = arr;
printf("%d, ", *(p[0] + 1) + *(p[1] + 2));
printf("%d", *(*(p + 1) + 0) + *(*(p + 1) + 1));
return 0;
}
① 7, 5
② 8, 5
③ 8, 9
④ 7, 9
114. 다음 중 IP의 라우팅 프로토콜이 아닌 것은?
① IGP
② RIP
③ EGP
④ HDLC
라우팅 프로토콜의 종류
- RIP (Routing Information Protocol)
- OSPF (Open Shortest Path First)
- BGP (Border Gateway Protocol)
- IS-IS (Intermediate System to Intermediate System)
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- RIPng (RIP next generation)
- IGRP (Interior Gateway Routing Protocol)
115. HRN방식으로 스케줄링 할 경우, 입력된 작업이 다음<표>와 같을 때 우선순위가 가장 높은 것은?

① A
② B
③ C
④ D
116. 다음 중 JAVA의 예외 처리 구문의 예약어가 아닌 것은?
① try
② catch
③ finally
④ extends
117. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class Operator {
public static void main(String[] args) {
int x = 7, y = 0, z = 0;
y = x++;
z = --x;
System.out.print(x + “, ” + y + “, ” + z);
}
}
① 7, 7, 6
② 5, 6, 5
③ 6, 5, 5
④ 5, 6, 4
118. 다음 JAVA 프로그램이 실행 되었을 때의 결과는?
public class BBB extends AAA
{
int a = 20;
void d() {
System.out.print("Hello");
}
public static void main(String[] args) {
AAA obj = new BBB();
obj.d();
System.out.print(obj.a);
}
}
class AAA
{
int a = 10;
void d() {
System.out.print("Hi");
}
}
① Hi10
② Hi20
③ Hello10
④ Hello20
119. 귀도 반 로섬(Guido van Rossum)이 발표한 언어로 인터프리터 방식이자 객체지향적이며, 배우기 쉽고 이식성이 좋은 것이 특징인 스크립트 언어는?
① C++
② JAVA
③ C#
④ Python
귀도 반 로섬, 인터프리터 방식 - 파이썬
120. 다음 JAVA의 연산자 중 우선순위가 가장 높은 것은?
① ^
② %
③ =
④ <<
121. 10.0.0.0 네트워크 전체에서 마스크 값으로 255.240.0.0를 사용할 경우 유효한 서브네트 ID는?
① 10.240.0.0
② 10.0.0.32
③ 10.1.16.3
④ 10.29.240.0
122. 페이지 부재율(Page Fault Ratio)과 스래싱(Thrashing)의 관계에 대한 설명 중 가장 옳은 것은?
① 페이지 부재율이 크면 스래싱이 많이 일어난 것이다.
② 페이지 부재율과 스래싱은 관계가 없다.
③ 다중 프로그래밍의 정도가 높아지면 페이지 부재율과 스래싱이 감소한다.
④ 스래싱이 많이 발생하면 페이지 부재율이 감소할 수 있기 때문에 여러 스레드가 시스템 호출을 동시에 사용할 수 없다.
스레싱은 페이지 교체에 많은 시간이 소요 되는 현상으로, 높은 페이지 부재율의 결과이다.
123. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char str1[20] = "KOREA";
char str2[20] = "LOVE";
char* p1 = NULL;
char* p2 = NULL;
p1 = str1;
p2 = str2;
str1[1] = p2[2];
str2[3] = p1[4];
strcat(str1, str2);
printf("%c", *(p1 + 2));
return 0;
}
① E
② V
③ R
④ O
124. 다음 중 JAVA의 비교연산자가 아닌 것은?
① >
② ||
③ !=
④ ==
비교 연산자
<, <=, >, >=, instanceof, ==, !=
125. C언어에서 문자열 처리 함수의 서식과 그 기능의 연결로 틀린 것은?
① strlen(s) - s의 길이를 구한다.
② strcpy(s1, s2) - s2를 s1으로 복사한다.
③ strcmp(s1, s2) - s1과 s2를 연결한다.
④ strrev(s) - s를 거꾸로 변환한다.
strcmp(s1, s2) : s1과 s2를 비교한다.
126. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 5, b = 3, c = 12;
int t1, t2, t3;
t1 = a && b;
t2 = a || b;
t3 = !c;
printf("%d", t1 + t2 + t3);
return 0;
}
① 0
② 2
③ 5
④ 14
127. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
struct st {
int a;
int c[10];
};
int main(int argc, char *argv[]) {
int i = 0;
struct st ob1;
struct st ob2;
ob1.a = 0;
ob2.a = 0;
for (i = 0; i < 10; i++) {
ob1.c[i] = i;
ob2.c[i] = ob1.c[i] + i;
}
for (i = 0; i < 10; i = i + 2) {
ob1.a = ob1.a + ob1.c[i];
ob2.a = ob2.a + ob2.c[i];
}
printf("%d", ob1.a + ob2.a);
return 0;
}
① 30
② 60
③ 80
④ 120
128. IP 프로토콜에서 사용하는 필드와 해당 필드에 대한 설명으로 틀린 것은?
① Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
② Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 2³²- 1 비트이다.
③ Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
④ Version Number는 IP 프로토콜의 버전 번호를 나타낸다.
IP 헤더의 총 길이(Total Length 또는 Packet Length) 필드는 IP 헤더를 포함한
전체 패킷의 길이를 나타내며, 최대 크기는 16비트 필드이므로
2^16 - 1 바이트(65,535 바이트) 이다.
129. 다음 Python 프로그램의 실행 결과가 [실행결과]와 같을 때, 빈칸에 적합한 것은?
x = 20
if x == 10:
print('10')
( ) x == 20:
print('20')
else:
print('other')
① either
② elif
③ else if
④ else
130. RIP 라우팅 프로토콜에 대한 설명으로 틀린 것은?
① 경로 선택 매트릭은 홉 카운트(Hop Count)이다.
② 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
③ 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
④ 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
RIP(Routing Information Protocol)는 한 자율 시스템(AS) 내부에서 사용되는 IGP(Interior Gateway Protocol)이지, 다른 자율 시스템 간에 사용되는 EGP(Exterior Gateway Protocol)가 아니다.
131. 다음에서 설명하는 프로세스 스케줄링은?

① FIFO 스케줄링
② RR 스케줄링
③ HRN 스케줄링
④ MQ 스케줄링
132. UNIX 운영체제에 관한 특징으로 틀린 것은?
① 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다.
② Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
③ 트리 구조의 파일 시스템을 갖는다.
④ 이식성이 높으며 장치 간의 호환성이 높다.
멀티 유저와 멀티 태스킹 둘 다 지원한다.
133. Python 데이터 타입 중 시퀀스(Sequence) 데이터 타입에 해당하며 다양한 데이터 타입들을 주어진 순서에 따라 저장할 수 있으나 저장된 내용을 변경할 수 없는 것은?
① 복소수(Complex) 타입
② 리스트(List) 타입
③ 사전(Dict) 타입
④ 튜플(tuple) 타입
135. 다음 중 Myers가 구분한 응집도(Cohesion)의 정도에서 가장 낮은 응집도를 갖는 단계는?
① 순차적 응집도(Sequential Cohesion)
② 기능적 응집도(Functional Cohesion)
③ 시간적 응집도(Temporal Cohesion)
④ 우연적 응집도(Coincidental Cohesion)
응집도 : 기순교절시논우
- (강함) 기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도 (약함)
136. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

① 0
② 1
③ 2
④ 3
137. IP 프로토콜의 주요 특징에 해당하지 않는 것은?
① 체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
② 패킷을 분할, 병합하는 기능을 수행하기도 한다.
③ 비연결형 서비스를 제공한다.
④ Best Effort 원칙에 따른 전송 기능을 제공한다.
IP는 헤더 체크섬만 수행하며, 데이터의 체크섬은 하지 않는다.
138. 다음의 순서로 페이지 참조가 발생할 때, LRU 페이지 교체 알고리즘을 사용할 경우 몇 번의 페이지 결함이 발생하는가?
페이지 참조 순서 : 1,2,3,1,2,4,1,2,5
① 5회
② 6회
③ 7회
④ 8회
139. 사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
사용자 수준 스레드는 커널이 스레드의 존재를 인지하지 못하므로,
스레드 간 전환 시 커널 모드로의 전환이 필요 없어 오버헤드가 적습니다.
140. 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우의 결합도는?
① 내용 결합도(Content Coupling)
② 제어 결합도(Control Coupling)
③ 공통 결합도(Common Coupling)
④ 스탬프 결합도(Stamp Coupling)
141. a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)
#include <stdio.h>
int main(int argc, char *argv[]) {
int a[] = {14, 22, 30, 38};
printf("%u, ", &a[2]);
printf("%u", a);
return 0;
}
① 14, 10
② 14, 14
③ 18, 10
④ 18, 14
142. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?
① 시스템을 모듈로 분할하면 각각의 모듈을 별개로 만들고 수정할 수 있기 때문에 좋은 구조가 된다.
② 응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
③ 모듈 간의 결합도가 약해야 독립적인 모듈이 될 수 있다.
④ 모듈 내 구성 요소들 간의 응집도가 강해야 좋은 모듈 설계이다.
해당 내용은 응집도를 의미한다
143. UDP 프로토콜의 특징이 아닌 것은?
① 비연결형 서비스를 제공한다.
② 단순한 헤더 구조로 오버 헤드가 적다.
③ 주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
④ TCP와 같이 트랜스포트 계층에 존재한다.
주소 지정, 경로 설정 : IP Protocol
144. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int arr[2][3] = {1, 2, 3, 4, 5, 6};
int (*p)[3] = NULL;
p = arr;
printf("%d, ", *(*(p[0] + 1) + *(*(p[1] + 2)));
printf("%d", *(*(p + 1) + 0) + *(*(p + 1) + 1));
return 0;
}
① 7, 5
② 8, 5
③ 8, 9
④ 7, 9
145. OSI 7계층 중 데이터링크 계층에 해당되는 프로토콜이 아닌 것은?
① HTTP
② HDLC
③ PPP
④ LLC
OSI 7계층
계층 설명 주요 프로토콜 응용계층
(Application Layer, 7)사용자와 네트워크 간 응용 서비스 연결
데이터 생성HTTP, FTP, TELNET,
SMTP / SNTP, DNS표현 계층
(Presentation Layer, 6)코드 변환, 암/복호화,
구문 검색, 데이터 압축, 문맥 관리 기능JPEG, MPEG 세션 계층
(Session Layer, 5)연결 접속 (유지), 동기점(대화),
동기 제어SSH, TLS 전송 계층
(Transport Layer, 4)종단 간(End to End) 신뢰성 있는 데이터 전송
흐름 제어, 오류 및 혼잡 제어TCP/UDP, RTCP - 세그먼트 네트워크 계층
(Network Layer,3)단말기 간 데이터 전송을 위한 최적화 경로(라우팅)제공 IP, ICMP, RIP, OSPF - 패킷 데이터 링크 계층
(Data Link Layer, 2)인접 시스템(노드) 간 물리적 연결을 이용해
데이터 전송, 동기화, 오류 검출 및 재전송HDLC, PPP, LLC - 프레임 물리 계층
(Physical Layer, 1)매체 간 전기적, 기능적, 절차적 기능 정의 RS-232C, X.21 - 비트
146. C언어에서 두 개의 논리 값 중 하나라도 참이면 1을, 모두 거짓이면 0을 반환하는 연산자는?
① ||
② &&
③ **
④ !=
- || : OR 연산 - 둘 중 하나라도 참이면 True
- && : AND 연산 - 둘 다 참이어야 True
- ** : C언어 연산자가 아님
- != : 같지 않음(피연산자가 서로 다를 시 true)
147. IPv6에 대한 특성으로 틀린 것은?
① 표시방법은 8비트씩 4부분의 10진수로 표시한다.
② 2¹²⁸개의 주소를 표현할 수 있다.
③ 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장이 용이하다.
④ 확장기능을 통해 보안기능을 제공한다.
IPv6 : 16비트씩 8부분의 16진수로 표시한다.
148. JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?
① 문법 오류로 인해 발생한 것
② 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
④ 존재하지 않는 파일을 읽을려고 하는 경우에 발생하는 오류
149. TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?
① ECP(Error Checking Protocol)
② ARP(Address Resolution Protocol)
③ ICMP(Internet Control Message Protocol)
④ PPP(Point-to-Point Protocol)
150. 좋은 소프트웨어 설계를 위한 소프트웨어의 모듈간의 결합도(Coupling)와 모듈 내 요소 간 응집도(Cohesion)에 대한 설명으로 옳은 것은?
① 응집도는 낮게 결합도는 높게 설계한다.
② 응집도는 높게 결합도는 낮게 설계한다.
③ 양쪽 모두 낮게 설계한다.
④ 양쪽 모두 높게 설계한다.
151. 다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?

① Dekker Algorithm
② Lamport Algorithm
③ Peterson Algorithm
④ Semaphore
152. 소프트웨어 개발에서 모듈(Module)이 되기 위한 주요 특징에 해당하지 않는 것은?
① 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위(Unit)이다.
② 독립적인 컴파일이 가능하다.
③ 유일한 이름을 가져야 한다.
④ 다른 모듈에서의 접근이 불가능해야 한다.
모듈은 인터페이스를 통해 다른 모듈과 통합된다.
153. 빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB 일 때 기억장치 배치 전략으로 “Best Fit”을 사용하여 17KB의 프로그램을 적재할 경우 내부단편화의 크기는 얼마인가?
① 3KB
② 23KB
③ 64KB
④ 67KB
최적 적합(Best Fit) : 프로그램/데이터가 할당 가능한 영역 중에서 단편화가 가장 작은 영역에 할당
154. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
#include
#include
int main(int argc, char *argv[]) {
int i = 0;
while(1) {
if(i == 4) {
break;
}
++i;
}
printf(“i = %d”, i);
return 0;
}
① i = 0
② i = 1
③ i = 3
④ i = 4
155. 다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
public class Ape {
static void rs(char a[]) {
for(int i = 0; i < a.length; i++)
if(a[i] == 'B')
a[i] = 'C';
else if(i == a.length – 1)
a[i] = a[i-1];
else a[i] = a[i+1];
}
static void pca(char a[]) {
for(int i = 0; i < a.length; i++)
System.out.print(a[i]);
System.out.println();
}
public static void main(String[] args) {
char c[] = {'A', 'B', 'D', 'D', 'A', 'B', 'C'};
rs(c);
pca(c);
}
}
① BCDABCA
② BCDABCC
③ CDDACCC
④ CDDACCA
156. 개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
① Ant
② Kerberos
③ Maven
④ Gradie
157. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?
a = 100
list_data = ['a', 'b', 'c']
dict_data = {'a' : 90, 'b' : 95}
print(list_data[0])
print(dict_data['a'])

158. C언어에서 정수 변수 a, b에 각각 1, 2가 저장되어있을 때 다음 식의 연산 결과로 옳은 것은?
a < b + 2 && a << 1 <= b
① 0
② 1
③ 3
④ 5
159. 다음 Python 프로그림이 실행되었을 때, 실행 결과는?
a = ["대", "한", "민", "국"]
for i in a:
print(i)

160. UNIX 시스템의 쉘(shell)의 주요 기능에 대한 설명이 아닌 것은?
① 사용자 명령을 해석하고 커널로 전달하는 기능을 제공한다.
② 반복적인 명령을 프로그램으로 만드는 프로그래밍 기능을 제공한다.
③ 쉘 프로그램 실행을 위해 프로세스와 메모리를 관리한다.
④ 초기화 파일을 이용해 사용자 환경을 설정하는 기능을 제공한다.
③번의 설명은 커널(Kernel)의 기능이다.
쉘(Shell)
- 사용자가 지정한 명령들을 해석하여 커널로 전달하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- 종류 : C Shell, Bourn Shell, Korn Shell 등
161. C Class에 속하는 IP address는?
① 200.168.30.1
② 10.3.2.1 4
③ 225.2.4.1
④ 172.16.98.3
Class C IP 주소는 첫 번째 옥텟의 범위가 192부터 223까지입니다.
162. 다음 중 페이지 교체(Page Replacement) 알고리즘이 아닌 것은?
① FIFO(First-In-First-Out)
② LUF(Least Used First)
③ Optimal
④ LRU(Least Recently Used)
163. 다음 JAVA 프로그램이 실행되었을 때의 결과를 쓰시오.
public class ovr {
public static void main(String[] args) {
int arr[];
int i=0;
arr=new int[10];
arr[0]=0;
arr[1]=1;
while(i<8) {
arr[i+2]=arr[i+1]+arr[i];
i++;
}
System.out.println(arr[9]);
}
}
① 13
② 21
③ 34
④ 55
164. JAVA에서 힙(Heap)에 남아있으나 변수가 가지고 있던 참조값을 잃거나 변수 자체가 없어짐으로써 더 이상 사용되지 않는 객체를 제거해주는 역할을 하는 모듈은?
① Heap Collector
② Garbage Collector
③ Memory Collector
④ Variable Collector
165. C언어에서의 변수 선언으로 틀린 것은?
① int else;
② int Test2;
③ int pc;
④ int True;
166. 모듈 내 구성 요소들이 서로 다른 기능을 같은 시간대에 함께 실행하는 경우의 응집도(Cohesion)는?
① Temporal Cohesion
② Logical Cohesion
③ Coincidental Cohesion
④ Sequential Cohesion
167. 사용자가 요청한 디스크 입·출력 내용이 다음과 같은 순서로 큐에 들어 있을 때 SSTF 스케쥴링을 사용한 경우의 처리 순서는? (단, 현재 헤드 위치는 53 이고, 제일 안쪽이 1번, 바깥쪽이 200번 트랙이다.)
큐의 내용 : 98 183 37 122 14 124 65 67
① 53-65-67-37-14-98-122-124-183
② 53-98-183-37-122-14-124-65-67
③ 53-37-14-65-67-98-122-124-183
④ 53-67-65-124-14-122-37-183-98
SSTF는 가까운 곳을 탐색하는 스케줄링 기법이다.
- 53-65-67-37-14-98-122-124-183
168. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
def cs(n):
s=0
for num in range(n+1):
s+=num
return s
print(cs(11))
① 45
② 55
③ 66
④ 78
169. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?
① 소프트웨어의 모듈은 프로그래밍 언어에서 Subroutine, Function 등으로 표현될 수 있다.
② 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다.
③ 모듈화는 시스템을 지능적으로 관리할 수 있도록 해주며, 복잡도 문제를 해결하는 데 도움을 준다.
④ 모듈화는 시스템의 유지보수와 수정을 용이하게 한다.
모듈화는 시스템을 작은 단위로 나누는 것으로,
모듈 수가 증가하면 각 모듈의 크기는 작아지고 모듈간의 불필요한 상호교류가 감소하여 복잡도를 낮춘다.
170. 모듈의 독립성을 높이기 위한 결합도(Coupling)와 관련한 설명으로 틀린 것은?
① 오류가 발생했을 때 전파되어 다른 오류의 원인이 되는 파문 효과(Ripple Effect)를 최소화해야 한다.
② 인터페이스가 정확히 설정되어 있지 않을 경우 불필요한 인터페이스가 나타나 모듈 사이의 의존도는 높아지고 결합도가 증가한다.
③ 모듈들이 변수를 공유하여 사용하게 하거나 제어 정보를 교류하게 함으로써 결합도를 낮추어야 한다.
④ 다른 모듈과 데이터 교류가 필요한 경우 전역변수(Global Variable)보다는 매개변수(Parameter)를 사용하는 것이 결합도를 낮추는 데 도움이 된다.
모듈들이 변수를 공유하지 않도록 결합도를 낮추어야 한다.
171. 프로세스와 관련한 설명으로 틀린 것은?
① 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치(Dispatch)라고 한다.
② 프로세스 제어 블록(PCB, Process Control Block)은 프로세스 식별자, 프로세스 상태 등의 정보로 구성된다.
③ 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환(Context Switching)이라고 한다.
④ 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다.
프로세스는 독립적인 실행 주체이며 고유한 주소 공간과 최소 하나의 스택을 가진다.
스레드는 프로세스 내에서 주소공간을 공유하며 실행되는 흐름의 단위이다.
172. TCP헤더와 관련한 설명으로 틀린 것은?
① 순서번호(Sequence Number)는 전달하는 바이트마다 번호가 부여된다.
② 수신번호확인(Acknowledgement Number)은 상대편 호스트에서 받으려는 바이트의 번호를 정의한다.
③ 체크섬(Checksum)은 데이터를 포함한 세그먼트의 오류를 검사한다.
④ 윈도우 크기는 송수신 측의 버퍼 크기로 최대크기는 32767bit 이다.
윈도우 크기는 송수신 측의 버퍼 크기로 최대크기는 64KByte 이다.
173. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
#include <string.h>
int main(void) {
char str[50]="nation";
char *p2="alter";
strcat(str, p2);
printf("%s", str);
return 0;
}
① nation
② nationalter
③ alter
④ alternation
174. 다음 중 JAVA에서 우선순위가 가장 낮은 연산자는?
① --
② %
③ &
④ =
175. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(void) {
int a=3, b=4, c=2;
int r1, r2, r3;
r1=b<=4 || c==2;
r2=(a>0) && (b<5);
r3=!c;
printf("%d", r1+r2+r3);
return 0;
}
① 0
② 1
③ 2
④ 3
176. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(void) {
int n=4;
int* pt=NULL;
pt=&n;
printf("%d", &n+*pt-*&pt+n);
return 0;
}
① 0
② 4
③ 8
④ 12
177. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
class FourCal:
def setdata(sel, fir, sec):
sel.fir = fir
sel.sec = sec
def add(sel):
result = sel.fir + sel.sec
return result
a = FourCal()
a.setdata(4, 2)
print(a.add())
① 0(영)
② 2
③ 4
④ 6
178. CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(subnet mask)는?
① 255.255.255.0
② 255.255.255.224
③ 255.255.255.240
④ 255.255.255.248
179. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class Operator{
public static void main(String[] args) {
int x=5, y=0, z=0;
y = x++;
z = --x;
System.out.print(x + ", " + y + ", " + z);
}
}
① 5, 5, 5
② 5, 6, 5
③ 6, 5, 5
④ 5, 6, 4
180. 다음 C언어 프로그램이 실행되었을 때의 결과는?
#include
int main (int argc, char *argv[]) {
int a[2][2] = {{11, 22}, {44, 55}};
int i, sum = 0;
int *p;
p = a[0];
for(i = 1; i < 4; i++)
sum += *(p + i);
printf("%d", sum);
return 0;
}
① 55
② 77
③ 121
④ 132
181. C언어 라이브러리 중 stdlib.h에 대한 설명으로 옳은 것은?
① 문자열을 수치 데이터로 바꾸는 문자 변환 함수와 수치를 문자열로 바꿔주는 변환 함수 등이 있다.
② 문자열 처리 함수로 strlen()이 포함되어 있다.
③ 표준 입출력 라이브러리이다.
④ 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.
182. 프로세스 적재 정책과 관련한 설명으로 틀린 것은?
① 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
② 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
④ 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
스래싱은 프로세스 수행 시간 보다 페이지 교환에 보내는 시간이 더 많아 시스템 성능이 저하되는 현상
183. C언어에서 연산자 우선순위가 높은 것에서 낮은 것으로 바르게 나열된 것은?
㉠ ( ) ㉡ == ㉢ <
㉣ << ㉤ ││ ㉥ /
① ㉠, ㉥, ㉣, ㉢, ㉡, ㉤
② ㉠, ㉣, ㉥, ㉢, ㉡, ㉤
③ ㉠, ㉣, ㉥, ㉢, ㉤, ㉡
④ ㉠, ㉥, ㉣, ㉤, ㉡, ㉢
C언어의 연산자 우선순의
- (높음) 괄호( ) → 산술 연산자 → 비트 이동 연산자 → 관계 연산자 → 비트 논리 연산자 → 논리 연산자 (낮음)
- 산술 연산자 : *, /, %, +, -
- 비트 이동 연산자 : <<, >>
- 관계 연산자 : <, <=, >, =, ==, !=
- 비트 논리 연산자 : &, ^, |
- 논리 연산자 : &&, ||
184. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class array1 {
public static void main(String[] args) {
int cnt = 0;
do {
cnt++;
} while (cnt < 0);
if(cnt==1)cnt++;
else cnt = cnt + 3;
System.out.printf("%d", cnt);
}
}
① 2
② 3
③ 4
④ 5
185. 리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
① 변수를 출력하고자 할 때는 export를 사용해야 한다.
② export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
③ 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한된다.
④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
Bash 쉘에서 변수 값을 출력할 때는 echo $변수명 을 사용
export는 변수를 환경변수로 만들어 하위 쉘에 상속시키는 역할
186. 다음 설명에 해당하는 방식은?
∙ 무선 랜에서 데이터 전송 시, 매체가 비어있음을 확인한 뒤 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법이다.
∙네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
① STA
② Collision Domain
③ CSMA/CA
④ CSMA/CD
CSMA/CA에 관한 설명이다.
187. 운영체제를 기능에 따라 분류할 경우 제어 프로그램이 아닌 것은?
① 데이터 관리 프로그램
② 서비스 프로그램
③ 작업 제어 프로그램
④ 감시 프로그램
분류 종류 제어 프로그램(Control Program) - 감시 프로그램(Supervisor Program)
- 작업 제어 프로그램(Job Control Program)
- 자료 관리 프로그램(Data Management Program)처리 프로그램(Processing Program) - 언어 번역 프로그램(Language Translator Program)
- 서비스 프로그램(Service Program)
- 문제 프로그램(Problem Program)
188. 교착상태가 발생할 수 있는 조건이 아닌 것은?
① Mutual exclusion
② Hold and wait
③ Non-preemption
④ Linear wait
189. 기억공간이 15K, 23K, 22K, 21K 순으로 빈공간이 있을 때 기억장치 배치 전략으로 “First Fit"을 사용하여 17K의 프로그램을 적재할 경우 내부단편화의 크기는 얼마인가?
① 5K
② 6K
③ 7K
④ 8K
190. 결합도가 낮은 것부터 높은 순으로 옳게 나열한 것은?

① (ㄱ)→(ㄴ)→(ㄹ)→(ㅂ)→(ㅁ)→(ㄷ)
② (ㄴ)→(ㄹ)→(ㅁ)→(ㅂ)→(ㄷ)→(ㄱ)
③ (ㄴ)→(ㄹ)→(ㅂ)→(ㅁ)→(ㄷ)→(ㄱ)
④ (ㄱ)→(ㄴ)→(ㄹ)→(ㅁ)→(ㅂ)→(ㄷ)
결합도 정도(약-강) :자스제외공내
자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도
191. 다음 설명의 ㉠과 ㉡에 들어갈 내용으로 옳은 것은?
가상기억장치의 일반적인 구현 방법에는 프로그램을 고정된 크기의 일정한 블록으로 나누는 (㉠) 기법과
가변적인 크기의 블록으로 나누는 (㉡) 기법이 있다.
① ㉠: Paging, ㉡: Segmentation
② ㉠: Segmentation, ㉡: Allocation
③ ㉠: Segmentation, ㉡: Compaction
④ ㉠: Paging, ㉡: Linking
192. C언어에서 문자열을 정수형으로 변환하는 라이브러리 함수는?
① atoi()
② atof()
③ itoa()
④ ceil()
- atoi() : 문자열을 정수형으로 변환
- atof() : 문자열을 실수형으로 변환
- itoa() : 숫자를 문자열로 변환
- ceil() : 자리올림
- floor() : 자리버림
193. WAS(Web Application Server)가 아닌 것은?
① JEUS
② JVM
③ Tomcat
④ WebSphere
JVM(Java Virtual Machine)은 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행시키는 자바 가상 머신이다.
194. IEEE 802.3 LAN에서 사용되는 전송매체 접속제어(MAC) 방식은?
① CSMA/CD
② Token Bus
③ Token Ring
④ Slotted Ring
195. TCP/IP 프로토콜에서 TCP가 해당하는 계층은?
① 데이터 링크 계층
② 네트워크 계층
③ 트랜스포트 계층
④ 세션 계층
196. 다음 중 응집도가 가장 높은 것은?
① 절차적 응집도
② 순차적 응집도
③ 우연적 응집도
④ 논리적 응집도
응집도 정도 : 기순교절시논우
(높음) 기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도 (낮음)
197. 다음 JAVA 코드 출력문의 결과는?
System.out.println("5 + 2 = " + 3 + 4);
System.out.println("5 + 2 = " + (3 + 4));
① 5 + 2 = 34 / 5 + 2 = 34
② 5 + 2 + 3 + 4 / 5 + 2 = 7
③ 7 = 7 / 7 + 7
④ 5 + 2 = 34 / 5 + 2 = 7
198. 다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?

① A, B, C 출력이 반복된다.
② A, B, C 까지만 출력된다.
③ A, B, C, D 출력이 반복된다.
④ A, B, C, D 까지만 출력된다.
199. C언어에서 변수로 사용할 수 없는 것은?
① data02
② int01
③ _sub
④ short
200. UDP 특성에 해당되는 것은?
① 양방향 연결형 서비스를 제공한다.
② 송신중에 링크를 유지관리하므로 신뢰성이 높다.
③ 순서제어, 오류제어, 흐름제어 기능을 한다.
④ 흐름제어나 순서제어가 없어 전송속도가 빠르다.
201. 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합을 의미하는 것은?
① Locality
② Deadlock
③ Thrashing
④ Working Set
워킹 셋(Working Set)
- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합이다.
202. JAVA에서 변수와 자료형에 대한 설명으로 틀린 것은?
① 변수는 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간이다.
② 변수의 자료형에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.
③ char 자료형은 나열된 여러 개의 문자를 저장하고자 할 때 사용한다.
④ boolean 자료형은 조건이 참인지 거짓인지 판단하고자 할 때 사용한다.
203. UNIX SHELL 환경 변수를 출력하는 명령어가 아닌 것은?
① configenv
② printenv
③ env
④ setenv
환경 변수 관련 명령어
- env : 전역 환경 변수를 설정하거나 출력한다.
- set : 사용자 환경 변수를 설정한다.
- printenv : 현재 설정되어 있는 환경 변수의 값을 모두 출력한다.
- echo : 특정 환경 변수의 값을 출력한다.
- setenv : 환경 변수의 값을 설정한다.
204. 운영체제에서 커널의 기능이 아닌 것은?
① 프로세스 생성, 종료
② 사용자 인터페이스
③ 기억 장치 할당, 회수
④ 파일 시스템 관리
커널(Kernel)은 프로세스 관리, 기억장치 관리, 입출력 관리, 파일 시스템 관리 등의 기능을 수행한다.
②번의 사용자 인터페이스는 쉘의 기능이다.
205. OSI 7계층에서 단말기 사이에 오류 수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층은?
① 전송 계층
② 응용 계층
③ 세션 계층
④ 표현 계층
206. 다음 쉘 스크립트의 의미로 옳은 것은?
until who I grep wow
do
sleep 5
done
① wow 사용자가 로그인한 경우에만 반복문을 수행한다.
② wow 사용자가 로그인할 때까지 반복문을 수행한다.
③ wow 문자열을 복사한다.
④ wow 사용자에 대한 정보를 무한 반복하여 출력한다.
207. 다음 파이썬으로 구현된 프로그램의 실행 결과로 옳은 것은?
>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[:7:2]
① [20, 60]
② [60, 20]
③ [0, 20, 40, 60]
④ [10, 30, 50, 70]
208. 공통모듈의 재사용 범위에 따른 분류가 아닌 것은?
① 컴포넌트 재사용
② 더미코드 재사용
③ 함수와 객체 재사용
④ 애플리케이션 재사용
209. TCP 흐름제어기법 중 프레임이 손실되었을 때, 손실된 프레임 1개를 전송하고 수신자의 응답을 기다리는 방식으로 한 번에 프레임 1개만 전송할 수 있는 기법은?
① Slow Start
② Sliding Window
③ Stop and Wait
④ Congestion Avoidance
210. 결합도(Coupling)에 대한 설명으로 틀린 것은?
① 데이터 결합도(Data Coupling)는 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용 될 때 데이터가 결합되어 있다고 한다.
② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.
④ 결합도(Coupling)는 두 모듈간의 상호작용, 또는 의존도 정도를 나타내는 것이다.
자료구조 형태로 전달되는 것은 스탬프 결합도(Stamp Coupling)이다.
211. 응집도의 종류 중 서로 간에 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되는 경우이며, 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우의 응집도는?
① Functional Cohesion
② Sequential Cohesion
③ Logical Cohesion
④ Coincidental Cohesion
연관성 없는 응집도 - 우연적 응집도
212. UDP 특성에 해당되는 것은?
① 데이터 전송 후, ACK를 받는다.
② 송신중에 링크를 유지 관리하므로 신뢰성이 높다.
③ 흐름제어나 순서제어가 없어 전송속도가 빠르다.
④ 제어를 위한 오버헤드가 크다.
213. 다음과 같은 세그먼트 테이블을 가지는 시스템에서 논리 주소(2, 176)에 대한 물리 주소는?

① 398
② 400
③ 1928
④ 1930
- 논리 주소(2, 176)에서 2는 세그먼트 번호를 의미하고, 176은 해당 세그먼트의 시작주소로부터의 오프셋을 의미한다.
- 세그먼트 2의 시작주소는 222이고 오프셋 176을 더하면 물리 주소는 398이 된다.
215. PHP에서 사용 가능한 연산자가 아닌 것은?
① @
② #
③ <>
④ ===
PHP 연산자
산술 연산자 : +, -, *, /, %, **
할당 연산자 : =, +=, -=, *=, /=, %=
증가/감소 연산자 : ++, --
관계 연산자 : ==, ===, !=, <>, !==, >, <, >=, <=, <=>
논리 연산자 : and, or, xor, &&, ||, !
216. 다음 내용이 설명하는 소프트웨어 취약점은?
메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
① FTP 바운스 공격
② SQL 삽입
③ 버퍼 오버플로
④ 디렉토리 접근 공격
217. 다음 중 bash 쉘 스크립트에서 사용할 수 있는 제어문이 아닌 것은?
① if
② for
③ repeat_do
④ while
UNIX 쉘 스크립트(Shell Script) 제어문
- 조건문 : if, case
- 반복문 : for, while
- 기타 : select, continue, until
218. IPv6에 대한 설명으로 틀린 것은?
① 32비트의 주소체계를 사용한다.
② 멀티미디어의 실시간 처리가 가능하다.
③ IPv4보다 보안성이 강화되었다.
④ 자동으로 네트워크 환경구성이 가능하다.
- IPv4 : 32비트의 주소체계를 사용한다.
- IPv6 : 128비트의 주소체계를 사용한다.
219. 효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?
① 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
② 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
③ 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이어야 한다.
④ 유지보수가 용이해야 한다.
220. 운영체제에 대한 설명으로 거리가 먼 것은?
① 다중 사용자와 다중 응용프로그램 환경 하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
② CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.
③ 운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
④ 입출력 장치와 사용자 프로그램을 제어한다.
매크로 프로세서, 어셈블러, 컴파일러 등은 시스템 소프트웨어(System Software)의 종류이다.
221. 배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?
① 자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
② 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
③ 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
④ 무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
222. TCP 프로토콜에 대한 설명으로 거리가 먼 것은?
① 신뢰성 있는 연결 지향형 전달 서비스이다.
② 기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.
③ 스트림 전송 기능을 제공한다.
④ 순서제어, 오류제어, 흐름제어 기능을 제공한다.
TCP 프로토콜의 기본 헤더 크기는 20byte이고 60byte까지 확장 가능하다.
223. 다음이 설명하는 응집도의 유형은?
모듈이 다수의 관련 기능을 가질 때 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
① 기능적 응집도
② 우연적 응집도
③ 논리적 응집도
④ 절차적 응집도
응집도 유형
- 기능적 응집도 : 한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 원소의 입력 자료로서 제공되는 경우의 응집도
- 순차적 응집도 : 모듈의 구성 요소가 하나의 활동으로부터 나온 출력 자료를 그 다음 활동의 입력 자료로 사용하는 같은 모듈 내에서의 응집도
- 교환적 응집도 : 동일한 입력과 출력을 사용하는 소작업들이 모인 모듈에서 볼 수 있는 응집도
- 절차적 응집도 : 모듈이 다수의 관련 기능을 가질 때 모듈 내부의 기능 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
- 시간적 응집도 : 특정 시간에 처리되는 여러 기능을 모아 한 개의 모듈로 작성할 경우의 응집도
- 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도
- 우연적 응집도 : 서로 간에 어떠한 의미 있는 연관 관계도 지니지 않은 기능 요소로 구성되는 경우의 응집도
224. OSI-7 Layer에서 링크의 설정과 유지 및 종료를 담당하며, 노드간의 오류제어와 흐름제어 기능을 수행하는 계층은?
① 데이터링크 계층
② 물리 계층
③ 세션 계층
④ 응용 계층
노드 간 오류 제어와 흐름 제어 기능 수행 : 데이터링크 계층
225. 다음 중 가장 결합도가 강한 것은?
① data coupling
② stamp coupling
③ common coupling
④ control coupling
결합도 정도(약-강) :자스제외공내
자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도
226. 200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 subnet으로 나누고 ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP 주소는?
① 200.1.1.159
② 201.1.5.175
③ 202.1.11.254
④ 203.1.255.245
227. 다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서 ㉠에 들어갈 내용은?
-----
string = input(“7문자 이상 문자열을 입력하시오:”)
m = ( ㉠ )
print(m)
입력값 : Hello World
최종 출력 : Helrld
-----
입력값 : Hello World
최종 출력 : Helrld
-----
① string[1:3] + string[-3:]
② string[:3] + string[-3:-1]
③ string[0:3] + string[-3:]
④ string[0:] + string[:-1]
228. 파이썬의 변수 작성 규칙 설명으로 옳지 않은 것은?
① 첫 자리에 숫자를 사용할 수 없다.
② 영문 대문자/소문자, 숫자, 밑줄(_)의 사용이 가능하다.
③ 변수 이름의 중간에 공백을 사용할 수 있다.
④ 이미 사용되고 있는 예약어는 사용할 수 없다.
파이썬 변수명 작성 규칙
- 영문 대소문자(A~Z, a~z), 숫자(0~9), ‘_’를 혼용하여 사용할 수 있다.
- 첫 글자는 영문자나 ‘_’로 시작해야 한다.
- 영문자는 대소문자는 구분한다.
- 공백을 포함할 수 없다.
- 예약어(reserved word)를 사용할 수 없다.
229. 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?
① data coupling
② stamp coupling
③ control coupling
④ common coupling
230. 다음 C프로그램의 결과 값은?
main(void) {
int i;
int sum = 0;
for(i=1; i<=10; i=i+2)
sum = sum + i;
printf(“%d”, sum);
}
① 15
② 19
③ 25
④ 27
231. C언어에서 정수 자료형으로 옳은 것은?
① int
② float
③ char
④ double
232. UNIX의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?
① 명령어 해석기이다.
② 시스템과 사용자 간의 인터페이스를 담당한다.
③ 여러 종류의 쉘이 있다.
④ 프로세스, 기억장치, 입출력 관리를 수행한다.
- ④는 커널(Kernel)에 대한 설명이다.
쉘(Shell)
- 사용자가 지정한 명령들을 해석하여 커널로 전달하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- 종류 : C Shell, Bourn Shell, Korn Shell 등
233. TCP/IP 프로토콜 중 전송계층 프로토콜은?
① HTTP
② SMTP
③ FTP
④ TCP
TCP/IP 계층별 프로토콜
- 링크 계층 : Ethernet, IEEE 802, HDLC, X.25, RS-232C 등
- 인터넷 계층 : IP, ICMP, IGMP, ARP, RARP 등
- 전송 계층 : TCP, UDP
- 응용 계층 : FTP, SMTP, SNMP, Telnet 등
234. C언어에서 비트 논리연산자에 해당하지 않는 것은?
① ^
② ?
③ &
④ ~
- ^ : 비트 단위 XOR 연산
- & : 비트 단위 AND 연산
- ~ : 비트 단위 NOT 연산(0→1, 1→0)
235. 시스템에서 모듈 사이의 결합도(Coupling)에 대한 설명으로 옳은 것은?
① 한 모듈 내에 있는 처리요소들 사이의 기능적인 연관 정도를 나타낸다.
② 결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.
③ 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
④ 자료결합도는 내용결합도 보다 결합도가 높다.
245. 스레드(Thread)에 대한 설명으로 옳지 않은 것은?
① 한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.
② 커널 스레드의 경우 운영체제에 의해 스레드는 운용한다.
③ 사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.
④ 스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.
246. C언어에서 배열 b[5]의 값은?
static int b[9]={1, 2, 3};
① 0(영)
② 1
③ 2
④ 3
247. IEEE 802.11 워킹 그룹의 무선 LAN 표준화 현황 중 QoS 강화를 위해 MAC 지원 기능을 채택한 것은?
① 802.11a
② 802.11b
③ 802.11g
④ 802.11e
248. HRN(Highest Response-ratio Next) 스케줄링 방식에 대한 설명으로 옳지 않은 것은?
① 대기 시간이 긴 프로세스일 경우 우선순위가 높아진다.
② SJF 기법을 보완하기 위한 방식이다.
③ 긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.
④ 우선순위를 계산하여 그 수치가 가장 낮은 것부터 높은 순으로 우선순위가 부여된다.
249. 교착 상태 발생의 필요 충분 조건이 아닌 것은?
① 상호 배제(mutual exclusion)
② 점유와 대기(hold and wait)
③ 환형 대기(circular wait)
④ 선점(preemption)
교착 상태(Deadlock)의 발생 조건
- 상호 배제(Mutual Exclusion)
- 점유 및 대기(Hold and Wait)
- 비선점(Non-preemption)
- 환형 대기(Circular Wait)
250. 다음의 페이지 참조 열(Page reference string)에 대해 페이지 교체 기법으로 선입선출 알고리즘을 사용할 경우 페이지 부재(Page Fault) 횟수는? (단, 할당된 페이지 프레임 수는 3이고, 처음에는 모든 프레임이 비어 있다.)
<페이지 참조 열>
7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0
① 13
② 14
③ 15
④ 20
251. IPv6에 대한 설명으로 틀린 것은?
① 128비트의 주소 공간을 제공한다.
② 인증 및 보안 기능을 포함하고 있다.
③ 패킷 크기가 64Kbyte로 고정되어 있다.
④ IPv6 확장 헤더를 통해 네트워크 기능확장이 용이하다.
- 패킷 크기가 64Kbyte로 고정된 것은 IPv4이며, IPv6는 임의의 크기의 패킷을 주고받을 수 있도록 패킷 크기 제한이 없다.
252. 프로세스 상태의 종류가 아닌 것은?
① Ready
② Running
③ Request
④ Exit
프로세스 상태
New(생성), Ready(준비), Running(실행), Blocked(대기), Exit(종료)
253. IPv6 주소체계로 거리가 먼 것은?
① Unicast
② Anycast
③ Broadcast
④ Multicast
IPv6 주소 체계
- 유니캐스트(Unicast), 멀티캐스트(Multicast), 애니캐스트(Anycast) 등의 3가지 주소 체계로 나뉜다.
- 할당된 주소의 낭비 요인을 줄이고 간단하게 주소를 결정할 수 있다.
254. 응집도가 가장 낮은 것은?
① 기능적 응집도
② 시간적 응집도
③ 절차적 응집도
④ 우연적 응집도
응집도 정도(강-약) : 기순교절시논우
기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도
255. 스크립트 언어가 아닌 것은?
① PHP
② Cobol
③ Basic
④ Python
256. OSI-7계층에서 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름제어를 수행하는 계층은?
① 전송 계층
② 세션 계층
③ 표현 계층
④ 응용 계층