C 86

[C언어] 시간과 날짜와 관련된 함수들

아래 함수들은 헤더파일 를 필요 시간 계산 time_t time(time_t *timeptr); 1970년 1월 1일 자정부터 경과된 현재 시간을 초단위로 계산 시간을 문자열로 변환 char *asctime(struct tm *time); 구조체 tm 형식의 시간을 문자열로 변환 char *ctime(time_t *time); 함수 time으로부터 계산된 현재 시간을 문자열로 변환 시간을 구조체로 변환 struct tm *localtime(time_t *time); 지역시간(local time)을 구조체 tm의 형식으로 가져오는 함수 struct tm *gmtime(time_t *time); Greenwich Mean Time(GMT)을 구조체 tm 형식으로 가져옴 시간 차이 계산 clock_t cloc..

명품 C언어 프로젝트 2.2장 연습문제

[1번 문제]/*자신이 사용하는 컴파일러에서 소수 이하 몇 자리까지 유효한지를 확인하시오*/#include int main(void){ double num = 0.111111111111111111111111111111111111111111111111111111111111111111111; //소수를 길게 선언한다 printf("소수 출력 결과:%.16lf\n", num);//16자리까지 유효하다 printf("소수 출력 결과:%.17lf\n", num);//17번째부터 다른 숫자가 출력 return 0;} [2번 문제]간지 1 2 3 4 5 6 7 8 9 10 11 12 10간 신 임 계 갑 을 병 정 무 기 경 12지 자 축 인 묘 진 사 오 미 신 유 술 해 띠 쥐 소 호랑이 토끼 용 뱀 말 양 원숭..

TCP/IP 소켓 프로그래밍 6장 내용 확인문제

1. TCP보다 UDP가 빠른 이유는 무엇인가? 그리고 TCP는 데이터의 전송을 신뢰할 수 있지만 UDP는 신뢰할 수 없는 이유는 또 무엇인가? >UDP는 TCP와 달리 흐름제어를 하지 않기 때문에 TCP보다 빠르다. 이 흐름제어는 소켓의 연결과 종료, 그리고 데이터 송수신 전반에 걸쳐서 진행되기 때문에 TCP의 데이터 전송은 언제나 신뢰할 수 있다. 하지만, 이 흐름제어 때문에 속도는 UDP보다 느리다. 2. 다음 중 UDP의 특성인 아닌 것을 모두 고르면? >b. UDP 기반으로 데이터를 전송할 목적지가 두 군데라면, 총 두개의 소켓을 생성해야 한다 ->UDP 소켓이 하나 있다면 어디건 데이터를 전송할 수 있다. c. UDP 소켓은 TCP 소켓이 할당한 동일한 번호의 PORT에 재할당이 불가능하다. ..

명품 C언어 프로젝트 2.1장 연습문제

[1번 문제]/*임의의 영문 문자열에 대해 소문자는 대문자로, 대문자는 소문자로 동시에 변환하는 함수를 작성하시오*/#include #include //toupper, tolower#include void change(char str[]); int main(void){ char string[20]; printf("문자열 입력:"); scanf("%s", string); printf("문자열 변환:"); change(string); printf("바뀐 문자열:%s\n", string); return 0;} void change(char str[]){ int i; int length = strlen(str); for (i = 0; i = 65 && str[..

TCP/IP 소켓 프로그래밍 5장 내용 확인문제

1. TCP 소켓의 연결설정 과정인 Three-way handshaking에 대해서 설명해 보자. 특히 총 3회의 데이터 송수신이 이뤄지는데, 각각의 데이터 송수신 과정에서 주고 받는 데이터에 포함된 내용이 무엇인지 설명해 보자. >호스트 A가 호스트 B에게 전달하는 메세지를 SYN이라고 한다. 이렇듯 호스트 A가 호스트 B에게 전송하는 데이터의 동기화를 위해서 처음 보내는 '동기화 메세지'를 가리켜 SYN이라고 한다. 이어서 호스트 B가 호스트 A에게 전달하는 메세지를 가리켜 SYN+ACK라고 한다. 이는 처음으로 보내는 동기화 메세지와 앞서 수신한 메세지에 대한 응답의 내용까지 포함되어 있기 때문이다. 그리고 마지막으로 호스트 A가 호스트 B에게 전달하는 메세지에는 동기화 정보가 포함되어 있기 때문에..

명품 C언어 프로젝트 1장 연습문제

