본문 바로가기
Coding/C

C언어 - 서식 지정자 (서식 문자)

by ZaRi 2023. 5. 2.

 

 저번 printf() 출력 함수에 들어가는 제어 문자(escape sequence)에 이어 오늘은 서식 지정자 (서식 문자)에 대해 알아 보겠습니다.


서식 지정자

 서식 지정자는 이제 다음과 같이 있습니다.

%c 문자 %x 16진수
%s 문자열 %o 8진수
%d 정수 %p 포인터 주소
%f 실수    

 이 것을 사용하면 서식 지정자로 지정해준 것을 문자열에 같이 출력해줄 수 있습니다.

 예를 들어 현재 btc 코인의 가격이 100원이라고 하고 출력해보겠습니다.

 

#include <stdio.h>

int main()
{
	printf("btc: 100원");
	return 0;
}

 그러면 다음과 같이 표현할 수 있습니다. 하지만 서식 지정자를 사용하면 이렇게 사용할 수 있습니다.

 

#include <stdio.h>

int main()
{
	printf("btc: %d원", 100);
	return 0;
}

 출력해보면.

 

btc-가격-출력
btc

 두 개다 다음과 같은 결과가 나옵니다. 여기서 차이점은 첫번째 코드는 100이 문자열이고, 두번째 코드는 100이 정수형 입니다.

 이걸 사용하게 되면 변수를 활용하여도 출력할 수 있습니다.

 

#include <stdio.h>

int main()
{
	int btc;
	btc = 100;

	printf("btc: %d원", btc);
	return 0;
}

int btc; 로 btc라는 변수를 선언해주고 100을 btc 변수에 담았습니다.

(참고로 int 는 정수형 변수를 선언할 때 사용합니다)

그 다음 출력해보면.

 

btc-가격-출력-2
btc-2

 이렇게 결과가 위에와 같이 나오는 것을 확인 할  수 있습니다.

 그러면 이제 이것을 활용해서 printf() 포스트에서 활용했던 코드를 업그레이드 해보겠습니다.

 

 

 

 

활용하기

 우선 그때 코드를 가져와 보겠습니다.

#include <stdio.h>

int main()
{
	printf("----------\n");
	printf("-투자종목-\n");
	printf("BTC: 50 \n");
	printf("ETH: 30 \n");
	printf("XRP: -30 \n");
	printf("----------\n");
	printf("종합: 50 \n");
	printf("평균: 16.66 \n");
	printf("----------\n");

	return 0;
}

 이제 이 코드를 변수와 서식 지정자를 활용하여 바꾸어 보겠습니다.

 

#include <stdio.h>

int main()
{
	int btc, eth, xrp, total;
	btc = 50;
	eth = 30;
	xrp = -30;

	total = btc + eth + xrp;

	printf("----------\n");
	printf("-투자종목-\n");
	printf("BTC: %d \n", btc);
	printf("ETH: %d \n", eth);
	printf("XRP: %d \n", xrp);
	printf("----------\n");
	printf("종합: %d \n", total);
	printf("평균: %.2f \n", total/3.0);
	printf("----------\n");

	return 0;
}

 이렇게 만들수 있습니다. 

 참고.

total/3.0 은 실수형으로 자동형변환을 해주기 위함.

%f 사이에 '.숫자' 를 넣으면 그 숫자만큼의 소수점을 표현해준다.

 

 그럼 이제 출력해보겠습니다.

투자종목에-btc&#44;-eth&#44;-xrp-얼마나-수익이-있었는-지-출력.-수익의-종합&#44;-그리고-평균-출력.
활용하기

 서식 지정자에 맞춰서 잘 출력 된 것을 확인 할 수 있습니다.


 오늘은 서식지정자에 대해 알아보았습니다. 이제 변수형하고 이런 서식지정자들을 처음에 배울때는 너무 많아서 어려울 수 있지만 자주 쓰다보면 자연스레 익혀지는 것 같습니다. 다음에는 scanf 함수와 변수 선언 등을 알아보도록 하겠습니다.

댓글