메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

정수형으로 표현할 수 있는 숫자 범위를 출력하는 프로그램을 작성하라.

한빛미디어

|

2019-12-26

|

by 한빛

1,963

1.jpg

 

산술형과 기본형 

int형, double형 변수나 상수는 덧셈, 뺄셈, 곱셈 등의 산술연산을 수행하므로 산술형arithmetic type이라고 한다. 이 산술형은 여러 가지 자료형의 총칭이다.

 

정수형과 문자형 

정수형integer type문자형character type유효 범위가 연속된 정수를 표현하는 자료형이다. 둘 다 다음과 같은 2종류가 있다.

  1. 부호 없는 정수형unsinged integer type :  0과 양수를 표현하는 정수형
  2. 부호 있는 정수형signed integer type : 음수, 양수, 0을 표현하는 정수형 

변수를 선언할 때 signed 또는 unsigned자료형 지정자type specifier를 붙여 어느 쪽인지 지정할 수 있다. 정수형에 자료형 지정자를 명시적으로 붙이지 않으면 부호 있는 자료형으로 취급한다.

 

2.jpg

int                  x: /* x는 부호 있는 int형 */ 

signed int        y: /* y는 부호 있는 int형 */ 

unsigned int     z: /* z는 부호 없는 int형 */

 

표현할 수 있는 수의 개수에 따라 다음 4종류의 자료형을 제공한다.

char, short int, int long, int

 

가장 앞에 있는 것이 문자형이고 나머지 세 개는 정수형이다. 물론 각각 부호 있음과 부호 없음이 있다. 단, char형은 특별하다. signedunsigned도 붙이지 않는 ‘단순한’ char형이 있다. 이를 정리하면 다음 [그림]과 같다.

 

signedunsigned와 마찬가지로 shortlong도 자료형 지정자의 한 종류다.

3.jpg

 

자료형 이름은 다음과 같은 규칙이 있다. 

  • 단순 shortlongint가 생략된 것으로 본다. 
  • 단순 signedunsigned는 (shortlong이 아닌) int로 본다.

각 자료형이 표현할 수 있는 값의 범위는 개발 환경에 따라 달라진다. 그러므로 C 언어 개발 환경은 문자형과 정수형의 각 자료형으로 나타낼 수 있는 ‘최솟값’과 ‘최댓값’을 <limits.h> 헤더 안에 객체 형식 매크로로 제공한다.

 

다음은 이 책에서 정의한 예다.

4.jpg

▶ 해답 프로그램의 문자열 리터럴에서는 각 자료형 이름을 가장 긴 전체 이름으로 표기(unsigned short int)했다. 한편, 위의 주석에서는 signed 등을 생략한 가장 짧은 표기의 이름(short)을 사용했다

 

 

 

위 내용은 <알쏭달쏭 C 언어 180제>의 내용을 재구성하여 작성되었습니다.

 

B1265473016_l.jpg

 

 

댓글 입력
자료실