[1번 문제]/*입력한 문자가 한글인지 영문이지를 구분하는 프로그램을 작성하시오*/#include #include int main(void){ unsigned char word[100]; //앞에 unsigned를 꼭 붙여야합니다! printf("문자를 입력해주세요:"); scanf("%s", word); for (int i = 0; word[i] != NULL; i++) //문자열의 끝은 NULL입니다 { if (word[i] >= 65 && word[i] = 97 && word[i] = 176 && word[i]

TCP/IP 소켓 프로그래밍 4장 내용 확인문제

1. TCP/IP 프로토콜 스택을 4개의 계층으로 구분해 보자. 그리고 TCP 소켓이 거치는 계층구조와 UDP 소켓이 거치는 계층구조의 차이점을 설명해보자. >TCP는 LINK 계층IP 계층TCP 계층Application 계층의 구조를 갖는다 UDP는 LINK계층IP 계층UDP 계층Application 계층의 구조를 갖는다 2. TCP/IP 프로토콜 스택 중에서 LINK 계층과 IP 계층이 담당하는 역할이 무엇인지 설명해보자. 그리고 이 둘의 관계도 함께 설명해보자. >LINK 계층은 LAN, WAN, MAN 같은 네트워크 표준과 관련된 프로토콜을 정의하는 영역으로, 물리적인 성격의 표준을 정의하고 있는 계층으로 정리할 수 있다. 반면 IP 계층은 인터넷을 통한 데이터 전송의 표준을 정의하고 있는 계층이..

TCP/IP 소켓 프로그래밍 3장 내용 확인문제

1. IP주소 체계인 IPv4와 IPv6의 차이점은 무엇인가? 그리고 IPv6의 등장배경은 어떻게 되는가? >IPv4는 4바이트 주소체계, IPv6는 16바이트 주소체계이다. IPv4 기반의 IP주소 고갈을 염려하여 IPv6가 등장하게 되었다. 2. 회사의 로컬 네트워크에 연결되어 있는 개인 컴퓨터에 데이터가 전송되는 과정을, IPv4의 네트워크 ID와 호스트 ID, 그리고 라우터의 관계를 기준으로 설명하여라. >데이터 전송과정의 첫번째는 속한 목적지가 속한 네트워크로의 데이터 전송이다. 이 때 사용되는 것이 IP 주소 중의 네트워크 ID라고 불리는 부분이다. 네트워크 ID란 네트워크를 구분할 수 있는 주소 정보로써 이를 통해서 해당 네트워크로 데이터가 전송된다. 그리고 이렇게 전송된 데이터는 네트워크를..

TCP/IP 소켓 프로그래밍 2장 내용 확인문제

1.프로토콜이란 무엇을 의미하는가? 그리고 데이터의 송수신에 있어서 프로토콜을 정의한다는 것은 어떠한 의미가 있는가? >프로토콜은 통신의 방법을 약속해 놓은 통신규약을 의미한다. 따라서 프로토콜을 정의한다는 것은 데이터 송수신에 필요한 약속을 정의한다는 의미이다. 2.연결지향형 소켓인 TCP 소켓의 특성 세가지를 나열하라 >a. 중간에 데이터가 소멸되지 않고 목적지로 전송된다. b. 전송 순서대로 상대 호스트로 데이터가 수신된다. c. 전송되는 데이터의 경계가 존재하지 않는다.(여러 차례 나누어서 데이터를 보내도 한번에 데이터를 수신할 수 있다.) *반면, UDP 소켓 같은 경우 여러 차례 나누어서 데이터를 보내면 여러 차례 나누어서 데이터를 수신해야 한다. (전송되는 데이터의 경계가 존재) 3. 다음 ..

TCP/IP 소켓 프로그래밍 1장 내용확인 문제

1.네트워크 프로그래밍에서 소켓이 담당하는 역할은 무엇인가? 그리고 소켓이라는 이름이 붙인 이유는 어디에 있는가? >소켓은 물리적으로 연결되어있는 호스트간 데이터 송수신에 필요한 프로토콜로부터 프로그래머를 자유롭게 하는 데이터 송수신의 매개체이다. 소켓은 인터넷이라는 거대한 네트워크 망으로의 연결 도구로 사용되기 때문에 소켓이라는 이름이 붙게 된 것이다. 2. 서버 프로그램에서는 소켓생성 이후에 listen 함수와 accept 함수를 차례대로 호출한다. 그렇다면 이들의 역할은 각각 무엇인지 비교해서 설명해보자 >listen 함수가 호출되면 소켓은 연결요청이 가능하게 된 상태이다. 그러나 실제 연결이 완료되려면 accept 함수가 호출되어야한다. 3.리눅스의 경우 파일 입출력 함수를 소켓 기반의 데이터 입..