본문 바로가기
C 프로그래밍

독학으로 배우는 C언어 005 형식 지정자 사용

by 솔토지빈 2024. 6. 4.
반응형

독학으로 배우는 C언어 005 형식 지정자 사용

Contents

     

    1. 형식 지정자의 개념

    prinf() 함수에서 자료를 출력하기 위해서 사용하는 서식 문자들이 있다.

    기본적으로 printf() 함수에서 정수를 출력할 때는 %d 소수를 출력할 때는 %f 문자를 출력할 때는 %c를 사용하여 출력한다.

    %d, %f, %c 와 같은 문자를 형식 지정자라고 하는데 C언어에서는 많은 형식 지정자를 사용하여 자료를 처리한다. %d, %f, %c 외에 형식 지정자는 나중에 설명하도록 하겠다.

     

    2. 기본 자료의 출력

    수치나 문자를 출력할 때는 다음과 같은 형식 지정자를 사용한다.

    정수를 출력할 때 : %d

    소수를 출력할 때 : %f

    문자를 출력할 때 : %c

     

    실습 1; 자료의 출력

    다음의 내용을 코딩하여 ex004.c로 저장하고 실행해 보자.

    #include <stdio.h>
    int main(void)
    {
    	printf("%d 는 정수입니다. \n", 2024);
    	printf("%f 는 소수입니다. \n", 100.55);
    	printf("%c 는 문자입니다. \n", 'A');
    	return 0;
    }

     

    설명 : 행 설명

    4: 아래와 같이 정수 2024는 정수를 출력하는 형식 지정자 %d 가 위치한 자리에 출력한다.

    출력 2024는 정수입니다.

     

    printf() 내부에 “ ” 안에 있는 내용은 그대로 출력되지만, 형식 지정자 %d를 사용하면 %d를 출력하는 것이 아니라 오른쪽의 인수가 출력 대상이 되고 출력 대상인 자료의 형태를 지정하는 것이 형식 지정자이다.

     

    5: 소수가 포함된 수를 출력할 때는 %f를 사용하는데 소수이하 6자리까지 출력된다.

    만약 소수 둘째 자리까지 표현하려면 형식 지정자를 다음과 같이 사용한다.

    printf("%.2f 는 소수입니다. \n", 100.55);

     

    6: %c 는 문자를 출력할 때 사용한다.

    문자는 한 글자만 출력되고 여러 문자로 구성된 문자열은 마지막 문자만 출력된다.

    출력할 하나의 문자는 ‘ ’ 로 묶는다.

    한글은 2바이트 문자이기 때문에 %c 로 출력할 수 없다.

     

    3. 두 개 이상의 형식 지정자 사용

    printf() 함수에 2개 이상의 형식 지정자를 사용하여 출력할 수 있다.

     

    실습 1; 두 개 이상의 형식 지정자

    다음의 내용을 코딩하여 ex005.c로 저장하고 실행해 보자.

    #include <stdio.h>
    int main(void)
    {
    	printf("%d 월 %d 일은 저의 생일입니다.\n", 5, 20);
    	printf("%d + %d = %d \n", 15, 20, 35);
    	printf("%d - %d = %d \n", 30, 20, 30-20);
    	return 0;
    }

     

    설명 : 행 설명

    3: 형식 지정자를 두 개 사용했으면 형식 지정자에 대치할 자료도 두 개를 지정해 주어야 한다. 대치할 자료는 형식 지정자에 차례대로 대치되어 변환된다.

     

    5: 대치할 자료에 연산자를 사용할 수 있다.

     

    4. 진법의 표현

    8진수나 16진수를 10진수로 표기할 수 있다.

     

    실습 1: 8진수 16진수의 출력

    다음의 내용을 코딩하여 ex006.c로 저장하고 실행해 보자.

    #include <stdio.h>
    int main(void)
    {
    	printf("10진수 10은 %d \n", 10);
    	printf("8진수 10은 %d \n", 010);
    	printf("16진수 10은 %d \n", 0x10);
    	printf("16진수 B는 %d \n", 0xB);
    	return 0;

     

    설명 : 행 설명

    5: 8진수는 수치 앞에 0(숫자 영)을 붙여 8진수임을 표시한다.

    6: 16진수는 수치 앞에 0x(숫자 영, 소문자 엑스)를 붙인다.

     

    ex006,c를 다음과 같이 변경하여 사용할 수 있다.

    #include <stdio.h>
    int main(void)
    {
    	printf("10진수 %d은 %d \n",10, 10);
    	printf("8진수 %d은 %d \n", 10, 010);
    	printf("16진수 %d은 %d \n", 10, 0x10);
    	printf("16진수 %c는 %d \n", 'B', 0xB);
    	return 0;
    }
    반응형

    댓글