3. C 출력 (글자 띄우기) - printf() 함수

2022. 2. 16. 12:49C

저번 강의에서도 알아봤듯이, printf() 함수는 특정한 값이나 글자를 출력하는데 사용됩니다. 

#include <stdio.h>

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

와 같이 printf() 함수를 사용할 수 있습니다. 

실행 결과는 다음과 같습니다. 

Hello, World!
printf() 함수의 괄호 ( ) 사이에 들어간 값을 보면 그냥 글자가 아니라 큰 따옴표 " "로 둘러싸인 글자들이 있는 것을 볼 수 있습니다. 이를 문자열이라고 하며, 문자열을 출력할 때 " "를 쓰지 않으면 오류가 납니다. 

또한, 다음과 같이 printf() 함수를 여러 번 사용할 수 있습니다. 

#include <stdio.h>

int main() 
{
  printf("Hello, World!");
  printf("안녕, 세계!");
  return 0;
}

하지만 출력 결과를 보면, 

Hello, World!안녕, 세계!

와 같이 출력됩니다. 

그러면 어떻게 여러 줄을 출력할 수 있을까요?

여러 줄 출력하기

대부분의 한글 폰트는 역슬래시(\)를 원화(\) 기호로 바꿔서 표시하는데, 헷갈리지 않기 위해서는 코드 에디터에 한글 폰트가 아닌, 코딩을 위해 만들어진 모노스페이스 폰트 (Monospace Font)를 사용하는 것을 추천합니다. 
대표적인 모노스페이스 폰트로는 Consolas, Fira Mono, Cascadia Code, Jetbrains Mono 등이 있습니다. 

다음과 같이 \n을 사용해서 줄을 바꿀 수 있습니다. 

#include <stdio.h>

int main()
{
  printf("Hello World!\n");
  printf("안녕, 세계!");
  return 0;
}
Hello, World!
안녕, 세계!

또한, 한 개의 printf() 함수 안에 여러 줄을 출력할 수도 있습니다. 

#include <stdio.h>

int main() 
{
  printf("Hello World!\n안녕, 세계!");
  return 0;
}
Hello, World!
안녕, 세계!

\n을 두번 적어서 줄을 두번 바꿀 수 있습니다. 

#include <stdio.h>

int main() 
{
  printf("Hello World!\n\n");
  printf("안녕, 세계!");
  return 0;
}
Hello, World!

안녕, 세계!
그래서 \n이 정확히 뭔데?

이스케이프 시퀀스

이스케이프 시퀀스(Escape Sequence) 또는 제어 시퀀스는 프로그래밍 언어 특성상 표현할 수 없는 문자를 표현할 수 있게 도와주는 특수문자입니다. 

의미 그대로 정의를 내리자면, 커서를 강제로 옮기거나 강제로 문자를 출력하게 하는 특수문자입니다. 

다음은 C 언어에서 사용되는 이스케이프 시퀀스입니다. 

이해를 돕기 위해 그에 대응하는 키보드의 키로 최대한 설명하였습니다. 

이스케이프 시퀀스 의미
\a 경고
\n 줄바꿈 (Enter/Return)
\t 수평 탭 (Tab)
\v 수직 탭 (Enter -> Tab)
\b 백스페이스 (Backspace)
\f 폼 피드 (PageDown/Ctrl+Enter)
\r 캐리지 리턴 (Home)
\\ 역슬래시 (\)
\' 작은 따옴표 (')
\" 큰 따옴표 (")
\ooo 8진수 숫자로 ASCII 코드의 문자 표현
\xhh 16진수 숫자로 ASCII 코드의 문자 표현

이 중에는 몰라도 되는 것들이 많이 있습니다. 

하지만 알아두면 좋겠죠?

 

다음 강의에서는 변수와 자료형에 대해 알아보겠습니다. 

'C' 카테고리의 다른 글

6. C 조건문 (if, else, else if, switch)  (0) 2022.02.19
5. C 연산자  (0) 2022.02.17
4. C 변수와 자료형  (0) 2022.02.16
2. C의 문법  (0) 2022.02.16
1. C 시작하기  (0) 2022.02.16