본문 바로가기
프로그램/C언어

[C언어] 상수에 대해

by 수박이왓섭 2013. 2. 25.

이번에는 상수라는 것에 대해 설명을 해보겠습니다.

일단 상수란....?

연산에 사용되는 실질적인 데이터 혹은 값을 말하며, 변수를 초기화하거나

변수에 어떤 특정한 값을 대입할 때 사용한다

라고 되어 있네요 ㅎㅎ

 

맞아요 저번에 변수라는거에 대해 살짝 작성을 한적이 있었죠??

그 변수에 들어가는 값 이거를 상수라 생각하시면 됩니다.

 

일단 상수는 크게 2가지로 분류가 됩니다(될거에요...)

 

1. 문자상수

2. 숫자상수

 

문자상수는 뭐.. 뭔자가 들어가는 거겠고, 숫자상수는 숫자가 들어가는 거겠죠 ^^??

숫자 상수는 또 정수형과, 실수형으로 나뉘게 됩니다.

 

일단 간단하게 이정도만.. 알고 계시고요~

 

#include<stdio.h>

void main()

{

char a;

a = 'S';

printf("문자 : %c\n",a);

}

 

저번에 %d는 10진수라고 설명을 해 드렸죠??

이번에 나온 %c는 문자열을 불러오는 겁니다.

그리고 변수 a = 'S'; 이렇게 되어 있는데,

문자는 따옴표를 붙여 표시를 해 주어야 합니다!!

그럼 이렇게 %c형으로 변수 a에 있는 S값이 들어가

결과가 이렇게 나오게 됩니다

 

숫자상수는 정수와 실수가 있는데

정수부터 보겠습니다

정수는 그냥 쉽게 말해 소수점이 없는 숫자 라고 생각하시면 됩니다.

 

#include<stdio.h>

void main()

{

int a,b;

a = 200;

b = 5000000000;

 

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

}

 

 

스샷을 보시면 a값은 정상적으로 나왔는데 b값이 비정상적으로 나왔습니다.

b의 형식이 int형 이라 이렇게 나오는 건데..

int형이 가질수 있는 최대 한계치?? 라고 할까.. 최대 저장할수 있는 수가 있습니다

일단 형별로 몇byte가 정해지는데 int형 같은 경우는 4byte 입니다.

작성한 값이 이 수치를 넘어가게 되면 이상한 결과값이 나오게 됩니다.. ㅠㅠ

 

실수형 같은 경우는 정수형과 반대로 소수점이 있는 숫자~ 라고 생각하시면 편하실거에요

 

#include<stdio.h>

void main()

{

float a;

a = 12.333333;


printf("실수 a는 %f\n",a);

printf("실수 a는 %d\n",a);

}

 

int는 정수의 대표적인 형이였다면

float는 실수의 대표적인 형이라고 말씀드리겠습니다 (그냥 저의 생각 이에요 ㅎㅎ)

변수 a에 정수가 아닌 12.333333을 넣었습니다.

그리고 밑에 2개의 printf문에 각각 %f(실수형)과, %d(정수형)으로

a값을 집어 넣었습니다

결과는..

 

자.. 이렇게 나왔네요

%f로 printf 한거는 잘나왔는데,

%d로 printf 한거는 원하지 않는 값이 나왔습니다.

 

이게 정수와 실수의 형식을 잘못 지정하시면 이런 결과가 나오게 됩니다.

그냥 같은 숫자인데.. 걍 되게좀 해주지.. 여튼.. 안됩니다 ^^;;

정수과 실수 형식을 꼭 구분해 주셔야 되고, 문자도 형식을 구별해 주셔야 됩니다 ㅎㅎ

다음에는 변수 종류에 대해 작성을 해보겠습니다!

 

 

'프로그램 > C언어' 카테고리의 다른 글

[C언어] 간단한 계산기  (0) 2013.02.26
[C언어] 연산자  (0) 2013.02.26
[C언어] 함수  (0) 2013.02.25
[C언어] 입력함수(scanf)  (3) 2013.02.24
[C언어] 변수선언  (2) 2013.02.24

댓글