본문 바로가기
C

[C 언어] printf, printf(), 표준 출력 함수 1-코드119

by 박사과정 모닝 2022. 12. 10.
반응형

안녕하세요. 박사과정 모닝입니다!

이 카테고리에는 최근에 공부를 시작한 C 언어 학습 내용을 차근차근 정리해 나가려고 합니다. 기존에 랩뷰로 많은 분야를 프로그래밍해서 사용해 왔고, 기계공학 박사과정인 저는 특히나 하드웨어 제어에 관한 코드를 많이 작성했습니다. 그 와중에 '영상 처리'를 기반으로 하는 하드웨어 제어를 주로 다루었고, 좋은 기회에 영상 처리를 기반으로 하는 취업 기회가 생겨 졸업 전까지 C 언어를 공부하게 되었습니다. 우선 랩뷰와 동일하게 절차지향 언어라는 점이 저를 안심시켰습니다... 랩뷰의 객체지향 프로그래밍을 1년 가까이 공부해본 저로서는 OOP의 개념 자체가 너무 어려웠거든요... C도 심화된 내용을 다루다 보면 객체지향적인 내용을 많이 다룰것 같긴 하지만, 그래도 우선 저는 초보이니깐!!! 랩뷰라는 한가지 프로그래밍 언어에서 딥하게 컴퓨터공학적인 부분을 제외하고서는 랩뷰의 거의 모든 기능을 극한까지 사용해본 '절차 지향 프로그래밍에 잔뼈가 굵은' 저는 C 언어 공부가 아직 재미있습니다! (아마 시작한지 얼마 안돼서 그런 걸지도 모릅니다만...!) 여하튼! 제 포스팅이 C 언어 공부를 시작하시는 분들께 도움이 되었으면 좋겠고, 또한 댓글 등으로 함께 나누어 주신다면 저에게도 많은 도움이 될 것 같습니다!

 

그럼 대망의 C 언어 카테고리의 첫 번째 포스팅으로, 표준 출력 함수를 정리해보겠습니다.

 

1. printf()

printf() 함수는 C언어에서 가장 기본적인 표준 출력 함수입니다. 괄호 안에 큰따옴표를 두 개 쓰고, 큰따옴표의 사이에 어떠한 내용을 입력하면 해당 내용이 출력됩니다. printf() 함수는 stdio(standard input/output) 헤더 파일에 존재합니다. 따라서 printf() 함수를 사용하기 전에, 반드시 선행처리기를 입력하는 부분에서 #include <stdio.h> 라고 입력해 주어야 합니다.

 

2. printf("Hello, world!");

프로그래밍을 배울 때 지겹도록 반복하는 문장이죠, Hello, world! 이 문장을 C 언어로 입력하기 위해서는 따옴표 안에 Hello, world!라고 입력해 주시면 됩니다. 괄호를 닫은 다음 반드시 ;(세미콜론)을 입력하여, 해당 함수의 입력이 종료되었음을 표시하여야 합니다.

 

3. \n

개행 문자입니다. 개행 문자는 행을 바꾸는 문자라는 뜻으로 워드나 한글 등의 프로그램에서 '엔터'를 입력하는 것과 같은 효과입니다. 키보드에서 엔터키 위의 원화 키를 누르면 됩니다. 입력하는 창에 따라 역슬래쉬 모양으로 입력되기도 하기 때문에, 많은 교재에서 역슬래쉬 모양으로 표시됩니다만, visual studio에서는 원화 표시로 입력됩니다.

 

4. 입력한 내용은 모두 문자열로 취급

printf() 함수를 사용할 때 반드시 명심해야 하는 점은, 큰따옴표 안에 입력된 내용은 전부 '문자열'로 취급된다는 것입니다. 큰따옴표 안에 숫자를 입력했더라도, 그 데이터는 숫자형 데이터가 아니라 숫자를 나타내는 문자열의 데이터입니다. 따라서 연산을 수행할 수 없습니다.

 

5. 큰따옴표를 출력하고 싶을때

C 언어에서 큰따옴표를 출력하고 싶을때는 어떻게 해야할까요? pritnf() 함수에서는 큰따옴표 안에 들어가는 내용이 출력 내용이기 때문에, 큰따옴표 자체를 출력하고 싶다면 특별한 형태를 사용해야 합니다. 큰따옴표, 작은따옴표와 같이 탭, 줄바꿈, 역슬래쉬 등 C언어에서 어떠한 기능을 가지고 있는 문자를 문자 그대로 출력하고 싶다면 '제어 문자'를 사용하면 됩니다. 주로 사용되는 제어 문자를 정리해보도록 하겠습니다.

제어 문자 명칭 설명
\a bell 알람 소리 출력
\n line feed 줄바꿈(강제 개행)
\r carriage return 커서를 1열로 이동한 후 덮어씌움
\t tab tab 키를 누르는 입력
\\ back slash 역슬래쉬(\) 출력
\' apostrophe 작은따옴표(') 출력
\" quote 큰따옴표(") 출력

 

반응형