본문 바로가기
01.Bit 단기/C

06_타입

by chojju 2018. 4. 28.
반응형

#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

댓글