Skip to content

Latest commit

 

History

History
112 lines (88 loc) · 2.71 KB

211022.md

File metadata and controls

112 lines (88 loc) · 2.71 KB

Day 21

Review C

파일 변화

hello.c -> hello.obj -> hello.exe

주석

// 주석 1

/*
주석 2
*/

변수

int num1; // int형인 변수 num1 선언
int num2, num3, num4; // 변수 여러개 선언
int num5 = 20; // 선언과 동시에 초기화

num1 = 10; // 변수에 값 할당

변수 이름 규칙

  • 영문 문자, 숫자 사용
  • 대소문자 구분
  • 문자부터 시작, 숫자 시작 불가
  • _ 사용 가능
  • 키워드 사용 불가

정수 자료형

정수형 : char, int, short, long, long long
signed : 부호 있는 정수, 키워드는 보통 생략
unsigned : 부호 없는 정수 표현, 0부터 시작

자료형 크기
char 1바이트
int 2바이트
long 4바이트
long long 8바이트

long은 os bit 수에 따라 달라짐

언더플로우, 오버플로우

오버플로우 : 최대값을 넘어가면 최솟값부터 다시 시작
언더플로우 : 최솟값보다 작아지면 최댓값부터 다시 시작

자료형 크기 구하기

size = sizeof(int) // int형의 크기 구하기
size = sizeof(num1); // 변수의 자료형 크기 구하기

최댓값, 최솟값 표현

#include <stdio.h>
#include <limits.h>    // 자료형의 최댓값과 최솟값이 정의된 헤더 파일

int main()
{
    char num1 = CHAR_MIN;          // char의 최솟값
    short num2 = SHRT_MIN;         // short의 최솟값
    int num3 = INT_MIN;            // int의 최솟값
    long num4 = LONG_MIN;          // long의 최솟값
    long long num5 = LLONG_MIN;    // long long의 최솟값

    return 0;
}

CHAR_MAX + 1을 이용하면 오버 플로우 발생

실수 자료형

자료형 크기(바이트) 유효자릿수
float 4 7
double 8 16
long double 8 16

long double도 os에 따라 달라짐

float num1 = 0.1f; // float는 숫자 뒤에 f

double num2 = 3.213455; // double은 뒤에 생략

long double num3 = 9.523135; // long double은 숫자 뒤에 l

최댓값, 최솟값 표현

#include <stdio.h>
#include <float.h>    // 실수 자료형의 양수 최솟값, 최댓값이 정의된 헤더 파일

int main()
{
    float num1 = FLT_MIN;           // float의 양수 최솟값
    float num2 = FLT_MAX;           // float의 양수 최댓값
    double num3 = DBL_MIN;          // double의 양수 최솟값
    double num4 = DBL_MAX;          // double의 양수 최댓값
    long double num5 = LDBL_MIN;    // long double의 양수 최솟값
    long double num6 = LDBL_MAX;    // long double의 양수 최댓값

    return 0;
}

오버플로우와 언더플로우

실수 언더플로우는 0 또는 쓰레기 값으로 처리
오버플로우는 inf 출력