Chapter 06. printf 함수와 scanf 함수 정리하기 윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 06. printf 함수와 scanf 함수 정리하기
윤성우의 열혈 C 프로그래밍 Chapter 06-1. printf 함수 이야기 윤성우 저 열혈강의 C 프로그래밍 개정판
printf 함수와 특수문자 윤성우의 열혈 C 프로그래밍 실행결과 잘못된 printf 함수 호출문 printf(“앞집 강아지가 말했다. “멍~! 멍~!” 정말 귀엽다.”); "앞집 강아지가 말했다. “ 멍~! 멍~! " 정말 귀엽다." 음 이것은 하나의 문자열이군! 이건 뭐지? 이것도 하나의 문자열이고! 큰 따옴표는 문자열의 시작과 끝으로 해석이 되니, 큰 따옴표 자체의 출력을 원하는 경우에는 큰 따옴표 앞에 \ 문자를 붙여주기로 하자! 특수문자의 탄생 배경 컴파일러의 오해? 제대로 된 printf 함수 호출문 printf(“앞집 강아지가 말했다. \“멍~! 멍~!\” 정말 귀엽다.”);
특수문자의 종류 윤성우의 열혈 C 프로그래밍 \f와 \v는 모니터 출력이 아닌 프린터 출력을 위해 정의된 특수문자이기 때문에 모니터의 출력에 사용하면, 이상한 문자 출력!
printf 함수의 서식지정과 서식문자들 윤성우의 열혈 C 프로그래밍 실행결과 실행결과 서식문자를 이용해서 출력할 문자열의 형태를 조합해 낼 수 있다. 즉, 출력의 서식을 지정할 수 있다. 실행결과 실행결과 #을 삽입하면 8진수 앞에 0, 16진수 앞에 0x가 삽입된다.
실수의 출력을 위한 서식문자들: %f, %e 윤성우의 열혈 C 프로그래밍 실행결과 지수 표기법 지수 표기법 e 표기법 e 표기법
%g의 실수출력과 %s의 문자열 출력 윤성우의 열혈 C 프로그래밍 실행결과 실행결과 %g는 실수의 형태에 따라서 %f와 %e 사이에서 적절한 형태의 출력을 진행한다. %g와 %G의 차이점은 e 표기법의 e를 소문자로 출력하느냐 대문자로 출력하느냐에 있다. 실행결과 실행결과 %s의 문자열 출력과 관련해서는 배열과 포인터 공부 후에 완벽히 이해하자! 일단은 %s의 사용법을 예제 기반으로 이해하자.
필드 폭을 지정하여 정돈된 출력 보이기 윤성우의 열혈 C 프로그래밍 실행결과 %8d %-8d 필드 폭을 8칸 확보하고, 오른쪽 정렬해서 출력을 진행한다. %-8d 필드 폭을 8칸 확보하고, 왼쪽 정렬해서 출력을 진행한다. 실행결과 서식문자 사이에 들어가는 숫자는 필드의 폭을 의미한다. 기본 오른쪽 정렬이다. 따라서 –는 왼쪽 정렬을 의미하는 용도로 사용된다.
윤성우의 열혈 C 프로그래밍 Chapter 06-2. scanf 함수 이야기 윤성우 저 열혈강의 C 프로그래밍 개정판
정수 기반의 입력형태 정의하기 윤성우의 열혈 C 프로그래밍 실행결과 입력의 형식 어떻게 받아들일 거니? 입력의 형식 어떻게 받아들일 거니? 입력의 장소 어디에 저장할까? 데이터를 입력 받는 scanf 함수에게 전달해야 할 두 가지 정보 %d 10진수 정수의 형태로 데이터를 입력 받는다. %o 8진수 양의 정수의 형태로 데이터를 입력 받는다. %x 16진수 양의 정수의 형태로 데이터를 입력 받는다. 서식문자의 의미는 출력을 입력으로만 변경하면 printf 함수와 유사하다. 실행결과
double형 long double형 데이터의 삽입을 위한 서식문자 윤성우의 열혈 C 프로그래밍 실수 기반의 입력형태 정의하기 float형 데이터의 삽입을 위한 서식문자 printf 함수에서는 서식문자 %f, %e 그리고 %g의 의미가 각각 달랐다. 그러나 scanf 함수에서는 ‘float형 데이터를 입력 받겠다’는 동일한 의미를 담고 있다. double형 long double형 데이터의 삽입을 위한 서식문자 %lf double %f에 l이 추가된 형태 %Lf long double %f에 L이 추가된 형태 float, double, long double의 데이터 출력 %f, %f, %Lf float, double, long double의 데이터 입력 %f, %lf, %Lf 실행결과 실수의 입력과정에서 e 표기법을 사용해도 된다.
Chapter 06이 끝났습니다. 질문 있으신지요? %s는 문자열의 입출력에 모두 사용된다는 사실 정도는 기억하고 있자! 이와 관련된 이해는 배열과 포인터를 공부한 다음으로 미루자! Chapter 06이 끝났습니다. 질문 있으신지요?