Isaac87
2014. 6. 7. 10:01
데이터의 표현범위
#include <stdio.h> #include <limits.h> // 정수형의 최솟값(MIN), 최댓값(MAX) 상수 정의 int main(void) { printf(“ char의 최솟값 %d, 최댓값 %d \n", CHAR_MIN, CHAR_MAX); printf("short의 최솟값 %d, 최댓값 %d \n", SHRT_MIN, SHRT_MAX); printf(“ int의 최솟값 %d, 최댓값 %d \n", INT_MIN, INT_MAX); printf(“ long의 최솟값 %d, 최댓값 %d \n", LONG_MIN, LONG_MAX); return 0; }
|
unsigned
#include <stdio.h> int main(void) { signed char num1=-126; // -128 ~ 127의 데이터 표현 범위 unsigned char num2=130; // 0 ~ 256의 데이터 표현 범위 printf("%d \n", num1); // -126 출력 printf("%u \n", num2); // 130 출력 return 0; }
|
오버플로우 & 언더플로우
#include <stdio.h> int main(void) { char num1=-129; // 최솟값(-128)보다 -1만큼 작은 값 저장(언더플로우) char num2=128; // 최댓값(127)보다 +1만큼 큰 값 저장(오버플로우) printf("%d \n", num1); // 127 출력 printf("%d \n", num2); // -128출력 num1=-130; // 최솟값(-128)보다 -2만큼 작은 값 저장(언더플로우) num2=129; // 최댓값(127)보다 +2만큼 큰 값 저장(오버플로우) printf("%d \n", num1); // 126 출력 printf("%d \n", num2); // -127출력 return 0; } |
문자형 출력
#include <stdio.h> int main(void) { char val1; val1='A'; printf("%d %c \n", val1, val1); // 65 A 출력 val1='B'; printf("%d %c \n", val1, val1); // 66 B 출력 val1='C'; printf("%d %c \n", val1, val1); // 67 C 출력 return 0; } |
아스키코드 출력
#include <stdio.h> int main(void) { char val1; int val2; printf("문자 입력 : "); scanf("%c", &val1); printf("ASCII 코드 값 %d입니다. \n", val1);
printf("ASCII 코드 값 입력 : "); scanf("%d", &val2); printf("문자로 %c입니다.\n", val2);
return 0; } |
강제 형변환
#include <stdio.h> int main(void) { int num1=10, num2=3; double result; result=num1/num2; printf("결과 : %lf \n", result); result=(double)num1/num2; printf("결과 : %lf \n", result);
result=num1/(double)num2; printf("결과 : %lf \n", result); result=(double)num1/(double)num2; printf("결과 : %lf \n", result); return 0; } |