안녕하세요?

오늘은 탈출문자와 변환문자, 그리고 출력 서식을 이용한 자릿수 지정에 관해서 알아보도록 하겠습니다.

 

• 탈출문자

탈출문자는 출력함수들에서 사용되는 예외적인 문자들을 말합니다. 

예를 들어 따옴표를 출력할 때는 \'를 출력해야 따옴표가 출력되는 것과 같습니다.

탈출문자(Escape Sequence) 의 종류

탈출문자              기능

\b                 back space

\n                 new line(enter)

\t                 tab

\\                \ 출력

\'                 ' 출력

\"                " 출력

\0               NULL 

%%              % 출력

--> 이런 탈출문자들은 파일명을 출력할 떄 등에 요긴하게 쓰이므로 중요한 것은 외워두는 것이 좋습니다!!

 

• 변환문자

제가 첫 강의를 올릴 때 printf 문과 scanf 문을 사용하면서 %d 라는 것을 사용했는데요, 바로 이것이 대표적인 변환문자입니다.

--> 변환문자는 특정 값을 다양한 형태의 값으로 변환시켜 주는 기능입니다.

--> 여기서 다양한 형태란, 정수에서 이진수로, 정수에서 실수로 등을 말합니다.

변환문자의 종류

변환문자        출력형태

%d               10진수

%lld             64비트 정수

%c               한 문자 형태

%f               float 형태의 실수

%lf              double 형태의 실수

%s              문자열

%o             8진법

%x             16진법

%u            부호없는 10진수

%p            pointer 값을 16진수로

%i             정수

이렇게 많은 변환문자들이 있습니다.

이 변환문자들도 꼭 외워주세요!! 아주 자주 쓰이는 문법입니다.

 

• 출력 서식을 이용한 자릿수 지정

출력 서식을 이용한 자릿수 지정이란 무엇일까요??

바로 자신이 출력하고 싶은 소수점 아래 자릿수까지 출력하는 문법입니다.

이 문법 역시 '소수점 n 자리까지 출력하시오' 라는 문제에서 자주 사용됩니다.

이런 문법을 구사하는 방법은 아주 간단합니다!!

바로 변환문자 앞에 .n을 붙이는 것이죠. (여기서 n은 임의의 수 입니다.)

n은 자신이 원하는 소수점 자릿수로 해 주면 됩니다.

<예>

--> 소수점 3자리 까지 출력하고 싶을 때

#include <stdio.h>

int main()

{

       double a = 3.14;

       printf("%.3lf",a);

       return 0;

}

이 알고리즘의 실행결과는 '3.140' 이 됩니다.

 

• 요약

탈출문자는 출력함수들에서 사용되는 예외적인 문자들이다.

변환문자는 특정 값을 다양한 형태의 값으로 변환시켜 주는 기능이다.

변환문자 앞에 .n을 붙이면 소수점 아래 몇 자리까지 출력할지를 지정할 수 있다.

 

--> 다음 강의에서는 변수의 저장 범위에 관하여 알아보도록 하겠습니다.

 

강의 읽어 주셔서 감사합니다.

'C언어 공부' 카테고리의 다른 글

산술 연산자  (0) 2020.02.01
아스키 코드표  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01
입력문과 출력문(1)  (0) 2020.01.30
CodeupCoder's blog에 오신것을 환영합니다!!  (2) 2020.01.30

첫 강의 올립니다!

입력문과 출력문이 워낙 쉽고, 관련된 강의가 많이 있긴 하지만 그래도! 저는 한번 강의를 시리즈로 올려 보고 싶었기 때문에 입력문과 출력문 강의부터 올리도록 하겠습니다.

 

• 입력문

입력문은 사용자가 정한 값이나 문자 등을 컴퓨터가 말 그대로 입력받는 것입니다. 

C언어에서 쓰는 입력문에는 대표적으로 scanf가 있는데요, 지금부터 설명해 드리겠습니다.

예를 보여 드리자면,

