[백준/C++] #3. 10171 고양이 (입출력) | C++ 특수문자(\, ', " 등) 출력

K Choi·2022년 1월 8일
0

백준

목록 보기
3/37
post-thumbnail

문제
https://www.acmicpc.net/problem/10171

코드

#include <stdio.h>
int main(void){
    printf("\\    /\\\n");
    printf(" )  ( ')\n");
    printf("(  /  )\n");
    printf(" \\(__)|");
    return 0;
}

출력 보고 '아 뭐야 완전 쉽네' 했다가 큰코 다쳤네요.
역슬래쉬 출력하는 걸 배운 적이 없어서...
1학년 2학기 때 문해프 시험에서 비슷한 거 나왔던 거 같은데
시험 때 출력이 안 돼서 애먹다가 결국 틀렸던 걸로 기억한다
이번에 확실히 알아가는 걸로,,

C++ 역슬래쉬 출력 방법

역슬래쉬(), 작은 따옴표('), 큰 따옴표("), 퍼센트(%) 기호를 출력하려면
\를 한 번 더 붙여주어야 합니다.

\ 입력 -> \ 출력
\' 입력 -> ' 출력
\" 입력 -> " 출력
\? 입력 -> ? 출력

이런 식으로 해줘야!

다만 C++에서 cout을 쓸 때 % 출력하려면 그냥 % 써주면 되는데
C언어에서 %를 출력하려면 %%를 입력해야 합니다.

이번 문제는 한 번에(?) 맞히긴 했지만 인터넷 뒤져서 성공한 거라 아쉽네요.
그래도 새로운 거 배워가는 거에 의의를 두는 걸로

글구 오늘 고양이 문제 풀며 하나 더 눈에 띈 건
C++문법이 C언어랑 좀 다르다는 거..!
근데 C++에 C언어 문법 그대로 써서 출력해도 결과는 제대로 출력되더라구요. 그치만 미래를 위해 정리해두자면...

C언어 vs C++ 기본 포맷

C언어에서 배운 기본 포맷은

#include <stdio.h>

int main(void) {

	return 0;
}

와 같았다면 C++의 기본 포맷은 아래와 같습니다.

#include <iostream>

using namespace std;

int main() {

	return 0;
}

#include < iostream >

'포함하다'라는 의미를 가진 include는 필요한 라이브러리, 헤더 파일 등을 포함하도록 합니다.

C에서 stdio.h라는 헤더파일을 사용하는 것과 달리
C++에서는 < iostream >을 사용합니다.

입출력 관련 헤더 파일이 C에서는 stdio.h인 반면
C++에서는 < iostream >이 입출력 관련 헤더파일이기 때문입니다.
(즉 < iostream >은 iostream.h 파일을 의미)
이 파일 안에 입력과 출력에 관한 객체와 함수들이 들어있습니다.

여기서 stream은 무얼 의미하나 하면 데이터의 흐름을 의미합니다.
<는 왼쪽으로의 데이터 흐름, >는 오른쪽으로의 데이터 흐름을 의미합니다.

using namespace std;

namespace는 입력하는 문자열을 대신합니다.
즉 std를 namespace로 처리하면
std 클래스명을 사용하지 않고 함수를 호출할 수 있습니다.
std는 standard library(표준 라이브러리)를 의미합니다.

출력은 원래 std, cout을 사용해야 하지만 이렇게 함으로써
cout만 사용해도 같은 기능을 하게 되어 편리해집니다.

profile
mbeCoder

0개의 댓글