이번 포스트는 C언어에서의 Printf 함수의 서식문자와 특수문자를 알아보도록 하겠습니다.
1) 서식문자란 ?
변수를 표현해주는 특수한 문자를 말한다.
서식문자 | 출력대상 (자료형) | 출력 형태 |
%d | char, short, int | 부호 있는 10진수 정수 |
%ld | long | 부호 있는 10진수 정수 |
%lld | long long | 부호 있는 10진수 정수 |
%u | unsigned int | 부호 없는 10진수 정수 |
%o | unsigned int | 부호 없는 8진수 정수 |
%x, %X | unsigned int | 부호 없는 16진수 정수 |
%f | float, double | 10진수 방식의 부동소수점 실수 |
%Lf | long, double | 10진수 방식의 부동소수점 실수 |
%e, %E | float, double | e 또는 E 방식의 부동소수점 실수 |
%c | char, short, int | 값에 대응하는 문자 |
%s | char * | 문자열 |
%p | void * | 포인터의 주소 값 |
1) 정수의 출력을 위한 서식문자 : %d, %u, %o, %x
unsigned는 양의 정수만 출력이 가능한 것을 말한다.
양의 정수만 출력이 가능한 이유는 8진수, 16진수는 음의 정수 표현에 거의 사용되지 않기 때문이다.
2)실수의 출력을 위한 서식문자 : %f, %e, %g
#include <stdio.h>
int main(){
int a = 67.89;
printf("%d\n", a);
printf("%f\n", a);
printf("%c\n", a);
printf("%x\n", a);
}
|
cs |
코드를 보면 int형 변수 a가 선언되어 있고, 그 값을 67.89로 넣어뒀다.
위 코드실행 결과가 어떻게 출력될까?
1) %d는 위에 표를 보면 정수만을 출력하는 서식문자라고 이야기했다. 즉, 소수점이 붙어있어도 정수만 출력한다는 것
출력 결과 : 67
2) %f는 실수형으로 float와 double형 변수를 출력대상으로 하고 있다. 즉, 소수점까지 출력해주긴 하나 예제에서는
int 타입으로 선언되었기 때문에 출력 결과는 0.000000으로 출력결과가 나오지 않는다.
3) %c는 문자를 출력해준다. 대표적으로 char형이 있지만 int와 short도 지원한다.
67을 문자열로 출력하면 결과는 어떻게 될까? 출력 결과는 C 이다.
왜 숫자가 문자로 출력이 되었을까? 이는 컴퓨터가 문자를 숫자로 받아 들이기 때문이다.
문자의 코드값을 아스키 코드라고 하는데, 이 값을 참조하면 65 = A, 66 = B, 67 = C 가 된다.
4) %x는 16진수로 출력되기 때문에 결괏값은 43이다.
이상 서식문자 포스팅 끝.
'Algorithm > C언어' 카테고리의 다른 글
[ 6. C언어의 기본 - 제어문의 반복문 ] (0) | 2021.10.06 |
---|---|
[ 5. C언어의 기본 - 제어문의 조건문 ] (0) | 2021.10.05 |
[ 4. C언어의 기본 - 연산자 ] (0) | 2021.09.30 |
[ 3. C언어의 기본 - 변수 & 자료형 ] (0) | 2021.09.30 |
[ 1. C언어의 기본 구조 ] (0) | 2021.09.30 |