본문 바로가기

프로그램언어/C언어

C언어 printf()함수

1. C언어의 탄생

C언어는 1972년 벨 연구소에서 유닉스를 설계하면서 "컨 톰슨"이 B언어를 만들었는데 이것을 "데니스 리치"가 B언어를 개조하여 C언어를 만들었다고 합니다.

 

2. C언어 프로그래밍 코딩 구조

 

    #include <stdio.h>

    int main()

    {

        명령어 작성;

 

        return 0;

    }

 

위 표는 C언어 코딩 구조로 "명령어 작성"부분에 코딩하여 프로그램을 실행할 수 있습니다.

 

3. printf()함수 : (콘솔화면에 출력)

printf()함수는 콘솔 화면에 출력하는 함수로 여러 가지 형식을 지정하여 출력 할 수 있는 표준입출력 함수 입니다. 이 함수를 사용하기 위해서는 "stdio.h"라는 헤더 파일을 추가해야 합니다. 추가 하는 방법은 전처리 지시자를 통해 추가 할 수 있습니다. 위 표와 같이 #include <stdio.h> 를 입력해주어야 합니다.

stdio.h 헤더 파일을 확인해 보겠습니다. 아래 그림을 보시면 printf 함수가 존재하고 있음을 알 수 있습니다.

4. 형식

    printf("%문자 및 문자열", 인자1, 인자2, ...)

 

5. %문자의 종류

%문자 설명 %문자 설명
%d 부호 있는 10진수 출력 %o 부호 없는 8진수 출력
%f 부동 소수점 출력 %x 부호 없는 16진수 출력
%c 문자 출력 %e 부동소수점, 지수 출력
%s 문자열 출력 %g %f나 %e중 짧은 값으로 출력
%% %문자 출력 %u 부호 없는 10진수 출력

 

6. 이스케이프 문자의 종류 ( Escape sequence )

확장 문자역 명칭 설명
\n Line feed 줄을 바꾸는 개행문자
\t Tab Tab키와 같이 일정한 간격을 띄움
\' Apostrophe 작은 따옴표 출력
\" Quote 쌍 따옴표 출력
\\ Back slash \또는 역슬래시 출력
\r Carriage return 커서를 현재 행의 맨 앞으로 이동 
\a Bell 삑 소리 출력
\b Back space 왼쪽으로 한 칸 이동
\f Form feed 프린터에서 새 페이지로 이동

 

7. 플래그 종류

플래그 설명
- -는 왼쪽 정렬로 출력, 부호가 없으면 오른쪽 정렬로 출력
+ 부호 있는 값을 출력할 경우 부호와 함께 출력
0 숫자 형식에서 앞자리의 공백부분을 0으로 출력
# 변환 지정자에 대한 대체형식으로 0 (8진수), 0x (16진수)를 부가하여 출력

 

지금까지 printf()함수를 사용하기 위해 필요한 할 것들을 알아 보았습니다. 지금 부터 예제를 통해 실습해 보겠습니다.

 

예시 보기]

 

따라하기 문제1] 기본 %문자 4가지 알아두기.

출력1 출력2
printf("100 - 1234\n"); printf("%d - %d\n", 100, 1234);
printf("파이 : 3.14\n"); printf("파이 : %.2f\n", 3.14);
printf("A B C\n"); printf("%c %c %c\n", 'A', 'B', 'C');
printf("Edu-Coding\n"); printf("%s\n", "Edu-Coding");

 

따라하기 문제2] 기본 %문자 4가지와 플래그 문자 알아두기.

출력 결과 설명
printf("|%d|\n", 153);
printf("|%5d|\n", 153);
printf("|%-5d|\n", 153);
printf("|%05d|\n", 153);
|153|
|  153|
|153  |
|00153|
3자리로 출력
5자리로 오른쪽 정렬
5자리로 왼쪽 정렬
5자리로 빈칸에 0으로 채워 출력
printf("|%7.1f|\n", 153.78);
printf("|%-7.1f|\n", 153.78);
printf("|%07.1f|\n", 153.78);
|  153.8|
|153.8  |
|00153.8|
7자로 소수점 1자리로 반올림하여 오론쪽 정렬하여 출력
7자로 소수점 1자리로 반올림하여 왼쪽 정렬하여 출력
7자로 소수점 1자리로 반올림하여 빈칸에 0으로 채워 출력
printf("|%c|\n", 'A');
printf("|%5c|\n", 'A');
printf("|%-5c|\n", 'A');
|A|
|    A|
|A    | 
문자 한글자 출력
5자리로 오른쪽 정렬하여 출력
5자리로 왼쪽 정렬하여 출력
printf("|%s|\n", "ABC");
printf("|%5s|\n", "ABC");
printf("|%-5s|\n", "ABC");
|ABC| 
|  ABC|
|ABC  | 
문자열 출력
5자리로 오른쪽 정렬하여 출력
5자리로 왼쪽 정렬하여 출력
printf("|%#o|\n", 0123);
printf("|%#x|\n", 0x123);
|0123|
|0x123|
변환 지정자를 사용하여 8진수 0을 표시하여 출력
변환 지정자를 사용하여 16진수 0x를 표시하여 출력

 

아래 표안에 있는 문제를 출력 예외 같이 출력하시오.

문제 출력 예
1번] 오른쪽 출력예와 같이 출력하시오. 처음으로 C언어를 시작합니다.
2번] 오른쪽 출력예와 같이 두 줄로 출력하시오. 재미있는 C언어
나도 할 수 있다.

3번] 오른쪽 출력예와 같이 다섯 줄로 출력하시오.

----*
---**
--***
-****
*****
4번] 숫자 3은 %문자를 사용하여 출력하시오. 1 + 2 = 3
5번]  7칸씩 오론쪽으로 정렬하여 출력하시오.     이름  과목1  과목2
 홍길동      80      90
 일지매      65      80