Search

'리터럴 상수'에 해당되는 글 3건

  1. 2015.04.27 리터럴 상수란? 문자열 상수.
  2. 2015.04.26 리터럴 상수와 심볼릭 상수
  3. 2015.04.26 리터럴 상수란? - 정수형 상수

리터럴 상수란? 문자열 상수.

C언어 상수란? 2015. 4. 27. 09:00 Posted by 네트동자

문자열 상수란?

 

- 문자열 상수란 큰따옴표( "  " )로 묶은 하나 이상의 문자로 구성된 문자열을 의미한다.

 

 

 

다음의 예제를 통해 간단히 알아보도록 하자.

 

01: #include <stdio.h>

02: int main(void)

03: {

04: printf("문자열 상수는 %s입니다. \n", "A");

05: printf("문자열 상수는 %s입니다. \n", "10+10");

06: printf("문자열 상수는 %s입니다. \n", "Hi, everyone");

07:

08: return 0;

09: }


04행부터 06행까지 큰따옴표 안에 있는 문자, 숫자, 문자열은 

서식문자 %s로 출력가능한 <문자열 상수>임을 기억하라!


컴파일러는 큰따옴표로 묶은 문자열상수를 저장할 때,

문자열상수 맨 마지막에 끝을 알리는 종료문자 \0(10진수 0을 의미)을 자동으로 추가한다.

이것을 우리는 NULL 문자라고 부른다.


04행을 자세히 살펴보자.

04: printf("문자열 상수는 %s입니다. \n", "A");

04행을 살펴보면, A는 한개의 문자이지만, 큰따옴표(" ")로 둘러싸여 있습니다.

그러면, A는 문자상수일까, 아니면 문자열상수일까?

결론 - A는 문자열 상수다.


그 이유는 큰따옴표를 인식한 컴파일러가 A끝에 종료문자(\0)를 자동으로 추가해

서식문자 %s로 출력하도록 하기 때문이다.


못믿겠는가?

만일, 그렇다면, 문자열상수 A를 %c로 출력해보라.

출력되지 않는다는 것을 알 수 있다.


리터럴 상수와 심볼릭 상수

C언어 상수란? 2015. 4. 26. 09:00 Posted by 네트동자

변수도 정수형 변수, 실수형 변수가 있듯이

상수도 크게 두가지 종류가 있다.

 

Literal 상수 : 글자 그대로 의미가 있어서 이름이 없는 상수.

Symbolic 상수 : 상수를 기호화하여 변수처럼 이름을 지어쓰는 상수.

 

'C언어 상수란?' 카테고리의 다른 글

리터럴 상수란? 문자열 상수.  (0) 2015.04.27
리터럴 상수란? 문자 상수.  (0) 2015.04.27
리터럴 상수란? 실수형 상수.  (0) 2015.04.27
리터럴 상수란? - 정수형 상수  (0) 2015.04.26
상수란?  (0) 2015.04.26

리터럴 상수란? - 정수형 상수

C언어 상수란? 2015. 4. 26. 09:00 Posted by 네트동자

우리는 1, 2, 3, a, b, c 등과 같이 숫자나 문자를 읽을 때

숫자나 문자 그대로 있는 그대로의 개념을 부여한다.

 

다시말해, 읽은 그대로의 의미가 있는데 이러한 것들을 C 프로그래밍에서

Literal 상수라고 한다.

 

리터럴 상수 : 정수형 상수, 실수형 상수, 문자 상수, 문자열 상수 가 있다.

 

 

정수형 상수란?

- 소수점이 포함되지 않은 상수.

C언어에서 정수형 상수는 10진수, 16진수, 8진수의 형태로 표현이 가능하다.

그렇다면 우리는 어떻게 10진수 30, 16진수 30, 8진수 30을 구분할수 있을까?

 

16진수는 0x를 8진수는 0을 사용하여 정수형 숫자를 구분할 수 있다.

 

 

정수형상수 

출력 서식 

표현 방법 

 예

 10진수 

%d 

 10, 20, 30

  int a=30

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

16진수

%x 

0x12, 0x20, 0x30 

  int b=0x30;

  printf("%x \n",b);

 8진수

%o 

 012, 020, 030

  int c=030

  printf("%o \n, c);

 

 

다음 예제를 실행해보자.

 

01 : #include <stdio.h>
02 : int main(void)
03 : {
04 : printf("10진수 정수형 상수 %d + %d = %d입니다. \n", 10, 20, 10 + 20);
05 :  printf("16진수 정수형 상수 %x + %x = %x입니다. \n", 0x10, 0x20, 0x10 + 0x20);
06 : printf("8진수 정수형 상수 %o + %o=%o입니다. \n", 010, 020, 010 + 020);

07 :

08 : return 0;
09 : }

 

실행결과

 

 

04행에서 10진수형 상수 10, 20, 10+20을 서식 문자 %d를 통해 출력하고 있습니다.

05행에서 16진수 정수형 상수 0x10, 0x20, 0x10 + 0x20을 서식문자 %x를 통해 출력하고 있다.

06행에서  8진수 정수형 상수 010, 020, 010 + 020을 서식문자 %o를 통해 출력하고 있다.

 

<주의> 8진수를 표현할 때에는 반드시 숫자 앞에 0을 붙여야만 한다~!

'C언어 상수란?' 카테고리의 다른 글

리터럴 상수란? 문자열 상수.  (0) 2015.04.27
리터럴 상수란? 문자 상수.  (0) 2015.04.27
리터럴 상수란? 실수형 상수.  (0) 2015.04.27
리터럴 상수와 심볼릭 상수  (0) 2015.04.26
상수란?  (0) 2015.04.26