-
20140312 (리터럴 상수, 접미사, 아스키코드, 캐스팅, 서식문자, 특수문자)부산IT학원/스마트컨트롤러 2014. 3. 12. 14:37
18일차
----------------------
리터럴(Literal) 상수
----------------------
- 변수가 아닌 것 상수를 리터럴 상수라 함.
ex) int iNum = 3; // 여기서 3이 리터럴 상수.
- int형으로 저장 가능한 것은 int형으로 약속하고
- double형으로 저장 가능한 것은 double형으로 저장하기로 약속했다.
----------------
접 미 사
----------------
- (리터럴) 상수 뒤에 써주는 것으로 상수의 자료형을 바꿀 수 있음.
확인 예제 소스
#include <stdio.h>
int main()
{
printf("3 \t: %d \n", sizeof 3);
printf("3LL \t: %d \n", sizeof 3LL);
printf("3.14 \t: %d \n", sizeof 3.14);
printf("3.14F \t: %d \n", sizeof 3.14F);
return 0;
}출력 화면
---------------------
아스키코드 (ASCII)
---------------------
- 영문자를 표기하기 위해 아스키코드 표를 만들어 그에 상응하는
숫자를 글자 형태로 출력시 영문자가 출력된다.
예제 소스코드
#include <stdio.h>
int main()
{
char cCh1 = 'A';
char cCh2 = 65;
char cCh3 = 'Z';
char cCh4 = 90;
printf("%c %d \n", cCh1, cCh1);
printf("%c %d \n", cCh2, cCh2);
printf("%c %d \n", cCh3, cCh3);
printf("%c %d \n", cCh4, cCh4);
return 0;
}출력 화면
따라서 문자도 컴퓨터 내에선 숫자로 취급한다.
- 0부터 31까지는 제어문자
- 65 = 'A' - 90 = 'Z' - 97 = 'a' - 122 = 'z'
- 문자열이 아닌 문자 하나만 쓸 경우 char 형 말고 int 형으로 쓰는 것이
더 빠르다. 왜냐하면
-------------------
캐 스 팅 Casting
-------------------
- 묵시적 형변환
컴파일러가 어떠한 언급도 없이 형변환
두 가지로 나뉜다.
- down casting(하향식 형변환)
서로 크기가 안 맞을 경우 맞지 않는 부분 만큼 버림.
ex)
int iNum;
char cNum;
iNum = 257.9;
cNum = iNum;
이와 같이 소스를 짜면 iNum에는 257, cNum에는 1이 들어간다.
iNum에서는 뒤에 소수를 버리고 cNum은 257이 이진수로 1 0000 0001인데
1byte만 가져가므로 0000 0001 만 들어감.
- up casting(상향식 형변환)
데이터의 손실을 막기 위해 범위가 더 큰쪽으로 맞춘다.
ex)
dNum = 1 + 1.4;
1도 double형으로 바뀌어 1.4와 연산되어 dNum에 들어간다.
- 명시적 형변환
프로그래머가 알려서 바뀌는 것
ex)
int iNum1 = 3;
int iNum2 = 4;
double dNum;
dNum = (double)iNum1 / iNum2;
() 괄호는 casting 연산자라 부르고
결국 iNum1이 double형으로 승격하고
묵시적 변환으로 iNum2도 double형으로 승격되어 계산됨.
---------------------------
printf 서식 문자와 특수 문자
---------------------------
추가로 %출력은 %%이다.
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140314 (for, if, 삼항연산자) (0) 2014.03.14 20140313 (while, do while, 중첩 while) (0) 2014.03.13 20140311 (비트연산자, 상수, 변수, const, sizeof) (0) 2014.03.11 20140310 (scanf, 16진수 10진수, 실수) (0) 2014.03.10 20140307 (2의 보수법, 관계, 논리 연산자) (0) 2014.03.07