1. 형식 문자(Format Character)
데이터를 입/출력 할 때, 컴퓨터가 그 Type을 인식할 수 있도록, 데이터의 해석을 지시해주는 문자이다. 우리가 흔히 사용하는 scanf와 printf에서 주로 사용되며, %c, %d, %f 등과 같은 문자를 의미한다. 형식 문자가 사용되는 이유는, 같은 데이터라도 해석하는 방향에 따라 다른 문자가 될 수 있기 때문이다. 예로, 'a'라는 알파벳 소문자 데이터는 단일 character로 인식하는 경우(%c) a를 출력하지만, 정수로 인식하는 경우(%d) 97을 출력할 수 있다. 따라서 C 언어에서는 다양한 형식 문자를 지원한다.
- %c : char, short, int, 단일 바이트 문자 입/출력에 사용.
- %d, %i : char, short, int, 부호 있는 10진수 정수.
- %lld : long long, 부호 있는 10진수 정수.
- %u : unsinged int, 부호 없는 10진수 정수.
- %o : unsinged int, 부호 없는 8진수 정수.
- %x(%X) : unsinged int, 부호 없는 16진수 정수.(x는 a,b,c,d,e,f, X는 A,B,C,D,E,F를 사용)
- %f : float, double, 부호 있는 10진수 값을 표현하며, 부동소수점 형식으로 사용. 기본적으로 소수점 6자리까지 표현.
- %lf : long double, 부호 있는 10진수 값을 표현하며, 부동소수점 형식으로 사용. 기본적으로 소수점 6자리까지 표현.
- %e(%E) : float, double, 부호 있는 10진수 값을 표현하며, e, E를 이용한 지수형으로 표현.
- %g(%G) : float, double, 부호 있는 10진수 값을 표현하며, 기본적으로 %f와 동일하나, 필요시 %e와 동일.
- %s : 문자열, 단일 바이트 문자의 연속(array of character).
- %p : 포인터 유형, 인수를 16진수로 된 주소로 표시.
참조 : https://msdn.microsoft.com/ko-kr/library/hf4y5e3w.aspx
위의 형식문자들을 이용해 출력 형식에 옵션을 줄 수도 있다. %10s와 같이 숫자를 적는 경우, 출력에 있어서 숫자로 기입한 만큼의 공간을 할당해 준다. 정수와 실수의 출력에 있어 %05d와 같은 형식은 출력될 공간을 할당해주고, 남은 부분을 0으로 채워준다. 또한 할당받은 공간에서 기본적으로 오른쪽 정렬이나, -옵션을 통해서 왼쪽정렬로 변경할 수 있다. 예로 %-5d와 같은 경우는, 5칸의 공간에 정수를 왼쪽 정렬해 출력하겠다는 의미이다. 실수의 경우에는 소숫점 아래 몇자리 까지 표현할 것인지 %.2f등과 같이 표현할 수 있다.
2. 형식 문자 예시
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include<stdio.h> int main(void){ int integer=12; long long long_int=-150; float fraction=0.0000000000392; char character='a'; char *str="HELLO WORLD!"; printf("\ Int : %d\n\ long long : %lld\n\ OCT : %o\n\ HEX : %X\n\ float : %f,%e,%G\n\ char : %c\n\ str : %s\n\ ",integer,long_int,integer,integer,fraction,fraction,fraction,character,str); return 0; } | cs |
'프로그래밍 > C & C++' 카테고리의 다른 글
[C] 4. 표현식(Expression) (0) | 2017.02.03 |
---|---|
[C] 3. 표준 입출력과 주석 (0) | 2017.01.01 |
[C] cf. ASCII CODE (0) | 2016.12.28 |
[C] 2. C 언어의 자료형 (0) | 2016.12.25 |
[C] 1. C 언어의 시작 (0) | 2016.12.25 |