본문 바로가기
Develop/C

5 C언어 입력과 자료형

by 구운밤이다 2016. 6. 26.
728x90
반응형

2016/06/26 - [분류 전체보기] - C언어 비트연산자


안녕하세요. 오늘은 입력과 자료형에 대해서 알아보도록 하겠습니다! 먼저 자료형의 종류데이터의 표현변위를 알려드리면

이렇습니다 그리고 이 자료형 앞에 unsigned 를 붙이면 부호가 양수로 결정되요!! unsigned 말고 자료형 앞에 const 를 붙이면 변수가 상수로 바뀌고 값을 변경할 수 없게 됩니다!! 또한 sizeof을 이용해서 변수나 자료형의 크기를 알 수 있습니다

그럼 예제를 통해 알아볼까요?? 먼저 자료형의 크기를 알아보겠습니다!



#include <stdio.h>


int main() {

    printf("char's size: %d\n", sizeof(char));

    printf("short's size: %d\n", sizeof(short));

    printf("int's size: %d\n", sizeof(int));

    printf("long's size: %d\n", sizeof(long));

    printf("long long's size: %d\n", sizeof(long long));

    printf("float's size: %d\n", sizeof(float));

    printf("double's size: %d\n", sizeof(double));

    printf("long double's size: %d\n", sizeof(long double));

    return 0;

}

이 프로그램을 실행해보면

이런 결과가 나오는데요 바이트의 크기와 같은 것을 알 수 있습니다 

이번엔 변수의 크기를 알아봅시다


#include <stdio.h>


int main() {

    char ch = 43;

    int num1 = 34;

    double num2 = 43;

    printf("ch's size: %d\n", sizeof(ch));

    printf("num1's size: %d\n", sizeof(num1));

    printf("num2's size: %d\n", sizeof(num2));

    return 0;

}

이 예제 또한 실행해보면

이런 결과가 나옵니다 이제 입력하는 방법을 알아보도록 할게요~

이 예제를 한번 볼까요




#include <stdio.h>


int main() {

    char ch = 'A';

    int num1;

    double num2;

    // char

    printf("%c\n", ch);

    printf("%d\n\n", ch);

    

    // int

    scanf("%d", &num1);

    printf("%d\n\n", num1);

    

    //double

    scanf("%lf", &num2);

    printf("%lf\n", num2);

    

    printf("%.lf\n", num2);

    printf("%.2lf\n", num2);

    return 0;

}

이 예제의 결과는 다음과 같아요~

먼저 char 형태의 출력을 봅시다

근데 %c 일때는 영어 A 로 %d 일때는 숫자 65로 나오죠?? 이것은 %c가 문자 형태로 출력하라! 라는 의미를 같고 있기 때문입니다

그리고 A가 65라는 정수값을 가지고 있는 것은 A의 아스키 코드값이 65이기 때문입니다 각각의 키보드는 아스키 값을 가지고 있는데요

아스키 코드가 궁금하신 분들은~


표보기 버튼을 눌러주세요!

이번엔 int 값의 입력과 출력을 보겠습니다 int의 입력도 %d를 사용하고 있죠??

하지만 scanf("%d", &num1); 여기서 변수 num1앞에 & 연산자를 붙이고 있습니다

그럼 &의 의미가 뭐냐!! &의 의미는 num1의 주소값에 저장을 해라!! 이런 의미입니다 이 연산자는 나중에 포인터 변수를 할때 또 사용을 하게 됩니다

이번엔 double의 입력과 출력 형태를 보도록 할게요 double은 %d 대신에 %lf를 사용하게 됩니다 근데 이게 출력을 하게 되면 소수점 이하로 숫자가 6개나 나오게 됩니다..ㅎㅎ

이게 너무 많다 싶으면 %lf앞에  . 을 붙여서 조정해 주면 되요 예제처럼 %.lf %.2lf 이렇게 해주면 정수만, 소수점 이하로 두개만 나오게 됩니다


모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다

728x90
반응형

'Develop > C' 카테고리의 다른 글

7 C언어의 반복문과 특수문자!!  (0) 2016.06.27
6 C언어 형 변환  (0) 2016.06.27
4 C언어 비트연산자  (7) 2016.06.26
3 C 언어의 연산자  (2) 2016.06.24
2 C언어 변수와 주석  (2) 2016.06.23

댓글