printf 함수 사용법, C언어로 글자 출력하기
printf 함수는 코드에 문자, 숫자, 특수문자 등등의 문자들을 화면을 통해 보여줍니다.
오늘 배울 내용 키워드 : printf, 서식지정자, 이스케이프 시퀀스
개발환경 : visual studio 2022
개발환경이 준비가 안되신 분들은 밑을 클릭하셔서 설치를 먼저 진행해주세요.
printf
printf() 함수는 C언어의 표준 출력 함수로, 여러 종류의 데이터(data)를 다양한 서식에 맞춰 출력할 수 있게 해줍니다.
printf() 함수의 원형은 다음과 같습니다.
#include <stdio.h>
int printf(const char * restrict format, ...);
printf() 함수의 f는 formatted의 약자이며, 서식화된 출력을 지원한다는 의미입니다.
이 함수는 출력할 데이터를 어떤 서식에 맞춰 출력할지 서식 지정자(format specifier)를 통해 직접 지정할 수 있습니다.
즉, 보여줄 데이터를 정수, 실수, 문자, 문자열, 특수문자 등을 형식에 맞춰서 보여준다는 의미입니다.
서식지정자는 밑에서 다루겠습니다.
코드를 넣고 테스트 를 해보겠습니다.
코드
-------------------------------------------------------------------
#include <stdio.h>
int main()
{
printf("Hello World");
return 0;
}
-------------------------------------------------------------------
결과
printf의 " " 안에 출력하고싶은 것들을 넣으면 출력이 가능합니다.
그러면 이제 "" 안에 넣는 것이 아닌 서식지정자를 통해 출력을 해보겠습니다.
코드
-------------------------------------------------------------------
#include <stdio.h>
int main()
{
int a = 10;
printf("%d",a);
return 0;
}
-------------------------------------------------------------------
결과
a 라는 곳에 10을 넣고 출력을 하였습니다.
%d 를 통해서 10을 출력하였습니다. %d 를 통해서 정수를 출력할 수 있습니다.
서식 지정자(format specifier)
앞선 예제에서 두 번째 printf 함수에 나온 '%d'와 같은 문자를 서식 지정자(format specifier)라고 합니다.
C언어에서 사용되는 대표적인 서식 지정자는 다음과 같습니다.
%c | 하나의 문자 |
%s | 문자열 |
%d | 부호 있는 10진 정수 |
%i | 부호 있는 10진 정수 (%d와 동일) |
%f | 고정 소수점으로 표현한 실수 (소수점 이하 6자리까지 표현) |
%o | 부호 없는 8진 정수 |
%u | 부호 없는 10진 정수 |
%x | 부호 없는 16진 정수 (소문자 사용) |
%X | 부호 없는 16진 정수 (대문자 사용) |
%e | 부동 소수점으로 표현한 실수 (e-표기법) |
%E | 부동 소수점으로 표현한 실수 (E-표기법) |
%g | 값에 따라 %f나 %e를 사용함. |
%G | 값에 따라 %f나 %E를 사용함. |
%% | 퍼센트(%) 기호 출력 |
코드
-------------------------------------------------------------------
#include <stdio.h>
int main()
{
printf(" %c\n", 'a'); // 문자
printf(" %s\n", "개발은 ㅠㅠㅠㅠ"); // 문자열
printf(" %f\n", 0.123456);
printf(" %f\n", 0.123456789); // 소수점 6자리까지만 표현
printf(" %o\n", 123); // 8진 정수
printf(" %x\n", 123); // 16진 정수
printf(" %g\n", 0.001234); // 값에 따라 %f나 %e
printf(" %g\n", 0.00001234); // 값에 따라 %f나 %e
printf(" %G\n", 0.000001234); // 값에 따라 %f나 %E
}
-------------------------------------------------------------------
결과
서식지정자에 맞춰서 출력을 해보았습니다.
그러면 코드중에 \n 이 보이는데 ( \ 이거는 역슬래시라는 것으로 엔터키 위에 보시면 있습니다.)
\n 은 무엇일까요??
바로 '이스케이프 시퀀스' 라는 것 입니다.
이스케이프 시퀀스(escape sequence)
앞선 예제의 printf() 함수에 나온 '\n'과 같은 문자를 이스케이프 시퀀스(escape sequence)라고 합니다.
이러한 이스케이프 시퀀스는 프로그램의 결과가 화면에 출력될 때 사용하게 될 특수한 문자를 위해 만들어졌습니다.
C언어에서 사용되는 이스케이프 시퀀스는 다음과 같습니다.
\' | 작은따옴표 |
\" | 큰따옴표 |
\? | 물음표 |
\\ | 백슬래시(\) |
\a | 경고음 발생 |
\b | 백스페이스(backspace) |
\n | 줄 바꿈(new line) |
\r | 캐리지 리턴(carriage return) |
\t | 수평 탭(tab) |
\v | 수직 탭(tab) |
\f | 폼 피드(form feed) |
위의 코드들을 넣어서 테스트를 해보면 아~ 이런거구나 라고 알 수 가있습니다.
그리고 \ 뒤에는 특수문자를 출력할수 있다고 생각하면 이해하기 쉬울듯합니다.
그리고 \a는 실행시 진짜 소리가 납니다 ㅎㅎ
C 언어를 사용하고 싶다면 visual studio 를 설치해주세요~
2022.10.27 - [개발/개발에 관련된 정보] - visual studio 2022 설치방법, 비쥬얼 스튜디오 설치방법, 간단설치!!!
'개발 > C' 카테고리의 다른 글
[C언어] for문, while 문 , do while 문 반복문이란? 반목문의 사용법을 알고 사용해보기~! (0) | 2022.11.22 |
---|---|
[C언어] if, else, else if 문 이란? 조건문이란? 조건문 사용법을 알고 사용해보기 (0) | 2022.11.16 |
[C언어] 2차원, 3차원 배열이란? 2차원, 3차원 배열 사용법, 배열에 저장하고 출력하기 (0) | 2022.11.15 |
[C언어] 배열이란? 배열 사용법, 배열에 저장하고 출력하기 (1차원 배열) (0) | 2022.11.12 |
[C언어] 변수란? 변수 사용법, 변수를 저장하고 출력하기 (0) | 2022.11.10 |
댓글