c언어 입출력함수 printf scanf와 서식문자conversion specifier

 
#include 

int main(void)
{
	int a=5;
	char s[100]="안녕";
	printf("너 %d %s\n",a, s);
	return 0;
}

여기서 %d %s 등등 을 서식문자conversion specifier라고 함%d - 10진수 정수형
%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 둘중 하나를 선택
%% - %기호 출력

" " 사이에 써넣을 수 있는 특수문자
\a - 경고음발생
\b - 백스페이스backspace
\f - 폼피드form feed
\n - 라인변경
\r - 캐리지 리턴carriage return
\t - 수평탭
\v - 수직탭
\\ - 백슬레시 한글폰드에서는 원
\' - 작은 따옴표
\" - 큰따옴표

printf, scanf 서식문자.

쓰다보면 외워진다. 모르는 부분은 검색

printf 특수문자

/a 경고음
/b 백스페이스
/f
폼 피드
/n 개행
/r 캐리지 리턴
/t 수평 탭
/v 수직 탭
// 백슬래시
/' 작은
따옴표
/" 큰 따옴표

printf 서식문자

%c  단일문자
%d  부호있는 10진정수
%i  %d
와같음
%d  부호있는 10진실수
%s  문자열
%o  부호없는 8진정수
%u  부호없는 10진정수
%x  부
호없는 16진정수, 소문자
%X  부호없는 16진정소, 대문자
%e  e 표기법에 의한 실수 // 3.1215e+2
> 312.45
%E  E 표기법에 의한 실수  // 3.1215E+2 > 312.45
%g  값에 따라서
%f, %e 둘중 선택
%G  값에 따라서 %f, %e 둘중 선택
%%  %기호 출력

d1 =
1.23e-3  %g로 출력하면 0.00123  //원래 숫자 0.00123
d2 = 1.23e-4  %G로 출력하면
0.000123  //원래 숫자 0.000123
d3 = 1.23e-5  %g로 출력하면 1.23e-005  //원래 숫자
0.0000123
d4 = 1.23e-6  %G로 출력하면 1.23E-006  //원래 숫자 0.00000123

printf
필드폭 정렬

%8f  필드 폭을 8칸 확보하고 오른쪽 정렬
%-8d  필드 폭을 8칸 확보하고 왼쪽 정렬
%+8d  필
드 폭을 8칸 확보하고 오른쪽 정렬상태에서 양수는 + 음수는 - 붙여서 출력

scanf 서식문자

%d  정
수입력
%o  8진수정수입력
%x  16진수정수입력
%f  float형 변수저장시 사용
%le  double
형 변수저장시 사용