반응형

소스 코드 353

[정답] 디딤돌 C언어 39. 조건문(if, else)

[정답] 39. 조건문(if, else) ◈ 기본 연습 1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오. 답: //두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램 #include int main(void) { int a, b; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b) { printf("두 수 중에 큰 수는 %d\n", a); } else { printf("두 수 중에 큰 수는 %d\n", b); } return 0; } 2. 0~100 사이의 정수를 입력받은 후에 90~100일 때 A, 80~89일 때 B, 70~79일 때 C, 60~69일 때 D, 50~59일 때 F, 그 외에는 NA를 출력하는 프로그램..

[정답] 디딤돌 C언어 38. 정리하기 (연산자)

[정답] 38. 정리하기 (연산자) 1. 다음 리터럴 상수로 초기값을 설정하는 선언문 중에서 오류가 있는 것을 고르시오. a. char c = "hello"; b. int i = 'a'; c. char c = 38; d. char c = 0xC; 답: a "hello"는 문자열이며 char 형식을 원소로 하는 배열이나 포인터 형식 변수로 사용할 수 있습니다. 2. 다음 코드를 수행했을 때 출력 결과를 예측하시오. printf("%d\n", 8^8); 답: ^ 연산은 비트 자리별로 같으면 0이고 다르면 1로 계산하는 연산입니다. 좌항과 우항이 같은 수이므로 모든 자리는 같으며 따라서 결과도 모든 자리가 0입니다. 3. 다음 코드를 수행했을 때 출력 결과를 예측하시오. printf("%d\n", 2 5. 다..

[정답] 디딤돌 C언어 36. 증감 연산자

[정답] 26. 증감 연산자 ◈ 기본 연습 다음 프로그램의 실행 결과를 예측하시오. #include int main() { int i = 8, re = 0; re = i++; printf("i:%d re:%d \n", i, re); return 0; } 답: i:9 re:8 re = i++; 연산은 i++ 연산을 수행하고 연산 결과를 re에 대입하는 구문입니다. i++; 은 자신의 값을 1 증가하며 연산 결과는 증가하기 전의 값입니다. 따라서 i는 1 증가하여 9이며 re에는 증가하기 전의 값이 8입니다. 본문: 36. 증감 연산자

[정답] 디딤돌 C언어 35. 대입 연산자

[정답] 35. 대입 연산자 ◈ 기본 연습 1. 다음 프로그램의 출력 결과를 예측하시오. #include int main() { int i = 8; i *= 4; printf("%d \n", i); return 0; } 답: 32 i *= 4; 는 i = i*4; 와 같은 결과를 갖습니다. 2. 다음 프로그램의 출력 결과를 예측하시오. #include int main() { int i = 8; int j = 0; j = i == 8; printf("%d %d\n", i, j); return 0; } 답: 8 1 j=i==8; 은 i==8 연산을 수행한 후에 수행 결과를 j에 대입합니다. i==8은 연산 결과가 참이므로 1입니다. 3. 다음 프로그램에서 잘못된 부분을 찾고 이유를 설명하시오. #includ..

[정답] 디딤돌 C언어 29. 산술 연산자

[정답] 29. 산술 연산자 ◈ 기본 연습 1. 두 개의 정수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램을 작성하세요. 답: //두 개의 정수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램 #include int main(void) { int a,b; printf("두 개의 정수 입력:"); scanf_s("%d%d",&a,&b); printf("합:%d 차:%d 곱:%d 몫:%d\n",a+b,a-b,a*b,a/b); return 0; } 2. 두 개의 실수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램을 작성하세요. 답: //두 개의 실수를 입력받아 합, 차, 곱, 몫을 출력하는 프로그램 #include int main(void) { double a,b; printf("두 개의 실수 입력..

[정답] 디딤돌 C언어 22. 정리하기 (형식)

[정답] 22. 정리하기 9. 기본 형식(Type) 10. 정수 형식과 표현 범위 11. 메모리, 10진수, 2진수, 16진수 12. 부호있는 정수 표현 - 부호비트 필드 13. 부호있는 정수 표현 - 1진 보수 방식 14. 부호있는 정수 표현 - 2진 보수 방식 15. ASCII 코드 16. char 형식으로 정수 표현, 형변환 17. 정수 형식의 표현 범위 18. Overflow와 값 잘림 현상 19. 실수는 근사치 20. 실수 형식의 메모리 구조 21. 명명법 1. 다음 코드를 수행했을 때 출력 값이 다른 하나를 고르시오.#include int main(){ char a=0; printf("%d\n",97); printf("%d\n",0x61); printf("%d\n",'a'); printf("%..

[pcap 라이브러리] 11. libpcap과 메모리 매핑 기술을 이용하여 지연 덤프 소스 코드

libpcap과 메모리 매핑 기술을 이용하여 지연 덤프현재의 게시글은 앞으로 pcap 라이브러리를 이용하여 tshark 유틸과 같은 네트워크 트래픽을 수집하고 분석하는 도구를 만드는 과정을 게시하기 위해 어떠한 순서로 진행할 지 결정하기 위한 더미 코드입니다.2016년 6월 이후부터 다양한 프로그래밍 언어와 기술에 관한 글과 무료 동영상 강의를 제작할 계획이며 그 중에 하나가 네트워크 보안에 관한 사항입니다. 네트워크 보안에 관한 주제는 네트워크 프로토콜, 소켓 프로그래밍, 리눅스에서 tshark 흉내내기, 윈도우즈에서 tshark 흉내내기와 C#언어로 와이어샤크 흉내내기 등을 다룰 예정입니다.많은 관심과 조언 바랍니다.아직 입문하기 위한 더미 코드들만 올린 상태입니다.참고로 네트워크 프로토콜은 어느정도..

[pcap 라이브러리] 10. 기타 함수들 사용 예제 코드(pcap_is_swapped, pcap_freecode ,pcap_set_datalink)

기타 함수들 사용하는 저장 파일과 byte order가 같은지 확인int pcap_is_swapped(pcap_t *p); //0: 같음, 1:다름 //pc_stoswap.c#include int main(int argc,char **argv){ char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *pcap_handle; pcap_handle = pcap_open_offline(argv[1],errbuf); if(pcap_handle == 0){ printf("fail open_offline...%s\n",errbuf); } if(pcap_is_swapped(pcap_handle)==0){ printf("capture system's byte order is same with this h..

[pcap 라이브러리] 8. 저장한 파일을 이용하기 소스 코드 (pcap_open_offline)

저장한 파일을 이용하기device = pcap_open_offline(argv[1],errbuf); // char *device; pcap_t *pcap_handle; // device = pcap_lookupdev(errbuf);// if(device == 0){ printf("fail lookupdev...%s\n",errbuf); }// printf("find device: %s sniffing\n",device); pcap_handle = pcap_open_offline(argv[1],errbuf); if(pcap_handle == 0){ printf("fail open_offline...%s\n",errbuf); } //pcap_handle = pcap_open_live(device, 4096,..

[pcap 라이브러리] 7. 캡쳐한 패킷 파일로 덤프하기 소스 코드(pcap_dump_open, pcap_dump)

캡쳐한 패킷 파일로 덤프하기 덤퍼 열기pcap_dumper_t *pcap_dump_open(pcap_t *pcap_handle,const char *dfname); 캡쳐한 패킷 파일로 덤프pcap_dump(u_char *args,const struct pcap_pkthdr *header,const u_char *packet); //pc_dump.c#include "core_ehp.h" void catch_handler(u_char *args,cp_pkthdr *handle,cu_char *packet);void decode_eth(cu_char *base);int decode_ip(cu_char *base);int decode_tcp(cu_char *base);void decode_data(cu_char..

반응형