반응형

C언어 323

확장 문자 형식 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언어 소스] 순차 정렬 알고리즘 시뮬레이션(정렬 과정 시각화)

소스 코드 //http://ehpub.co.kr //[언제나 C언어] 순차 정렬(Sequential Sort) [예제 Center] #pragma warning(disable:4996) #include #include #include #define LENGTH(arr) (sizeof(arr)/sizeof(arr[0])) #define SWAP(i, j) {int t; t=i; i=j; j=t;} #include //Sleep enum Color { LACK, BLUE, GREEN, JADE, RED, PURPLE, YELLOW, WHITE, GRAY, LIGHT_BLUE, LIGHT_GREEN, LIGHT_JADE, LIGHT_RED, LIGHT_PURPLE, LIGHT_YELLOW, LIGHT_WHIT..

10진수를 2진수로 변환, 1의 개수 구하기, 반복문, 나누기, 나머지 연산 사용 불가

소스 코드 #include int BinaryCounter(int num,int count) { int half_num = num >> 1; int isone = 0; if (num == 0) { return count; } isone = (num != (half_num + half_num)); if (isone) { count++; } count = BinaryCounter(half_num,count); printf("%d", isone); return count; } void TestBinaryCounter(int num) { int count = 0; printf("=== Test number: %d \n", num); count = BinaryCounter(num, 0); printf("\n이진수..

[C언어 소스] 콜백을 이용한 정렬 함수 구현 및 사용 예

[C언어 소스] 콜백을 이용한 정렬 함수 구현 및 사용 예 소스 코드#pragma warning(disable:4996) #include #include #include #include typedef int (*Compare)(void *,void *); //비교한 결과를 반환하는 함수 포인터 정의 typedef struct _Stu Stu; #define MAX_NAME_LEN 20 struct _Stu { int num; char name[MAX_NAME_LEN+1]; }; void StuSut(Stu *stu, int num,const char *name); Stu *NewStu(int num,const char *name) { Stu *stu = (Stu *)malloc(sizeof(Stu)); ..

반응형