출력의 필요성
printf( );
()괄호 안에는 함수의 첫 인수로 ""안에 출력할 내용을 명시해야함.
인수
함수가 일하는 데 필요한 정보를 제공하는 데 사용
ex)
"무엇"을 출력해줘! 에서 "무엇"에 해당
printf("Example");
printf("!\n"); \n 탈출 문자, 줄바꿈 문자
printf("HELLO"\n");
printf("\n\n");
printf("안녕..\n안녕!\n");
printf의 변환 명세
식(변수)결과 값의 출력
변환 명세(%d)를 사용
ex)
printf("%d\n",age);
%d
이 자리에는 ""뒤의 변수 값이 표시됨
값을 출력할 변수명
age // 값을 출력할 변수명
정수 값을 출력하라는 변환 명세
printf("%lf\n", average)
%lf // 실수를 출력하라는 변환 명세
기본적으로 무조건 소수점 아래로 여섯자리를 출력해줌.
변환 명세
%d: 정수
%f: float 형 실수 %lf: double 형 실수
%c: 문자 한 개 %s: 문자열
%-d: 왼쪽 맞춤
printf 변환 명세 연습
printf("%d\n", 10+20);
printf("%d, %lf\n", 10+20, 1.5*3);
age=15
printf("나이:%d살\n", age);
printf의 변환 명세의 주의점
: 출력값과 변환 명세가 틀리면?
printf("%lf살\n", age);
에러는 발생하지 않으면서 이상한 값이 출력
printf의 변환명세와 필드 폭
세로로 여러 값이 오른쪽 맞춤 또는 왼쪽 맞춤으로 보기 좋게 하기 위해 사용
%d -> 꼭 필요한 만큼만 칸을 차지
%nd -> n칸을 차지하여 출력하되, 칸의 끝과 출력값의 오른쪽 끝을 맞춤. = 왼쪽에 남는 빈칸 생길 수 있음.
printf의 변환명세와 필드폭 연습
prntf("나이:%3d\n", age);
printf("학년:%3d\n", grade);
printf("음악%3d\n", music);
printf("미술:3d\n", art);
실수 변환 명세와 필드폭
92.5 출력 -> %5.1lf // 5는 전체 차지 칸, 소수점도 한 칸 차지, .1은 소수 차지 칸
실수 변환 명세와 필드폭 연습
printf("%5.1lf점\n", 9.7);
printf("%5.1lf점\n", 92.77); //소수 자리가 부족하면 반올림을 한다.
printf(%5.1lf점\n", 100.0);
변환 명세에서 필드 폭을 사용함으로서 숫자 크기를 쉽게 구분할 수 있다.
%.2lf //.위는 꼭 필요한 만큼만 자리를 차지, 소수 자리 칸만 강제로 지정
사용 예
printf("%.1lf점\n", 9.7);
printf("%.1lf점\n", 92.77);
printf("%.1lf점", 100.0);
putchar 함수
문자 1개를 모니터로 출력, 변환 명세가 필요 없다.
putchar('문자1개');
putchar(변수명);
예시)
char grade = 'A';
putchar(grade);
putchar('+');
putchar('\n');
ex) 표준체중과 표준체중과의 차이 구하기
1. 순서도 작성
2. 소스코드로 표현
#include <stdio.h> int main() { int height; double weight, s_weight, gap; height = 143; weight = 40; s_weight = (height - 100) * 0.9; gap = weight - s_weight; printf("키: %d\n", height); printf("체중: %.1lf\n\n", weight); printf("표준체중 %.1lf과의 차이과의 차이 %+.1lfkg \n", s_weight, gap); return 0; }