#include <stdio.h>

int main()

{

       int a;

       scanf("%d", &a);

}

이렇게 코드를 짤 수 있습니다. (이 코드는 사실상 아무것도 하지 않습니다. 출력되는 값이 없고, 컴퓨터가 입력만 받아 놓기 때문이죠.)

--> 여기서 주의할 점은! 

a 앞에 & 기호를 붙이는 것입니다!! (& 기호를 붙이지 않으면 컴파일 에러가 나니 주의하세요.)

 

• &, 변수에 관한 자세한 설명

여기서 &기호는 변수의 주소를 알려주는 역할을 합니다. 

제가 위 코드에서 만든 'a' 를 코딩에서는 변수 라고 합니다. 변수는 사용자가 지정할 수 있는 값으로, 수학에서의 미지수와 비슷합니다.

변수에 원하는 값을 저장하고, 마음대로 사용할 수 있죠.

변수는 모두 주소를 가지고 저장이 되는데요, 만약 변수들이 이렇게 저장이 되어 있고, a의 값이 13 이었다면

주소      값

0000       9

0001       10

0002       11

0003       12

0004       13

&a의 주소는 '0004'가 되는 것입니다.

scanf 가 이렇게 변수의 주소를 받는 이유는 scanf 에 add 라는 변수를 주었다면, scanf 는 add를 그대로 쓰지 않고, 다른 변수를 선언해 그 변수를

add 변수에 대입하기 때문입니다. 

 

• 출력문

다음으로는 출력문에 대하여 알아보겠습니다. 

출력문은 컴퓨터가 입력된 값을 그대로 출력하는 것입니다.

출력문에는 대표적으로 printf 가 있습니다.

소스 코드를 보자면 다음과 같습니다.

#include <stdio.h>

int main()

{

       int a;

       scanf("%d",&a);

       printf("%d\n",a);

}

--> printf 에는 &기호가 필요가 없습니다.

--> 이 코드는 사용자가 어떤 값을 입력하고, 그 값을 그대로 출력하는 프로그램 입니다.

--> 여기서 \n은 한 줄의 띄운다, 즉 엔터의 뜻을 가지고 있습니다. 이 \n을 생략하는 방법이 있는데요, 그 방법을 다음 강의 주제로 하도록 하겠습니다.

 

• 구분자

마지막으로 설명해 드릴 내용은 구분자 인데요, 두개 이상의 변수를 입력받을 때

(예를 들어 이럴 때) (#include <stdio.h>는 생략)

int price1, price2;

printf("가격을 두 개 입력하세요: ");

scanf("%d %d", &price1, &price2);

printf("%d원과 %d원의 합은 %d원입니다.\n", price1, price2, price1 + price2);

 

--> scanf 에서 price1과 price2 사이에 공백을 넣어 구분한 것을 볼 수 있는데, 이것을 구분자라고 합니다.

 

• 예제

코드업 1001번을 예제로 살펴볼 텐데요, 잎에서 배운 printf 를 활용하면 아주 쉽게 풀 수 있습니다.

완전히 풀어드리지는 않고, 주석만 달아드리도록 하겠습니다.

<예제 풀이>

#include <stdio.h>

int main()

{

        // printf("") 문을 사용해 주어진 문장을 출력

       return 0;

}

--> 여기서 return 0; 은 코드를 중단시키는 것인데, 꼭 필요하지는 않으나 대회 등에서는 꼭 적어 주어야 합니다.

 

• 강의요약

출력문에는 printf 이, 입력문에는 scanf 가 있다.

 

강의 읽어 주셔서 감사합니다.

'C언어 공부' 카테고리의 다른 글

산술 연산자  (0) 2020.02.01
아스키 코드표  (0) 2020.02.01
변수의 저장 범위  (0) 2020.02.01
입력문과 출력문(2)  (0) 2020.01.30
CodeupCoder's blog에 오신것을 환영합니다!!  (2) 2020.01.30

+ Recent posts