문제
#include <stdio.h>
int main()
{
printf("I am coding master! \n");
return 0;
}#include <stdio.h>
<stdio.h>는 표준 입출력(Standard Input Output) 헤더파일로 #include를 통해 해당 파일을 프로그램에 포함시킨다.
입력 혹은 출력을 하기 위해서는 필수적이다.
#include <stdio.h>
C 프로그램은 보통 main 함수에서 시작한다. 중괄호{}를 통하여 main 함수에 해당하는 코드가 어느 범위인지 알 수 있다.
printf("I am coding master! \n");
printf 함수는 큰 따옴표 안의 문자열을 그대로 출력한다.\n는 줄바꿈 문자로 해당 문자를 작성하지 않으면 줄바꿈이 되지 않는다.
맨 뒤에 세미콜론(;)을 까먹지 말자!
return 0;
프로그램(메인함수)를 종료시키는 코드다.
#include <stdio.h>
int main()
{
printf("I am %s master! \n", "coding");
return 0;
}printf("출력 포맷 템플릿 문자열", [인수]);
printf는 첫 번째 인자에서 어떠한 형식으로 출력할지를 결정하는데, 이 때, 서식 문자 (format character)가 사용될 수 있다.
서식 문자의 개수 만큼 뒤에 인자를 추가로 넣어주는데, 각 서식 문자 위치에 들어갈 값을 의미한다.
("I am %s master! \n", "coding")는 ("I am coding master! \n")가 된다.
#include <stdio.h>
int main()
{
printf("%s is %d years old. \n", "Bob", 17);
printf("Interest is %.3 percent. \n", 0.36);
return 0;
}C 자료형 |
| 의미 |
|---|---|---|
|
| 정수 |
|
| 실수 |
|
| 문자 |
|
| 문자열 |
#include <stdio.h>
int main()
{
printf("%d * %d = %2d", 3, 3, 6);
printf("%d * %d = %2d", 3, 4, 12);
return 0;
}소수점 아래 몇 자리까지 출력 (반올림이 기본)
%f는 소수점 아래 여섯 자리까지 출력하는 것이 default.
%.3f는 소수점 아래 세 자리까지 출력.
%.2f는 소수점 아래 두 자리까지 출력.
%.1f는 소수점 아래 한 자리까지 출력.
%.0f는 정수 부분만 출력.
공백을 추가로 출력하여 최소 출력 문자 개수 조정 (최소 자릿수를 정해주는 것이기에 이미 더 길다면 무시된다)
%2d : 정수를 출력하는데, 한 자리 숫자 이하면 앞에 공백을 추가하여 총 두 칸 출력.
("%2d", 5) 의 경우 "_5"가 되고, ("%2d", 23) 의 경우 "23"가 된다.
%5d : 정수를 출력하는데, 네 자리 숫자 이하면 앞에 공백을 추가하여 총 다섯 칸 출력.
%3s : 문자열을 출력하는데, 길이가 2 이하면 앞에 공백을 추가하여 총 세 칸 출력.
%10f : 실수를 출력하는데, 총 길이가 9 이하면 앞에 공백을 추가하여 총 열 칸 출력. ("%10f", 3.4) 의 경우 "__3.400000"이 된다.
%-5d : 정수를 출력하는데, 네 자리 숫자 이하면 뒤에 공백을 추가하여 총 다섯 칸 출력.
%-3s : 문자열을 출력하는데, 길이가 2 이하면 뒤에 공백을 추가하여 총 세 칸 출력.
0을 추가로 출력하여 최소 출력 문자 개수 조정
%02d : 정수를 출력하는데, 한 자리 숫자 이하면 앞에 0을 추가하여 총 두 칸 출력.
("%02d", 5) 의 경우 "05"가 된다.
%04d : 정수를 출력하는데, 한 자리 숫자 이하면 앞에 0을 추가하여 총 두 칸 출력.
("%04d", 3) 의 경우 "0003"이 된다.
[연습 문제]
다음과 같은 마트 영수증을 출력하는 프로그램을 작성하시오. (서식문자를 이용하시오)
=================================
CodeMart POS RECEIPT
Date: 2025-12-26 17:00
---------------------------------
Item Qty Price Amt
Americano 2 3.50 7.00
Sandwich 1 5.25 5.25
Cookie 3 1.10 3.30
---------------------------------
Subtotal: 15.55
VAT 10%: 1.56
TOTAL: 17.11
=================================출력
====================================은 =이 총 33개다.
예제
없음
=================================
CodeMart POS RECEIPT
Date: 2025-12-26 17:00
---------------------------------
Item Qty Price Amt
Americano 2 3.50 7.00
Sandwich 1 5.25 5.25
Cookie 3 1.10 3.30
---------------------------------
Subtotal: 15.55
VAT 10%: 1.56
TOTAL: 17.11
=================================
Item 10칸, Qty 3칸, Price 10칸, Amt 10칸