본문 바로가기

Code.D IT 강좌/C언어

[C언어] printf함수의 서식문자, 주석문

[C언어]

printf함수

서식문자



서식 문자 

출력 대상(자료형)

출력 형태 

%d 

char, short, int 

10진수 정수 

 %u

unsigned int 

10진수 정수

(양수만 표현 가능) 

%o 

unsigned int  

8진수 정수 

%x 

unsigned int  

16진수 정수 

%f 

float, double  

10진수 실수

(float형 실수) 

%Lf 

long double 

10진수 정수

(double형 실수) 

%c 

char, short, int 

하나의 문자

Ex) 'B' 

%s 

char* 

문자열

Ex) "World!" 

%p 

void* 

포인터의 주값 




위의 표는 서식 문자의 종류에 따른 자료형과 출력 형태입니다. 서식 문자를 활용한 예를 한 번 살펴보겠습니다.




#include <stdio.h>

int main(void){

     //정수형 서식문자
     printf("정수의 서식문자는 %d 입니다.\n", 12345);
     printf("%d\n", 12345);
     printf("%7d\n", 12345);
     printf("%07d\n", 12345);

     //실수형 서식문자
     printf("%f\n", 123.45);
     printf("%8.1f\n", 123.45);
     printf("%8.3f\n", 123.45);

     //문자형 서식문자
     printf("%c\n", 'a');
     printf("%s\n", "Hello!");
     printf("%15s\n", "Hello!");

     return 0;
}



위 코드의 출력 화면을 살펴보겠습니다.






printf(): 출력 함수입니다.



"%d": 정수의 서식문자입니다.

"%7d": 7자리의 정수를 나타냅니다. 비어있는 자리는 빈 공간으로 채웁니다.

"%07d": 7자리의 숫자를 나타냅니다. 비어있는 자리는 0으로 채웁니다.



"%f": 실수의 서식문자입니다.

"%8.1f": 소수점을 포함하여 8자리 숫자를 나타냅니다. 소수점 뒷자리는 1자리를 나타냅니다.



"%c": 하나의 문자를 나타낼 때 쓰입니다. Ex)'a' (작은 따옴표 사용)

"%s": 둘 이상의 문자를 나타낼 때 쓰입니다. 이것을 문장열이라고 합니다. Ex) "Hello!"(큰 따옴표 사용)

"%15s": 15자리의 문자를 나타냅니다. 비어있는 자리는 빈 공간으로 채웁니다.



"\n": 개행 문자입니다.(줄 바꿈)



주석문


위의 코드를 보시면

//정수형 서식문자

//실수형 서식문자

이와 같은 문장을 볼 수 있습니다. 앞에 '//'는 주석문이라고 하는데요, 

이 주석문은 프로그램 실행에 전혀 영향을 주지 않습니다.

 

그렇다면 왜 쓰느냐?

코드를 이해하기 쉽게 설명해 놓은 설명문이라고 생각하시면 됩니다. 

내가 코드를 입력했는데 나중에 그 코드를 왜 입력했는지 모를 때가 가끔 있습니다 ^^; 

그 때를 대비해서 이해하기 쉽게 설명을 달아 놓는 것입니다. 

이 뿐만 아니라 개발자들은 나중에 '오픈 소스'를 사용하게 됩니다. 다른 개발자들이 만들어 놓은 코드인데 다른 일반인들이 그 코드를 사용하고 수정할 수 있도록 만든 것입니다. 오픈 소스를 사용할 때 주석문은 더욱 필요하게 되죠. 자신이 개발한 코드가 아니라 다른 사람이 개발한 코드이기에 코드를 이해하기가 여간 쉽지가 않습니다. 그래서 필요한 것이 바로 주석문입니다!



관련 포스팅

소스코드와 오픈소스



주석문은 코드 중간에만 삽입하지 않는다면 어디에든 위치할 수 있습니다. 

주석문은 두 가지 종류를 씁니다.


//내용: 단행 주석

한 줄을 주석 처리합니다.

Ex)

//문자와 문자열 출력
// %c 한개의 문자
// %s 문자열



/* 내용 */: 다행 주석

여러 줄을 주석 처리합니다.

Ex)

/*: 주석의 시작
개발자: 홍길동
버전: 1.0
프로그램 설명: 헬로우월드
*/