본문 바로가기
C언어

[C언어] printf 문자열, 제어 문자 출력

by 에파 2021. 5. 2.
728x90

C 언어 printf 문자열, 제어 문자 출력

 

화면에 데이터를 출력할 때는 printf 함수를 사용합니다. 아래 코드는 Hello World! 라는 문장을 출력하는 내용입니다.

 

#include <stdio.h>

int main(void)
{
    printf("Hello");
    printf(" World!");
    
    return 0;
}

/*
<Run>
Hello World!
*/

 

1행은 stdio.h 파일의 내용을 프로그램 안에 복사한다는 의미입니다. stdio.h 는 standard input output 을 의미하며 C 언어에서 기본으로 사용하는 입출력 함수가 들어있습니다. 출력 함수인 printf 함수도 여기 포함됩니다.

 

5~8행처럼 main 함수 내에서 printf 함수를 호출하면 여러 형태의 값을 출력할 수 있는데, printf 함수의 기본 기능은 문자열을 화면에 출력하는 것입니다. ex) printf("문자열");

 

그런데, 실행결과를 보면 Hello World! 가 두 줄로 나뉘어 출력될것 같은데 실제로 출력해보면 한 줄로 출력되는 걸 볼 수 있습니다.

 

 

printf 함수로 출력할 때 행을 바꾸려면 제어 문자를 사용해야 합니다. 제어 문자란 문자는 아니지만, 출력 방식에 영향을 주는 문자를 의미합니다.

 

\n(개행, new line) : 다음 줄로 이동

 

#include <stdio.h>

int main(void)
{
    printf("Hello\n");
    printf("World!");
    
    return 0;
}

/*
<Run>
Hello
World!
*/

 

\n 의 역할은 줄바꿈입니다. \n 을 만나면 다음 행으로 넘어갑니다.

 

 

\b(백스페이스, backspace) : 한 칸 왼쪽으로 이동

\t(탭, tap) : 다음 탭 위치로 이동

 

#include <stdio.h>

int main(void)
{
    printf("Goot\bd\tchance");
    
    return 0;
}

/*
<Run>
Good    chance
*/

 

\b 를 만나면 커서가 한 칸 왼쪽으로 이동합니다. 그리고 d를 출력하면 t가 d로 바뀌어 Good 이 출력된 상태가 됩니다.

이어서 제어 문자 \t 에 의해 다음 탭 위치로 이동하고 chance 가 출력됩니다.

 

 

\r(캐리지 리턴, carriage return) : 맨 앞으로 이동

\a(알럿 경보, alert) : 벨소리

 

#include <stdio.h>

int main(void)
{
    printf("Cow\rW\a");
    
    return 0;
}

/*
<Run>
Wow
*/

 

Cow 가 출력되고 제어 문자 \r 에 의해 커서가 첫 번째 칸으로 이동합니다. 그 자리에 W 를 출력하면 C 가 W 로 바뀝니다. 그리고 제어 문자 \a 에 의해 벨소리를 냅니다.

댓글