티스토리 뷰
6-1 printf 함수 이야기
printf는 문자열을 출력하는 함수이다.
C언어는 큰 따옴표(" ")를 사용해서 문자열을 표현한다.
printf 함수는 특수 문자 출력이 가능하다.
#include<stdio.h>
int main(void)
{
printf("앞집 강아지가 말했다. "멍! 멍!" 정말 귀엽다.");
return 0;
}
위와 같이 소스를 짜면 에러가 발생한다.
왜 에러가 발생을 할까??
직접 컴파일 해보면 그 이유를 알 수 있을 것이다.
오류를 없애기 위해서는 이렇게 수정을 하면 된다.
#include<stdio.h>
int main(void)
{
printf("앞집 강아지가 말했다. \"멍! 멍!\" 정말 귀엽다.");
return 0;
}
\" 라는 특수 문자를 사용함으로써 printf를 이용하여 특수문자 출력이 가능해진다.
다양한 종류의 특수 문자
특수 문자 |
의 미 |
\a |
경고음 소리 발생 |
\b |
백스페이스(backspace) |
\f |
폼 피드(form feed) |
\n |
개행 |
\r |
캐리지 리턴(carriage return) |
\t |
수평 탭 |
\v |
수직 탭 |
\\ |
백슬래시(\) |
\’ |
작은 따옴표 |
\” |
큰 따옴표 |
함수 이름 printf의 f는 formatted(서식화된)를 의미한다
"10진수로 %d살이고 16진수로 %x살입니다."
%d는 출력할 대상을 10진수 정수형으로 출력하겠다는 의미이며, %x는 출력할 대상을 16진수 정수형으로 출력하겠다는 의미이다.
%d, %x와 같은 문자를 가리켜 '서식 문자'라고 한다.
서식문자의 종류와 그 의미
서식 문자 |
출력 형태 |
%c |
단일 문자 |
%d |
부호 있는 10진 정수 |
%i |
부호 있는 10진 정수, %d와 같음 |
%f |
부호 있는 10진 실수 |
%s |
문자열 |
%o |
부호 없는 8진 정수 |
%u |
부호 없는 10진 정수 |
%x |
부호 없는 16진 정수, 소문자 사용 |
%X |
부호 없는 16진 정수, 대문자 사용 |
%e |
e 표기법에 의한 실수 |
%E |
E 표기법에 의한 실수 |
%g |
값에 따라서 %f, %e 둘 중 하나를 선택 |
%G |
값에 따라서 %f, %E 둘 중 하나를 선택 |
%% |
% 기호 출력 |
%e, %E
3.1245e+2 -> 3.1245*10(2)
필드 폭을 지정하면 출력을 보다 멋지게 할 수 있다.
6-2 scanf 함수 이야기
scanf 함수의 입력 형태 정의하기
#include<stdio.h>
int main(void)
{
int i, j, k;
printf("세 개의 정수 입력: ");
scanf("%d %o %x", &i, &j, &k);
printf("입력에 대한 출력: ");
printf("%d %d %d \n", i, j, k);
return 0;
}
실행 결과를 보면 총 세 개의 데이터 12 12 12를 입력하고 있다.
그러나 프로그램상에서 첫 번째 데이터는 10진수로, 두 번째 데이터는 8진수로, 마지막 세 번째 데이터는 16진수로 인식되었기 때문에 입력 받는 결과를 10진수로 출력해 보면 그 값에 차이가 있다.
실수를 입력 받는 경우에 있어서의 주의사항
실수를 입력받을 때 double형 변수를 사용하는 경우에는 서식 문자 %e가 아니라, %le를 사용해야 한다.
이번 장에서 공부한 내용 정리
1. printf 함수를 사용하는 방법과 필드 폭 지정 방법
2. 특수 문자의 종류와 특수 문자가 필요한 이유
3. scanf 함수를 사용하는 방법
필드 폭 지정 방법은 귀찮아서 자세히 올리지 못했네요^^;;
책을 통해서 습득하도록 합시다.ㅋㅋ
직접 코드를 입력해보면서~~
'Programming > C' 카테고리의 다른 글
[C언어] 열형강의 C 프로그래밍 [7장 - 다양한 형태의 반복문] (0) | 2020.06.09 |
---|---|
[C언어] 열형강의 C 프로그래밍 [5장 - 상수와 기본 자료형] (0) | 2020.06.09 |
[C언어] 열형강의 C 프로그래밍 [4장 - 데이터 표현 방식의 이해] (0) | 2020.06.09 |
[C언어] 열형강의 C 프로그래밍 [3장 - 변수와 연산자] (0) | 2020.06.09 |
[C언어] 열형강의 C 프로그래밍 [2장 - 프로그램의 기본 구성] (0) | 2020.06.09 |
- Total
- Today
- Yesterday
- 자바
- Kubernetes
- C언어
- 개념
- anyframe
- C
- 전자정부프레임워크
- file storage
- object storage
- 오브젝트 스토리지
- M2E
- 코딩
- docker
- Spring
- block storage
- 숫자체크
- Java
- Framework
- RDB
- 도커
- 열혈강의
- 쿠버네티스
- 자료구조
- 블록 스토리지
- 열혈강의 프로그래밍
- 문자체크
- 정규식
- OSI7layer
- 파일 스토리지
- 특징
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |