#include <stdio.h>
void TypeTest();
void CharTest();
void DoubleTest();
void TypeCangeTest();
void main()
{
// TypeTest();
// CharTest();
// DoubleTest();
TypeCangeTest();
}
void TypeCangeTest()
{
int a = 1, b = 10;
float f1 = 10.0f;
int d1 = a / b; //암시적 형변환
// 동일타입의 연산결과는 동일타입의 결과
int d2 = (int)(a / f1); // 서로다른타입의 연산결과는 표현범위가 큰쪽
int num1 = 10;
short snum1 = 10;
num1 = snum1; // int = short
}
void DoubleTest()
{
float f = 10.1f;
float f1 = 10.0f;
int i;
for (i = 0; i < 100; i++)
{
printf("%f\n", f1);
if (f1 == 11.0f)
break;
f1 = f1 + 0.1f;
}
}
void CharTest()
{
char ch = 'A'; // ' ' : 작은 따옴표
// 문자는 숫자로 변환되어 저장됨
char ch1;
char ch2;
char ch3;
printf("%c : %d\n", ch, ch);
ch1 = 0; // 0
ch2 = '0'; // 48
//ch3 에 저장된 대문자가 몇번째 대문자인가?
ch3 = 'Z';
printf("%d번째 문자\n", ch3 - 'A'+1);
}
void TypeTest()
{
short s; //변수 선언
short s1;
int num; //변수 선언
s = 32767; // = (대입연산자) L-value = R-value
// 반드시 L & R 은 타입이 일치해야 한다.
s1 = s;
s1 = s1 + 1; // s1 = 32767 + 1;
printf("%d : %d\n", s1, s);
num = 10; // 10진수
printf("%o : %d : %x\n", num, num, num);
num = 012; // 8진수
num = 0xa; // 16진수
}
'01.Bit 단기 > C' 카테고리의 다른 글
08_연산자 (0) | 2018.04.28 |
---|---|
07_기본IO (0) | 2018.04.28 |
05_함수의 return (0) | 2018.04.28 |
04_C언어분할컴파일구조 (0) | 2018.04.28 |
03_함수의 호출흐름 (0) | 2018.04.28 |
댓글