본문 바로가기

프로그래밍/C언어

[C언어] 주석과 서식문자열에 대해서 알아봅시다.

우선적으로 주석에 대해서 알아볼까요?

국어시간에도 주석이란걸 배웠구요. 워드프로세서를 사용하다보면 주석이란것을 접합니다.

간단히 얘기하면 메모정도 되겠네요.

C언어 프로그래밍에서 코드작성시에도 메모가 필요합니다.

코드가 간결할때는 내가 작성한 코드에 대해서 잘 알고 있겠죠.

그치만 그 코드가 100줄 1000줄 그이상으로 넘어갈때는

아무리 머리가 좋아도 그 코드를 분석하는데 시간이 많이 걸릴 겁니다.

물론 그 코드를 본인이 작성 했다고 하더라도 말이죠.

그래서 주석이란것을 이용합니다.

주석은 코드내용자체에는 영향을 주지 않으니

요령껏 잘쓴다면 분석하기도 쉽고 깔끔하게 코드를 작성할수 있습니다.

자 주석을 다는 방법에 대해서 알아볼게요.

두가지 방법이 있는데

첫번째로 소개해드릴 방법은 // 입니다. 슬래쉬 두번인데요.

이것은 주석처릴할 문장맨앞에 //를 쳐주게되면

VC++에서 글자색이 흐려지면서 주석처리가 됩니다ㅏ.

두번째로는 /* ~~ */ 방법인데요.

처음과 끝을 감싸는 형식으로 주석을 처리하게 됩니다.

첫번째 주석다는 방법은 줄이 넘어가게 되어버리면 주석처리가 되어버리지 않습니다.

그치만 두번째 방법은 첫번째부터 표시한 마지막까지 주석처리가 됩니다.

자 해볼까요?

------------------------------------------------------------------------------

#include <stdio.h> //전처리 구문입니다.

//밑에서부터 메인함수입니다.

int main(void)

{

printf("hello");

/* printf함수인데요

hello라는 글이 출력될겁니다.*/

return 0;

//0값을 return하고 종료합니다.

}

-------------------------------------------------------------------------------

이렇게 사용됩니다. 참 쉽죠잉~.

자 본격적으로 서식문자열에 대해서 알아볼까요?

서식문자열은 우리가 익히아는 printf()함수에서 사용됩니다.

일단 써볼게요.

printf("%d + %d = %d", 1, 2, 3);

여기서 %에 해당하느넛이 서식 문자열인데요.

따옴표가 끝난 뒤에 쉼표로부터 차례대로 입력됩니다.

첫번째 %d에서는 1이 들어가구요. 두번째 %d는 2, 세번째 %d는 3이 들어가게됩니다.

즉 실행을 하게 되면, 화면에는 이렇게 입력이 되는것이죠.

1 + 2 = 3

%뒤에오는 서식에 따라서 뒤에넣어 출력할수있는 숫자나 문자가 달라지는데요.

자 다음표를 봅시다.

정수형

%d

10진 정수로 출력합니다.

%o

8진 정수로 출력합니다.

%x

16진 정수로 출력합니다.

문자형

%c

한개의 문자를 출력합니다.

%s

문자열을 출력합니다.

실수형

%f

실수를 출력합니다.

정수형을 쓸려면 " "에 저 형식대로 넣으면 됩니다.

그리고 문자형도 그렇고 실수형도 동일합니다.

여기서 주의할건 저 형식에맞는 정수와 문자열을 입력해야 하는데

그렇지

예로

-------------------------------------------------------------------------------

printf("%d를 출력합니다. ", 'c');

printf("%c를 출력합니다. ", 99);

-------------------------------------------------------------------------------

를 하게되면 결과물이 이렇게 나올겁니다.

-------------------------------------------------------------------------------

99를 출력합니다.

c를 출력합니다.

-------------------------------------------------------------------------------

이 이유는 데이터 서시을 첫번째 문장에서 %d로 정수형이라고 컴퓨터에 알려줬는데 문자인 c를 넣게되면 이 c에 해당되는

아스키코드값을 변경해서 반환해버립니다. 즉 c의 정수형 아스키 코드값은 99라는것이죠.

반대로 뒤에 문장에서는 %c형 즉 문자형 서식이라고 컴퓨터에 알려줬는데 내가 뒤에서 그자리에 넣을것은 99라고 알려줘버리게 되면

컴퓨터는 이 99의 문자형 아스키 코드값인 c로 바꿔버리게 됩니다.

이런방식으로 나중에 문제를 접근하는 방법이 있긴 하지만 지금 현상황에서는 저희가 원하는 결과가 아니였으니까

제대로 바꿔주도록 합니다.

-------------------------------------------------------------------------------

printf("%c를 출력합니다. ", 'c');

// 전 문장은 printf("%d를 출력합니다. ", 'c'); 였습니다.

printf("%d를 출력합니다. ", 99);

// 전 문장은 printf("%c를 출력합니다. ", 99); 였습니다.

-------------------------------------------------------------------------------

이로써 결과물은

-------------------------------------------------------------------------------

c를 출력합니다.

99를 출력합니다.

-------------------------------------------------------------------------------

라고 나옵니다.

그리고 %c의 경우에 뒤에 적어줄 문자는 'a' 이런식으로 작은따옴표안에 써주구요.

문자열의 서식인 %s은 " " 큰따옴표 안에다 써줍니다.

만일 작은따옴표나 큰따옴표를 적지 않는다면 컴파일시 오류가 날것이구요. 빌드가 되지 않습니다. 실패라고 뜨죠.

서로 바꿔서 적게 되면 컴파일은 되나 소스파일 실행시 문자가 깨지게되니 조심스럽게 넣으시길 바랍니다.

이렇게요.

-------------------------------------------------------------------------------

printf("%c %c %c", 'a', 'b', 'c');

printf("%s", "abcdefg");

-------------------------------------------------------------------------------

문자와 문자열의 차이는 알겠죠?

정수형이나 실수형에 대해서는 소수점을 기준으로 값이 상실될수 있기때문에 조심해야 합니다.

노파심에 정수형이나실수형에 대해서는 따옴표를 함께 쓰지 않습니다.

정리하는 의미로 실습해봅니다.

-------------------------------------------------------------------------------

#include <stdio.h>

int main()

{

printf("10진수 출력 : %d \n", 10);

printf("8진수 출력 : %d \n", 10);

printf("16진수 출력 : %d \n", 10);

printf("단일문자출력 : %d \n", 'a');

printf("묹열 출력 : 출력 : %d \n", "Grape");

printf("실수 출력 : %f \n", 3.14);

return 0;

}

-------------------------------------------------------------------------------

참고로 %문자의 출력은 %%를 이용합니다 ^^.

자 실행해보고 결과물을 관찰합시다.