C언어는 출력 함수로 printf()
를 사용하며 자료형을 같이 기입합니다. 출력 가능 자료형에는 정수(%d
), 실수(%f
), 문자(%c
), 문자열(%s
) 등이 있습니다. 두 개 이상의 데이터도 한 번에 출력할 수 있습니다.
printf() 함수는 데이터를 출력합니다.
printf("자료형", 데이터);
Python
, JavaScript
, PHP
와 같은 웹 프로그래밍 언어와 달리 C언어는 출력시 자료형을 같이 적는다는 차이점이 있습니다.
#include<stdio.h>
void main() {
printf("%d", 7); //정수 7 출력
}
결과
7
출력 가능 자료형의 종류
자료형의 종류는 %d
(정수), %f
(실수), %c
(문자), %s
(문자열) 등이 올 수 있습니다.
#include<stdio.h>
void main() {
printf("%d", 33); //정수 33 출력
printf("%f", 0.3); //실수 0.3 출력
printf("%c", 'A'); //문자 A 출력
printf("%s", "안녕하세요."); //문자열 안녕하세요. 출력
}
결과
330.300000A안녕하세요.
정수는 -3
, -2
, -1
과 같은 음의 정수, 0
그리고 +1
, +2
, +3
과 같은 양의 정수를 말합니다.
실수는 정수 보다 큰 범위의 수입니다. 허수를 제외한 유한 소수(0.3
), 유리수(1/3
), 무리수(√2
), 순환 소수(0.3333...
) 등이 모두 포함된 범위입니다.
문자는 a
, b
, K
와 같은 단일 문자를 말하며 작은 따옴표 ''
사이에 삽입합니다. 문자열은 'hello'
와 같은 두 개 이상의 문자 조합을 말하며 큰 따옴표 ""
사이에 삽입합니다.
줄바꿈
\n
기호는 줄바꿈 효과를 줍니다. HTML 태그의 <br>
태그와 비슷한 효과입니다. 실수의 경우 하단에서 배울 자릿수 지정을 하지 않으면 소수 여섯 자리까지 자동으로 출력됩니다.
#include<stdio.h>
void main() {
printf("%d", 33); //정수 33 출력
printf("\n"); //줄바꿈
printf("%f", 0.3); //실수 0.3 출력
printf("\n"); //줄바꿈
printf("%c", 'A'); //문자 A 출력
printf("\n"); //줄바꿈
printf("%s", "안녕하세요."); //문자열 안녕하세요. 출력
}
결과
33
0.300000
A
안녕하세요.
\n
기호는 코드 길이를 줄이기 위해서 일반 자료형 바로 뒤에 "%d\n"
과 같이 붙여서 작성해도 됩니다.
#include<stdio.h>
void main() {
printf("%d\n", 33); //정수 33 출력하고 줄바꿈함
printf("%f\n", 0.3); //실수 0.3 출력하고 줄바꿈함
printf("%c\n", 'A'); //문자 A 출력하고 줄바꿈함
printf("%s", "안녕하세요."); //문자열 안녕하세요. 출력
}
결과
33
0.300000
A
안녕하세요.
문자열 자료형의 경우 %s없이 사용할 수 있습니다.
추후 수정이 필요 없는 경우 %s
를 생략하고 사용할 수 있습니다.
#include<stdio.h>
void main() {
printf("안녕하세요?");
}
결과
안녕하세요?
두 개 이상의 데이터 출력
두 개 이상의 데이터를 출력하려면, 자료형의 개수도 대응시켜줘야 합니다. 자료형 사이는 쉼표나 따옴표없이 공백 한 칸을 입력후 삽입합니다.
printf("자료형1 자료형2 ... 자료형n", 데이터1, 데이터2, ... 데이터n);
#include<stdio.h>
void main() {
printf("%d %d", 9, 3); //정수 9 및 정수 3을 출력
printf("\n"); //줄바꿈
printf("%s %c %d", "원하는 점수는?", 'A', 100); //문자열, 문자 A, 정수 100을 차례로 출력
}
결과
9 3
원하는 점수는? A 100
정수, 문자열 자릿수
정수(%d
)와 문자열(%s
)은 자릿수 숫자를 "%9d"
처럼 %
와 알파벳 사이에 삽입합니다. 기입 숫자만큼 자릿수가 결정되며 우측정렬됩니다. 정수는 앞에 0
을 삽입하면 공백 숫자만큼 0
이 삽입됩니다.
#include<stdio.h>
void main() {
printf("%9d", 333); //총자릿수 9자리가 확보되고, 앞에 공백 6칸이 생깁니다. 정수 333은 3칸을 차지하며 우측 정렬됩니다.
printf("\n"); //줄바꿈
printf("%09d", 333); //앞에 0을 붙이면 공백에 0이 채워집니다.
printf("\n"); //줄바꿈
printf("%11s", "푸하하"); //총자릿수 11자리가 확보되고, 앞에 공백 9칸이 생깁니다. 문자열 "푸하하"는 3칸을 차지하며 우측 정렬됩니다.
}
결과
333
000000333
푸하하
실수 자릿수
실수 자료형의 기본 자릿수는 소수 6
자리까지 표현됩니다. "%5.2f"
처럼 %
와 f
사이에 소수형태의 숫자를 삽입해서 자릿수를 정의합니다.
#include<stdio.h>
void main() {
printf("%f", 0.1); //실수 0.1이 아닌 소수 여섯짜리까지 표현된 0.100000이 출력됩니다.
printf("\n"); //줄바꿈
printf("%5.2f", 0.1); //총 다섯자릿수가 확보되며 소수 둘째자릿수까지 표현되므로 0.10이 출력됩니다. 앞에 남는 자릿수에 공백이 지정되며 숫자는 우측정렬됩니다.
}
결과
0.100000
0.10
삽입된 숫자의 정수 부분의 숫자값은 총 자릿수를 정의합니다. 소수 부분의 숫자값은 소수의 자릿수를 결정합니다.