2013. 4. 3. 16:38ㆍ프로그래밍/C언어 TIP
◎ 정수형 (Integer Type)
․ 주석
주석처리는 // 나 / * * /로 지정해준다.
// unsigned int iNum ; 〓≫ 앞에 //가 붙으면 그 줄은 컴파일할 때 처리하지 않음. //가 한 줄을 주석 처리하는 기호라면 여러 줄을 주석 처리할 때는 처음에 / *를 쓰고 주석처리가 될 문장 끝에 */라고 마무리하면 안에 들어가 있는 문장이 모두 주석으로 처리된다.
․ 임의값
임의값은 메모리에 변수를 지정하고 수를 넣기 전에 들어가 있는 의미없는 값을 얘기한다. 한마디로 메모리에 가치를 부여하는 순간 값은 의미를 가지게 된다.
char cNum ; 〓≫ 메모리에 cNum이라는 이름의 1바이트 공간을 할당. 여기에 들어 있는 8비트 공간의 수가 바로 임의 값, 쓰레기 값이라고 한다.
cNum = 10 ; 〓≫ 메모리에 8비트 공간을 할당받은 cNum에 상수 10을 넣어주는데, 제일 처음 넣은 값을 초기화라고 한다.
표기 방법에 따라 char cNum = 10 ; 이라고도 쓸수 있는데, 위에 것과 같은 의미를 가지며, 변수선언과 초기화(데이터)가 함께 일어난다.
․ scanf() 함수
scanf함수는 표준입출력에 해당하는 키보드의 입력을 받아 값을 부여하는 함수이다. scanf("%d", &number) ; 〓≫ 키보드로부터 10진수를 입력받아 number에 넣으라는 명령문이다. scanf함수는 상수와 엔터키의 입력을 기다리게 되는데, 프로그램이 진행하지 않고 멈춰있는 것을 block이라고 하고 scanf는 printf와 달리 %d에 \n이 와서는 안 된다.
<stdio.h>는 입력 input의 i와 출력 output의 o와 표준(standard)의 std를 혼합하여
stdio라는 표준입출력을 만들게 된 것이다. 마우스는 표준입출력에 해당되지 않는다. 그 이유는 표준을 정할 때 마우스는 보편적이지 않았었고, 마우스는 키보드처럼 입력이 다양하지 않아 입력을 구분하기 힘들기 때문이다.
◎ 파생된 정수형
바이트 크기 | 범위 | |
(signed) int | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned (int) | 4 | 0 ~ 4,294,967,295 |
short (int) | 2 | -32,768 ~ 32,767 |
unsigned short (int) | 2 | 0 ~ 65,535 |
(signed) long (int) | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned long (int) | 4 | 0 ~ 4,294,967,295 |
․ sizeof()
컴퓨터에서의 각 자료형의 크기를 나타내 주는 연산자이다. 구문형식
sizeof (자료형);
sizeof (변수);
sizeof (수식);
《 printf("The size of int is %3d bytes.\n" sizeof (int)) ; 》sizeof의 사용예
int라는 자료형의 크기를 출력하는 명령문이다. 여기서 주위깊게 봐야 할 부분은 바로 %3d라는 부분이다. 보통 10진수를 출력하기 위해 %d를 사용한다. 3은 왜 들어 있는 것일까? 3은 세자리만큼의 공간을 얘기한다. 한자리 수를 출력하면 앞에 두자리는 비워진 상태로 출력된다. 아래의 소스로 확인해보자.
#include <Stdio.h>
int main()
{
int x;
printf("%5d.\n",111);
printf("%2d.\n",111);
printf("%d.\n",111);
printf("%-5d.\n",111);
printf("%-4d.\n",111);
printf("%-2d.\n",111);
printf("%-d.\n",111);
return 0;
}
결과화면
위에 그림처럼 출력하자고 하는 수가 공간을 벗어나게 되면 %2d는 의미 없어진다. 출력이 단지 빈공간이 안 생기게 되는 것이다. %-2d는 옆에 공간이 없이 모든 수가 출력되게 된다. -(마이너스)기호를 붙이면 수는 왼쪽에서부터 출력되어 오른쪽에 빈공간이 남게 된다. 마이너스 없이 %2d를 출력하면 오른쪽에서부터 수가 출력되어 왼쪽에 빈공간이 생긴다. 하지만 출력하고자 하는 수가 범위를 넣으면 오른쪽, 왼쪽의 빈 공간 없이 수는 모두 출력된다.
◎정수형 상수의 표기
상수는 영어로 constant라고 하며 앞에 다섯글자를 따 const라는 예약어로 사용되고 있다. 상수는 변하지 않는 수를 말하며, 일반적으로 변수에 사용되는 숫자나 문자 등을 상수라 총칭하며, 숫자의 표기 때 자리수를 나타내는 콤마(,)를 사용하지 않는다.
C언어에서는 정수형 상수는 10진수 이외에 8진수나 16진수로도 표기할 수 있다.
16진수는 숫자 앞에 0x나 0X를 붙이고 8진수는 0을 붙힌다.
․ 8진수와 16진수를 10진수로 화면에 출력하는 프로그램의 print문이다.
printf("The decimal value of 020 & 0x20 is %5d & %3d.\n", 020, 0x20);
결과는
The docimal value of 020 & 0x20 is 16 & 32로 출력된다.
'프로그래밍 > C언어 TIP' 카테고리의 다른 글
201303/연산자. 형변환(type casting). (0) | 2013.04.03 |
---|---|
201303/문자형. 문자열. (0) | 2013.04.03 |
201303/실수형. 형식지정자 %u. (0) | 2013.04.03 |
201303/자료형 (0) | 2013.04.03 |
201303/보수/1의보수와 2의보수 (0) | 2013.04.03 |