📍Certificate/Engineer Information Processing
[정보처리기사] - [4과목] 오답정리 (1)
Sun A
2024. 7. 6. 11:00
C언어 문자열 처리 함수의 서식과 기능 연결
- strlen(s) - s의 길이를 구한다.
- length의 약자
- strcpy(s1, s2) - s2를 s1으로 복사한다.
- copy의 약자
- strcmp(s1, s2) - s1과 s2를 비교한다.
- compare의 약자
- strrev(s) - s를 거꾸로 변환한다.
- reverse의 약자
C언어 프로그램 실행 결과 해석
[문제 1]
#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;
}
- 논리 연산자 t1, t2, t3를 알아야 한다.
t1 = a && b;
# 논리 and 연산자를 &&를 사용한다.
# a와 b가 모두 참(0이 아닌 값을 의미)일 경우 '1', 그렇지 않으면 '0' 반환
t2 = a || b
# 논리 OR 연산자 '||'를 사용한다.
# a와 b중 하나라도 참일 경우 '1', 둘 다 거짓일 경우'0'
t3 = !c;
#논리 not 연산자 '!'를 사용
# c가 참이면 '0', 아니면 '1'
t1 + t2 + t3 = 1 + 1 + 0 = 2
[문제 2]
#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;
}
index | ob1.c | ob2.c | ob1.a | ob2.a |
0 | 0 | 0 | 0+0=0 | 0+0=0 |
1 | 1 | 2 | ||
2 | 2 | 4 | 0+2=2 | 0+4=4 |
3 | 3 | 6 | ||
4 | 4 | 8 | 2+4=6 | 4+8=12 |
5 | 5 | 10 | ||
6 | 6 | 12 | 6+6=12 | 12+12=24 |
7 | 7 | 14 | ||
8 | 8 | 16 | 12+8=20 | 24+16=40 |
9 | 9 | 18 |
(ob1.a = 20) + (ob2.a = 40) = 60
TCP/IP
- 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다.
TCP (Transmission Control Protocol)
- OSI 7계층의 전송 계층에 해당한다.
- 스트림(Stream) 전송 기능을 제공한다.
- 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다.
- 신뢰성 있는 연결형 서비스를 제공한다.
- 요청과 응답을 동시에 주고 받는 전이중 연결 방식을 사용한다.
- 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다.
- 투명성이 보장되는 통신을 제공한다.
IP (Internet Protocol)
- Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
- Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
- Version Number는 IP 프로토콜의 버전번호를 나타낸다.
- OSI 7계층의 네트워크 계층에 해당한다.
- 데이터그램을 기반으로 하는 비연결형 서비스를 제공한다.
- 패킷의 분해/조립, 주소 지정, 경로 선택 기능을 제공한다.
RIP 라우팅 프로토콜
RIP (Routing Information Protocol)
- 경로 선택 메트릭은 홉 카운트(hop count)이다.
- 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
- 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
프로토콜
ICMP (Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜)
: IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 하며, 헤더는 8Byte로 구성됨
IGMP (Internet Group Management Protocol, 인터넷 그룹 관리 프로토콜)
: 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨
SNMP (Simple Network Management Protocol)
: TCP/IP의 네트워크 관리 프로토콜로 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 표준 통신 규약
IPv6 (Internet Protocol version6)
- 현재 사용되고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발되었다.
- 16비트씩 8부분, 총 128비트로 구성되어 있다.
- 각 부분을 16진수로 표현하고, 콜론(:)으로 구분하다.
- 패킷 헤더는 40옥텟(octet)의 고정된 길이를 갖는다.
- IPv4에 비해 자료 전송 속도가 빠르고, IPv4와 호환성이 뛰어나다.
- 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있다.