티스토리 뷰
목차
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는 실행시 진짜 소리가 납니다 ㅎㅎ
- Total
- Today
- Yesterday
- 내일 배움 카드 코딩
- development kit java
- C
- java 국비
- 프로토콜의 기능
- visual studio c++
- 프로토콜 구성
- 앱 외주
- 코딩 초등
- java 웹
- go 개발
- api 개발
- vscode c++
- 내일 배움 코딩
- 밀크티 코딩
- 응용 sw 개발자
- java 온라인 강의
- 국비 지원 자바 교육
- 유아 코딩
- 안드로이드 스튜디오
- C++
- JAVA 교육
- 생활 코딩 aws
- c++ builder
- 프로토콜 의미
- 코딩 개발
- C++ protected
- 홈페이지 개발
- java 국비 지원
- 코딩 스파르타
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |