printf()
print formatted 라는 뜻으로, 일정한 형식에 따라 출력
printf()를 사용하기 위해 반드시#include <stdio.h>
를 먼저 작성해주어야 한다.
→ stdio.h
파일의 내용을 프로그램 안에 복사한다는 의미
stdio.h
standard input output을 의미하며
C언어에서 기본적으로 사용하는 입출력 함수가 들어있다.
printf()
함수는 main()
함수 안에 호출하면 여러 형태의 값을 출력할 수 있다.
printf("문자열");
#include <stdio.h>
int main(void)
{
printf("Sooyeon");
return 0;
}
문자는 아니지만 출력 방식에 영향을 주는 문자
\n
\t
\b
\b는 백스페이스(한 칸 왼쪽으로 이동)
#include <stdio.h>
int main(void)
{
printf("Be happy\n");
//Be happy
printf("12345678901234567890\n");
//12345678901234567890
printf("My\tfriend\n");
//My friend
printf("Goot\bd\tchance\n");
//Good chance
printf("Cow\rW\a\n");
//Wow
return 0;
printf()
는 기본적으로 문자열을 출력하는 함수이므로, 숫자를 출력할 때는 변환 문자를 사용해서 문자열로 변환하는 과정이 필요하다.
변환 문자는 데이터의 형태에 따라 다르다.
- 정수 :
%d
- 실수 :
%lf
printf("%d\n", 10);
//10이 %d 위치에 출력
printf("%lf\n", 3.4);
//3.4가 %lf 위치에 출력
printf("%.1lf\n", 3.45);
//소수점 이하 첫째자리까지만 출력(둘째 자리에서 반올림)
printf("%d과 %d의 합은 %d입니다. \n", 10, 20, 10+20);
//변환 문자의 개수와 출력할 값의 개수가 일치해야 하며 앞에서부터 차례로 출력
#include <stdio.h>
int main(void)
{
//1. %d를 사용해서 10을 출력하세요.
printf("%d\n", 10);
//2. %lf를 사용해서 3.4를 출력하세요.
printf("%lf\n", 3.4);
//3. %lf를 사용해서 3.45를 소수점 이하 첫째 자리까지 출력하세요.
printf("%.1lf\n", 3.45);
//4. %lf를 사용해서 3.4를 소수점 이하 10 자리까지 출력하세요.
printf("%.10lf\n", 3.4);
//5. %d를 사용해서 “10과 20의 합은 10+20입니다.\n”를 출력하세요.
printf("%d과 %d의 합은 %d입니다. \n", 10, 20, 10+20);
//6. %lf를 사용해서 “3.4 - 1.2 = 3.4-1.2\n”를 소수점 이하 첫째 자리까지 출력하세요.
printf("%.1lf - %.1lf = %.1lf\n", 3.4, 1.2, 3.4-1.2);
return 0;
}
프로그래밍 언어에서는 8진수는 숫자 앞에 0(영),
16진수는 0x(영엑스)를 붙여 구분
10진수 | 8진수 | 16진수 |
---|---|---|
12 | 014 | 0xc |
#include <stdio.h>
int main(void)
{
//1. %d를 사용해서 12을 출력하세요.
printf("%d\n", 12);
//2. %d를 사용해서 014을 출력하세요.
printf("%d\n", 014);
//3. %d를 사용해서 0xc을 출력하세요.
printf("%d\n", 0xc);
return 0;
}
실수는 소수점 형태와 지수 형태로 표현할 수 있다.
- 소수점 형태로 표현할 때 실수는 아라비아 숫자 0~9, +, -기호와 소수점을 사용하여 표현,
- e는 밑 수 10을 의미하며 대문자로 쓸 수도 있습니다. 소수점 부분에서 무의미한 0이나 소수점은 생략할 수 있다.
- 지수 형태는 지수 값의 크기에 따라 무수히 많은 방법으로 표현이 가능하지만 그중 소수점 앞에 0이 아닌 유효 숫자 한 자리를 사용하여 지수 형태로 바꾼 것을
정규화표기법
이라고 한다.printf()
함수가 실수를 지수 형태로 출력할 때는 기본적으로 정규화 표기법을 사용- 실수를 지수형태로 출력하는 방법은
%le
를 사용
#include <stdio.h>
int main(void)
{
//1. %lf를 사용해서 1e6를 소수점 이하 1자리까지 출력하세요.
printf("%.1lf\n", 1e6);
//2. %lf를 사용해서 3.14e-5를 소수점 이하 7자리까지 출력하세요.
printf("%.7lf\n", 3.14e-5);
//3. %le를 사용해서 0.0000314를 출력하세요.
printf("%le\n", 0.0000314);
//4. %le를 사용해서 0.0000314를 소수점 이하 둘째 자리까지 출력하세요.
printf("%.2le\n", 0.0000314);
return 0;
}
문자는 작은따옴표로 묶고 문자열은 큰따옴표로 묶는다.
#include <stdio.h>
int main(void)
{
printf("%c\n", 'A');
// 문자 상수
printf("%s\n", "A");
// 문자열 상수
return 0;
}
#include <stdio.h>
int main(void)
{
//1. %c를 사용해서 A를 출력하세요.
printf("%c\n", 'A');
//2. %s를 사용해서 A를 출력하세요.
printf("%s\n", "A");
//3. %c와 %s를 사용해서 “1은 first입니다.\n”를 출력하세요.
printf("%c은 %s입니다.\n", '1', "first");
return 0;
}