C언어 백슬래시 출력 - ceon-eo baegseullaesi chullyeog

 오늘은 아래 코드를 작성해봅시다.

C언어 백슬래시 출력 - ceon-eo baegseullaesi chullyeog

 그런데, 이 포스팅은 코드가 주가 아니라, 저 코드에 있는 코드에서 역슬래스 부분이 중요합니다.

이부분은 사람에 따라서 원화 모양

로 나올 수도 있습니다.

 어째서 이런 차이가 발생할까요?

 원인은 폰트, 글꼴에 있습니다. 사람마다 글씨체가 다르듯이, 폰트에서도 글씨를 표현하는 모양이 다릅니다. 그래서 이런 문제가 발생하는거죠. 그래서 처음 프로그래밍을 접하거나 컴퓨터를 잘 알지 못하는 사람들은 저 두 글씨가 다른 모양이다. 라고 생각을 할 수 있는겁니다.

 결론적으로, 원화 기호나 역슬래시나 같은 뜻이라는거죠.


1. 비주얼 스튜디오에서 어떻게 글꼴을 바꾸나요?

비주얼 스튜디오에서 글꼴을 바꾸는 방법은 다음과 같습니다.

 상단 메뉴 탭의 [도구 - 옵션]을 눌러 옵션창을 엽니다.

 왼쪽 탭에서 [환경 - 글꼴 및 색]을 선택하고 글꼴을 변경하면 됩니다.

 전 D2Coding이라는 글꼴을 사용중인데, 코드 짤때도 가독성이 높아서 주로 이용하는 글꼴입니다. 따로 설치를 진행해야하는 불편이 있지만, 한번 설치하면 다시 설치할 필요가 없으니 큰 문제는 아니라고 봅니다. D2Coding을 설치할 수 없을 때는 대체폰트로 consolas를 사용합니다.

백준을 풀면서, "고양이" 문제를 봤는데,

\    /\
 )  ( ')
(  /  )
 \(__)|

이걸 출력하란다.

그런데,, 분명 하란대로 했는데 에러라네?
unknown escape sequence..

엥? 뭐지?

그렇게 보니, 저기 역슬래쉬 ()가 입력이 안된다.
왤까..

찾아 보니

역슬래쉬를 출력하기 위해선 두번 연속으로 입력해야한다.

/*ex)*/
printf("\\멍청이");

이렇게 해야

\멍청이

로 입력이 된다는 것.. aradooja.

안녕하세요. 오늘은 C언어 역슬래시에 대해 알아보겠습니다 (\)

역슬래시는 \n, \b 같은걸로도 쓰이고 그냥 역슬래시 \ 로도 쓰입니다.

그냥 역슬래시만 쓴다면 줄을 이어주는 역할을 합니다.

아래코드의 결과는?

Colored By Color Scripter

1

2

3

4

5

6

7

8

9

#include<stdio.h>

int main()

{

printf("역슬래시 \

   태스트 \

    \n");     

}


이런식으로 사용합니다. 그래서 코드를 작성하는데 한줄을 길게 작성해야될 때 사용하면 됩니다

예를들어 if문 조건이 긴 경우, define으로 매크로함수를 사용 할 때 사용합니다.

예) define 매크로함수 사용

Colored By Color Scripter

1

2

3

4

5

6

7

8

9

10

11

#include<stdio.h>

#define add(ia,ib) \

{\

printf("%d ",ia+ib); \

}

int main()

{

add(10,20);

}

출력 : 30

여기서 주의할게 있는데 백슬래시뒤에 띄어쓰기같은게 있으면 안됩니다. 띄어쓰기가 있으면 띄어쓰기가 연결되게 됩니다

백준 문제 풀다가 백슬래시와 큰따옴표, 작은따옴표가 제대로 출력이 안돼서 알아봤다.

C언어에서 "" 안에 있는 1개 이상의 문자를 string(문자열)이라고 한다.

"Hello World" 에서 Hello World는 문자열인 것이다. \n은 줄바꿈의 역할을 한다.

그러나 쌍따옴표를 출력하거나 백슬래시를 출력하고 싶은 경우가 생길 수 있다. ""나 \n이 이미 의미가 정해져 있기 때문에 다른 식으로 입력을 해줘야 원하는 문자를 출력할 수 있다. 원래 의미에서 벗어난다는(escape) 의미에서 escape sequence라 불리는 거 같다.

쌍따옴표나 작은 따옴표는 \", \' 백슬래시는 \\ 이렇게 두 번 입력하면 된다.

C언어 백슬래시 출력 - ceon-eo baegseullaesi chullyeog
<출처>Geeksforgeeks, https://www.geeksforgeeks.org/escape-sequences-c/

3. C 출력하기

지난 시간에 C언어의 기본 구조에 대해 알아보았다. 지금부터는 본격적으로 C언어의 기능을 배워보자.

 - 출력을 하기 위해서는 printf( " " ) 함수를 사용해야 한다. 다음 문장을 출력하는 소스코드를 작성해보자.

( 지난 시간에 배운 내용을 떠올려보면 정말 쉬운 문제이니 스스로 생각해보고 풀어보자. )

 - 이번에는 줄을 바꿔서 출력해보자. 아래의 출력 결과가 나올 수 있도록 소스코드를 수정해보자.

( 줄 바꾸는 방법을 모르겠으면 검색해서 알아보자!! 인터넷은 생각보다 똑똑한 사람들이 많은 공간이다. )

 - 약간의 힌트라면 jeongboclass와 tistory 그리고 tistory와 com 사이에 특별한 기호를 넣으면 된다!!

    (Hint. 특별한 기호는 \n이다! 그럼 이 기호를 어디에 넣어야하는지 생각해보자)

 - 줄을 바꿔보았으면 이제는 특수한 기호를 출력해보자. 우리는 지금까지 출력하기 위해서는 단순히 큰따옴표("") 안에 넣으면 출력이 되었다. 하지만 몇몇 문자는 단순히 출력되지 않는다.....(예를 들면 큰따옴표("") 혹은 역슬래쉬(\) 등) 출력이 되지 않는 문자들은 printf(" ")문에서 다른 역할을 가지고 있기 때문에 한번에 출력되지 않는다.

   이런 특별한 문자들은 출력하고자 할 때에는 출력할 문자 앞에 역슬래쉬(\)를 추가해야 한다. 아래 예시 소스코드를 보자.

 - 큰따옴표(""), 작은따옴표(''), 역슬래쉬(\)는 앞에 역슬래쉬(\)를 붙이면 출력할 수 있으며, 퍼센트(%)는 앞에 퍼센트(%)를 붙여야 한다.

 - 출력문에서 사용하는 특별한 기호들은 바로 이스케이프 문자라고 한다. 이스케이프 문자는 특수 문자를 출력하거나 특별한 기능을 수행하며 원하는 내용을 원하는 모습으로 출력할 수 있도록 도와준다. 아래의 표를 참고해보자.

이스케이프 문자

의미

예시

\n

줄바꿈(엔터)

printf("Hello\nWorld");

\t

여러줄 띄어쓰기(탭)

printf("Hi\tC");

\'

작은 따옴표 출력

printf("\'Hi\');

\"

큰 따옴표 출력

printf("\"Hi\"");

\\

역슬래쉬 출력

printf("Hello\\");

%%

퍼센트 출력

printf("100%%");

지금까지 기본적인 출력문에 대해 알아보았다. 다음 시간에는 변수를 사용하여 입력받고 출력하는 방법을 배워보자.