https://codebunny99.tistory.com/162
C언어 변수에 대해 학습하기
변수란 ? - 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간이다.- 실행 도중에 값을 변경할 수 있다. 변수는 왜 필요한가? - 데이터가 입력되면 어딘가에
codebunny99.tistory.com
부호 없는 정수( 양수, 절댓값만 존재한다.) - unsigned를 붙이면 메모리가 차지하는 용량이 줄어든다.
unsigned short
unsigned int
unsigned long
unsigned long long
상수를 type으로 저장하고 싶을 때?
ex)
sum = 123L; => long type으로 선언한 것이다.
<정수타입>
- L 또는 l: long
- LL 또는 ll: long long
- U 또는 u: unsigned int
- UL, Lu, ul, lu, LU, lU, Ul, uL: unsigned long
- ULL, ull, LLU, llu: unsigned long long
<실수타입>
- F 또는 f: float
- L 또는 l: long double
변수의 종류(data type) = 자료형 ( 보통 4바이트 )
- 정수형 ( short, int, long, long long ) 2, 4, 8, 8 byte
- 실수형 ( float, double, long double ) 4, 8, 8 byte
- 문자형 ( char ) 1 byte
** 변수는 사용하기 전에 초기화해야 한다.
ex)
sum = 0; (변수 초기화 해야함 !!!)
scanf("%d %d %d", &x, &y, &z);
sum += x;
sum += y;
sum += z;
오버플로우(overflow)
: 변수가 나타낼 수 있는 범위를 넘는 숫자를 저장하려고 할 때 문제가 발생하는 것을 말한다.
: 16바이트 짜리를 4바이트로 저장하려고 하면, 원하는 데이터로 저장되지 않고 데이터가 다른 값으로 저장되는
오버플로우 문제가 발생한다.
10진법, 8진법, 16진법
2진수 (중요) | 10진수 | 8진수 | 16진수 (중요) |
0 | 0 | 00 | 0x0 |
1 | 1 | 01 | 0x1 |
10 | 2 | 02 | 0x2 |
11 | 3 | 03 | 0x3 |
100 | 4 | 04 | 0x4 |
101 | 5 | 05 | 0x5 |
110 | 6 | 06 | 0x6 |
111 | 7 | 07 | 0x7 |
1000 | 8 | 010 | 0x8 |
1001 | 9 | 011 | 0x9 |
1010 | 10 | 012 | 0xa |
1011 | 11 | 013 | 0xb |
1100 | 12 | 014 | 0xc |
1101 | 13 | 015 | 0xd |
1110 | 14 | 016 | 0xe |
1111 | 15 | 017 | 0xf |
10000 | 16 | 020 | 0x10 |
10001 | 17 | 021 | 0x11 |
10010 | 18 | 022 | 0x12 |
수 체계와 진수 변환 (2진법, 8진법, 16.. : 네이버블로그 (naver.com)
수 체계와 진수 변환 (2진법, 8진법, 16진법)
0과 1을 위해서 진수변환을 배워본다. 2진수를 위해서 수 체계 공학에서 배울 수 체계는 2진수, 8진수, 16...
blog.naver.com
int x = 10; // 10은 10진수이고 int형이고 값은 십진수로 10이다
int y = 010; // 010은 8진수이고 int형이고 값은 십진수로 8이다
int z = 0x10 // 0x10은 16진수이고 int형이고 값은 십진수로 16이다
기호 상수(symbolic constant)
: 기호를 이용하여 상수를 표현한 것이다
ex)
PI = 3.14...
#include <stdio.h>
#define TAX_RATE 0.2 // define문을 매크로라고 한다.
// 밑에 MONTHS보다 define문으로 더 많이 사용함
int main(void)
{
const int MONTHS = 12;
int m_salary, y_salary;
printf("월급을 입력하세요")
scanf("%d", &m_salary);
y_salary = MONTHS * m_salary;
printf("연봉은 %d입니다", y_salary);
printf("연봉은 %f입니다", y_salary*TAX_RATE);
return 0;
}
실수를 표현하는 방법
1. 고정 소수점 방식
: 정수부분 + 소수부분
ex) 85.125 = 85(정수부분) + 0.125(소수부분) 으로 나눈다.
2. 부동 소수점 방식
- 표현할 수 있는 범위가 대폭 늘어난다.
부동 소수점 상수
실수 | 지수 표기법 | 의미 |
123.45 | 1.2345e2 | 1.2345 x 10^2 |
12345.0 | 1.2345e4 | 1.2345 x 10^4 |
0.000023 | 2.3e-5 | 2.3 x 10^-5 |
2,000,000,000 | 2.0e9 | 2.0 x 10^9 |
아스키 코드표
- 문자형을 mapping 시켜놓은 표이고, 컴퓨터는 2진수로 읽는다.
#include <stdio.h>
int main(void)
{
char code1 = 'A'
char code2 = 65;
printf( "code1 = %c\n", code1 );
printf( "code2 = %c\n", code2 );
// 출력결과 둘 다 "A"로 출력된다.
// code1 = A
// code2 = A
}
'C Language' 카테고리의 다른 글
C언어 Basic 조건문 if, switch 개념 (0) | 2024.06.18 |
---|---|
C언어 수식과 연산자의 의미 학습하기 (2) | 2024.06.13 |
C언어 변수에 대해 학습하기 (2) | 2024.06.11 |
C언어 프로그램 개발의 basic (기본) (0) | 2024.06.10 |
CPU 메모리에 대해 학습하기 (0) | 2024.05.31 |