-
C언어 프로그램 출력에 대해Visual Studio/C 기초 2012. 9. 23. 15:39
화면 출력 함수는 입력 함수와 마찬가지로 세 가지 종류로 구분되는데요, 문자 출력, 문장 출력, 형식화된 출력을 수행하는 함수가 있습니다.
putchar()는 일반적으로 화면을 뜻하는 stdout에 출력 내용을 보내고, fputc()와 putc()는 출력 내용을 인수로 지정된 스트림을 보냅니다.
int putchar(int c) //putchar()의 원형입니다.
int로 형을 지시하긴 했지만 프로그램에선 char형으로 putchar()에 전달합니다. 0~255까지의 범위에 포함된다면 int형 값을 전달할 수 있습니다.
#include <stdio.h>
#define MAXSTR 80char message[] = "putchar() 표시.";
main(){
int count;
for(count = 0;count < MAXSTR; count++)
{
if(message[count]=='\0') //message[0]의 값이 NULL값이 아니기 때문에 else로 넘어갑니다.
{
putchar('\n');
break;
}
else
putchar(message[count]);
}
}프로그램은 화면에 문자를 1개씩 출력하기도 하지만 가끔 문자열을 자주 출력하게 됩니다. 라이브러리 함수 puts()는 문자열을 출력합니다. fputs()는 문자열을 지정된 스트림으로 전달하는데 스트림을 지정한다는 것을 제외하고는 puts()와 동일합니다.
int puts(char *cp);
포인터 cp는 출력하기 원하는 문자열의 첫 번째 문자에 대한 포인터입니다.
#include <stdio.h>
char *message[4] = {"이것은","짧은","문자열","입니다"};main(){
int count;
for(count = 0;count < 4; count++)
puts(message[count]);
puts("끝입니다.");
}한번 컴파일 해보세요^^
이제 printf()와 fprintf()에 대해 설명해 드릴텐데요, 지금까지 설명해드린 함수는 문자와 문자열만을 출력했습니다. printf()와 fprintf()는 숫자까지 출력합니다. printf()는 항상 stdout으로 출력하는 반면에 fprintf()는 출력 스트림을 지정할 수 있습니다. 그 외의 기능은 동일합니다. fprintf()는 일반적으로 디스크 파일로 출력하는 경우에 사용됩니다.
이제 printf()와 fprintf()가 공통적으로 사용하는 변환문자 출력에 대해 간단히 알아보겠습니다.
d, i 부호가 있는 10진 정수형을 출력합니다.
u
부호가 없는 10진 정수형을 출력합니다. o
부호가 없는 8진 정수형을 출력합니다.
x, X
부호가 없는 16진 정수형을 출력하고 x는 소문자, X는 대문자를 출력합니다.
c
1개의 문자를 출력합니다.
e, E
공학식 표기로 float나 double형을 출력합니다. 123.45는 1.234500e+002로 출력됩니다. 정밀도를 지정하지 않으면 소숫점 6번째 자리까지 출력됩니다. 출력에서 대소문자를 지정하기 위해 e나 E를 사용하면 됩니다.
g, G
소숫점 표기로 float나 double형을 출력합니다. 123.45는 123.450000로 출력됩니다. 마찬가지로 정밀도를 지정하지 않으면 6번째 짜리까지 출력됩니다.
e, E, f중 하나를 사용합니다. 만약, 지수가 -3보다 작거나 default로 6으로 설정된 정밀도보다 크면 e나 E로 사용됩니다. 아닐경우 f를 사용하시면 됩니다.
n
아무 것도 출력하지 않습니다.
s
문자열을 출력합니다. NULL 문자가 나타나거나 default로 32,767로 설정되어 있는 정밀도를 다르게 지정할 경우 그만큼의 문자가 출력되고 NULL 문자는 출력되지 않습니다.
%
문자 %를 출력합니다.
아, 그리고 printf()의 형식화 문자열은 출력되는 내용을 제어 해주는 '이스케이프 시퀀스(escape sequence)'를 포함할 수 있습니다. 예를 들어 형식화 문자열에 \n을 포함시키면 그 다음의 내용은 다음 줄 부터 시작되서 출력되죠.
\a
경고음 \b
backspace \n
새로운 줄 \t
수평 탭 \\
역슬래시
\?
물음표 \'
작은따옴표 \"
큰따옴표
* \는 역슬래시 대신 표기한 것입니다.
'Visual Studio > C 기초' 카테고리의 다른 글
fprintf() (0) 2012.10.22 fopen() (0) 2012.10.16 C언어 프로그램 입력에 대해 (0) 2012.09.22 C언어 연결리스트 (linked list) (0) 2012.09.21 C언어 함수 기초 (2) 2012.09.14