프로그래밍 언어/C C++

C언어의 입력,출력 및 자료형 정리

트리맨스 2019. 2. 10. 23:24
반응형

c언어에서 double 형식의 변수를 %d 로 받으면 계산을 할 때 오류가 납니다. (이상한 값 출력)

%lf 로 받아줘야지 정상적인 계산이 가능합니다.

마찬가지로 문자열을 %d 로 받으면 오류가 나고 %c 로 받아줘야지 정상적인 입력 및 출력이 가능해집니다.


나중에 볼려고 문자들을 정리해 보았습니다.

(8비트=1바이트,n은 각 자료형의 비트 크기)


 자료형태

 키워드

 크기

 문자

 범위

 문자형

 char

 1바이트

 %c

 -2^(n-1)~2^(n-1)-1

 정수형

 short

 2바이트

 %d

 int 

 4바이트

 %d

 double

 8바이트

 

 long

 4바이트

 (붙이는 속성 L)

 실수형

 float 

 4바이트

 %f

 3.4e+-38

 double

 8바이트

 %lf

 1.7e+-308


문자형 키워드나 정수형 키워드 앞에 unsigned를 붙이면 음수를 표현할 수 없다.

대신 양수에서 표현할 수 있는 범위가 2배 늘어난다. 하지만, 실수형 자료형에서는 unsigned를 붙일 수 없다.



예시)


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
 
 
int main()
 
{
    int i;
 
    scanf("%x",&i);
    printf("%d",i);    
}
cs


입력 : A  

출력 : 10


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
 
    char arr[10]={0};
    fgets(arr,sizeof(arr),stdin);
 
    printf("%s\n",arr);    
 
    for(int i=0;i<10;i++)
    {
        printf("%c",arr[i]);
    }
}
cs



입력 : asdf

출력 : asdf

   asdf


1
2
3
4
5
6
7
8
# include <stdio.h>
 
int main()
{
    long long i;
    scanf("%lld",&i);
    printf("%lld",i); 
 } 
cs



입력 : 1234123412341234

출력 : 1234123412341234  (int 형의 최대값은 2^31-1 에 비해 long long의 최대값은 2^63-1 이다)

반응형