Limetime's TimeLine
article thumbnail
Published 2017. 9. 3. 00:00
Printf 함수 C&C++
반응형

Printf 함수

ㆍ 특수문자 출력이 필요한 이유

특수문자는 독립된 문자 상수로서 존재가 가능하다. ex) char ch='\n';

컴파일러는 우리가 생각하는 것과 다르게 생각한다.

ex) printf("ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ"웃기지?"ㅋㅋㅋㅋㅋㅋㅋㅋ"); 라고 입력한다면 답은 무엇이겠는가?

우리가 생각하는 결과 : ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ"웃기지?"ㅋㅋㅋㅋㅋㅋㅋㅋ

컴파일러가 생각하는 결과 : Error!

이렇게 해서 우리는 컴파일러가 원하는대로 따라줘야한다. ㅠ

해결책 : printf("ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ\"웃기지?\"ㅋㅋㅋㅋㅋㅋㅋㅋ");


ㆍprintf 함수의 서식 지정 : printf의 f는 formatted(서식이 지정된...)를 의미한다. 

=> 서식이 지정된 형태의 출력 (출력 양식이 만들어진 상태에서 출력을 진행한다.)



printf("인자1", 인자2, 인자3, ㆍㆍㆍ, 인자n); => printf 함수에 전달해야할 인자의 갯수는 총(n+1)개

ex) printf("%d", num1);    // printf 함수에 전달해야할 총 인자의 갯수는?


ㆍ 정수의 출력을 위한 서식 문자 : %d(음의 정수 표현 가능), %u(양의 정수), %o(양의 8진수 정수), %x(양의 16진수 정수)

진수 형태에 맞게 출력하고 싶다면 #을 붙여라!

ex) %o    =    7,    %#o    =    07

%x    =    d,    %#x    =    0xd


ㆍ 실수 출력을 위한 서식 문자 : %f, %e, %g

%f    :    소수점 6자리    ex) 0.123400

%e    :    e표기법으로 출력    ex) 1.23.4568e-001    %E = E로 나옴

%g    :    소수점 이하의 자리수 증가 -> e표기법으로 출력    ex) 0.00123, 123e-006 (0.00000123)    %G = E로 나옴


* e 표기법 : 지수 형태의 출력을 표현    ex) 03.0000000001 => 1.0x10^-10

1.2x10^12 = 1.2e+12,    1.15x10^-12 = 1.15e-12,    1.7x10^-15 = 13.7e-15


ㆍ 문자열 출력 : %s (String)

ex) printf("%s", "AAA");    // 출력 결과 : AAA


ㆍ 필드 폭을 지정하여 정돈된 출력 보이기

서식 문자에 숫자를 붙이면 필드 폭 n칸 확보, 오른쪽 정렬

서식 문자에 -와 숫자를 붙이면 필드 폭 n칸 확보, 왼쪽 정렬

%(부호)(숫자)(d,s,c,ㆍㆍㆍ) => 필드 폭 확보 및 정렬

ex) printf("%-8s    %14s    %5d", "정렬", "확보", 1);    // 출력 결과 : 정렬    확보    1

반응형
profile

Limetime's TimeLine

@Limetime

포스팅이 좋았다면 "공감❤️" 또는 "구독👍🏻" 해주세요!