반응형

C언어 118

디지털 시계 만들기

디지털 시계 만들기 동영상 강의 C언어 학습할 때 콘솔 응용만 매 번 만들어서 지루할 수 있죠. 특별히 무엇인가를 전달하기 위한 목적보다 지루함을 덜기 위해 "그냥" 만드는 디지털 시계 만들기 실습입니다. 현재 초 단위 시간을 얻어오는 time(0) 함수와 초 단위 시간을 지역 시각으로 변환해 주는 localtime_s 함수를 이용합니다. 콘솔 응용에서 커서 위치를 이동시키는 SetConsoleCursorPosition 함수는 Win32 API 함수를 이용합니다. 키보드를 눌렀는지 체크하는 부분은 _kbhit 함수를 이용합니다. #include #include #include #include char* digits[10][5][4] =//0~9까지 출력할 정보 { { { "■","■","■","■" },..

실수 형식 double, float 표현과 출력 [언제나 C언어]

실수 형식 메모리 크기 확인 #include //표준 입출력 헤더 int main(void) { printf("sizeof(double):%d bytes, sizeof(float):%d bytes\n", sizeof(double),sizeof(float)); return 0; } 실수 리터럴 표현 크기 확인 #include //표준 입출력 헤더 int main(void) { printf("sizeof(0.1):%d bytes\n", sizeof(0.1)); printf("sizeof(0.1f):%d bytes\n", sizeof(0.1f)); return 0; } 다양한 실수 표현 #include //표준 입출력 헤더 int main(void) { double df = 3.4; //실수 표현 디폴트 형식..

확장 문자 형식 wchar_t와 한글 문자 [언제나 C언어]

char 형식의 한계 #include //표준 입출력 헤더 int main() { char ch = 'ㄱ'; printf("%c\n", ch); return 0; } wchar_t 제공, 하지만... #include //표준 입출력 헤더 int main() { wchar_t ch = L'ㄱ'; wprintf(L"%c\n", ch); return 0; } locale 지정 #include //표준 입출력 헤더 #include int main() { wchar_t ch = L'ㄱ'; setlocale(LC_ALL, "KOREAN"); wprintf(L"%c\n", ch); return 0; } wchar_t 형식 크기 #include //표준 입출력 헤더 #include int main() { printf(..

문자 형식 char와 ASCII 코드[언제나 C언어]

숫자 문자, 소문자, 대문자 ASCII 코드 값 확인 #include //표준 입출력 헤더 int main() { printf("%c:%d %#x\n", '0', '0', '0'); printf("%c:%d %#x\n", 'A', 'A','A'); printf("%c:%d %#x\n", 'a', 'a','a'); return 0; } #include //표준 입출력 헤더 int main() { printf("%c:%d %#x\n", '0', '0', '0'); //0011 0000 printf("%c:%d %#x\n", '1', '1', '1'); //0011 0001 printf("%c:%d %#x\n", 'A', 'A','A'); //0100 0001 printf("%c:%d %#x\n", 'B', ..

정수 형식과 표현 범위 (char, short, int, long,…) [언제나 C언어]

문자 표현과 정수 표현의 메모리 크기 확인 #include //표준 라이브러리 헤더 #include //표준 입출력 헤더 int main() { printf("%d %d\n", sizeof('a'), sizeof(23)); system("pause"); return 0; } 정수 형식의 메모리 크기 확인 #include //표준 라이브러리 헤더 #include //표준 입출력 헤더 int main() { printf("%d %d\n", sizeof('a'), sizeof(23)); printf("char:%d\n", sizeof(char)); printf("short:%d\n", sizeof(short)); printf("int:%d\n", sizeof(int)); printf("long:%d\n", s..

정수 표현 및 출력 (10진수, 8진수, 16진수) [언제나 C언어]

1. 정수 표현 (10진수, 8진수, 16진수로 출력) #include //표준 라이브러리 헤더 파일 #include //표준 입출력 헤더 파일 int main()//프로그램 진입점 { //10진수 출력 printf("%d\n", 10); printf("%d\n", 010);//8진수 10(8진수) = 8+0 = 8 printf("%d\n", 0x10);//16진수 10(16진수)16+0 = 16 system("pause"); return 0; } 2. 정수 출력 (10진수, 8진수, 16진수) #include //표준 라이브러리 헤더 파일 #include //표준 입출력 헤더 파일 int main()//프로그램 진입점 { //16진수 0x12345678 //0001 0010 0011 0100 0101 ..

언제나 C언어 시작합니다.

언제나 C언어 집필과 동시에 동영상 강의 제작을 시작합니다. 페이스 북의 어느 스터디 그룹에서 올라온 글과 댓글을 보고 C언어 집필을 다시 해야겠다는 생각이 들더군요. 중학생이 facebook의 프로그래밍 관련 학습 그룹에 C언어 관련 학습 질문이 올라 온 것이 있었습니다. 자신은 카이스트 IT 교육센터에서 C언어 특강을 받고 있는데 어떻게 학습해 나가면 좋은지 질문하더군요. 그런데 어느 한 분께서 왜 Python으로 가시지 C언어를 선택했냐고 답변을 올리더군요. 지금이라도 Python을 선택하라고 조언을 하는 것을 보고 깜짝 놀랐습니다. 아마도 그 분은 Python의 강력함에 빠지신 것 같아요. IT 생태계가 건강하기 위해서는 다양한 엔지니어가 필요하다고 생각합니다. 언제나 C언어를 통해 입문하는 이들..

float 4바이트 실수 형식 메모리에 표현 방식을 확인할 수 있는 C 소스 코드 작성하기

4바이트 실수를 메모리에 표현하는 방식에 관한 강의 동영상 #include //union은 내부 멤버 중에 제일 큰 멤버 크기의 메모리를 할당합니다. typedef union { float value; //4바이트 struct { unsigned exponent : 23; //23비트 unsigned mantissa : 8; //8비트 unsigned sign : 1; //1비트 }sv; //4바이트 unsigned iv;//4바이트 }test; int main(void) { printf("%.20f\n", 0.1 + 0.2); //실수 형식은 10진수 체계로 메모리에 표현하지 않음을 확인 test t; t.value = -13.625; printf("부호부:%u\n", t.sv.sign); //%u는 ..

[네트워크 보안, C언어 프로젝트] 패킷 분석기 Part 1. 프로젝트 소개

패킷 분석기 Part1. 프로젝트 소개 동영상 [C 프로젝트] 패킷 분석기 Part 1. 프로젝트 소개 및 포인터 가지고 놀기 – 언제나 휴일 프로젝트에서 사용할 PCAP 파일 다운로드 (PCAP 파일이면 다른 파일도 관계 없어요.) 안녕하세요. 언제나 휴일에 언휴입니다. 이번 강의는 “패킷 분석기 Part 1″입니다. 다루는 내용은 앞으로 만들 프로젝트가 무엇인지 소개입니다. 그리고 프로젝트에서 자주 표현하는 구조체와 char 배열(char 포인터) 사이의 형식 변환 방법을 다루고 있어요. 프로젝트 소개 네트워크 보안 기술을 익히기 위해서 패킷을 수집하고 패킷을 분석하는 일은 기본적일 수 ehpub.co.kr 소스 코드 Program.c #include #include typedef struct _Da..

반응형