C 언어 printf 함수 이용해서 문자열을 출력하는 방법

C# & MFC

C 언어 printf 함수 이용해서 문자열을 출력하는 방법

 

환경: Visual Studio 2013

 

C 언어 제일 처음 접하는 함수가 printf 입니다. 왜냐하면 문자열이나 작업 결과를 콘솔에 찍어 주기 때문에 가장 많이 사용하는 함수 중 하나이기 때문이죠. printf 는 단순하지 않습니다. 사용자가 직접 입력한 값을 출력하는 것뿐만 아니라 변수 값도 출력이 가능하기 때문입니다. 그리고 변수의 데이터형에 따라 문법도 틀립니다.

 

아래 소스는 C 언어로 작성한 가장 간단한 형태 중 하나입니다. 초보자들을 위해 각 소스 구성 요소들부터 설명하도록 하겠습니다.

 

l 헤더파일 : #include 로 시작하는 문장은 stdio.h 헤더 파일을 지정합니다. C 언어를 구현할 때 가장 기본이 되는 함수들이 들어 있는 곳입니다. printf 함수를 사용하기 위해서는 stdio.h 지정해 줘야 합니다.

l 세미콜론 ”;” : 컴파일러가 인식할 수 있는 소스의 한 덩어리를 구분하기 위한 기호입니다. C 에는 행의 개념이 없습니다. 단지 문장을 구분하기 위한 “;” 기호를 사용합니다. 단 헤더나 함수명, 함수의 시작과 종료를 알리는 괄호 끝에는 사용하지 않습니다.

l printf : 문자를 출력하는 함수 입니다. 이것은 아래에서 자세히 설명하겠습니다.

l system(“pause”) : 사용자의 키 입력이 있을 때 까지 콘솔 창을 유지하기 위한 함수 입니다.

l return 0 : 함수의 반환 값을 나타냅니다. 0을 반환 받는 대상은 운영체제이며 함수의 종료를 알리는 문장입니다

#include <stdio.h>
#include <stdlib.h>

int main(void){

	printf("안녕하세요.\n");
	system("pause");
	
	return 0;
}

 

printf 함수를 이용한 문자열 출력

 

printf 출력 포맷이라고 하는데 print format 의 약자 입니다. 그럼 왜 출력이 아닌 출력 포맷이라고 했을 까요? 그것은 데이터의 종류에 따라 여러 출력 형태를 가지기 때문입니다. 표에 나와 있는 것처럼 출력 형태에 따라서 지정하는 서식 문자가 전부 다릅니다. 주요 서식 문자는 단일 문자(%c), 문자열(%s), 정수(%d), 실수(%f) 입니다.

 

서식 문자

출력 형태 

%c

단일 문자 

%s 

문자열 

%d 

부호 있는 10진 정수 

%f 

부호 있는 10진 실수 

%x 

부호 없는 16진 정수, 소문자 사용 

%X

부호 없는 16진 정수, 대문자 사용 

%o

부호 없는 8진 정수 

%u 

부호 없는 10진 정수 

%e

e 표기법에 의한 실수 

%E 

E 표기법에 의한 실수 

%%

% 기호 출력 

 

아래 소스는 서식 문자를 사용해서 구현한 샘플입니다.

 

l "%5d\n" : 우측을 기준으로 5자리 정수값 출력

l "%-5d\n" : 좌측을 기준으로 5자리 정수값 출력, 숫자가 적으면 공백이 나타난다.

l "%+5d\n" : 수치 앞에 부호 출력

l "%05d\n" : 수치 앞에 공백 0 채움

l "%8f\n" : 우측을 기준으로 8자리 실수값을 출력


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num1 = 1234;
    float num2 = 12.34f;
 
    printf("%5d\n", num1);
    printf("%-5d\n", num1);
    printf("%+5d\n", num1);
    printf("%05d\n", num1);
    printf("%8f\n", num2);
   
    system("pause");
 
    return 0;
}

C 언어 printf 함수 이용해서 문자열을 출력하는 방법

 

입력 포맷 scanf 이용해서 출력하는 방법

 

printf 와 함께 많이 쓰이는 함수는 scanf 입니다. 정해진 값이 아닌 사용자로부터 입력을 받는 경우 사용되는 함수이기 때문입니다. printf 함수 앞에 위치하면서 값을 입력 받고 변수에 저장한 후 printf 로 출력해 보도록 하겠습니다

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num;
    
printf("로또 번호를 입력하세요.\n");
    scanf("%d", &num);
    printf("첫 번째 번호는 %d 입니다.\n", num);
    
    system("pause");
 
    return 0;
}

C 언어 printf 함수 이용해서 문자열을 출력하는 방법


Posted by 녹두장군