7월 1주차_C Study 1 . 변수와 자료형

2023. 7. 4. 12:23language : p_study/c language

7월 1주차 학습 할 C언어 study 목차는 다음과 같다.

1. 변수와 자료형
2. 수식자와 연산자.
3. 조건문
4. 반복문 

방학을 좀 더 의미있게 보내고자 지난 학기에 배운 언어를 복습하고자 한다.

 

1. 변수와 자료형

변수란?

프로그램에서 값들이 저장되는 공간을 변수라고 한다.

변수는 사용전에 반드시 미리 선언하여야한다. 

변수 선언을 통해서 프로그램에서 어떤 종류의 변수를 얼마나 사용할지를 컴파일러에게 미리 알리는 것이다.

 

변수 선언

( 변수를 선언하려면 원하는 자료형을 적어주고 이어서 변수 이름을 적어주면된다. 반드시 마무리는 세미콜론으로! )

     int  i;
(자료형) (변수이름)

이렇게 사용하면 정수형 변수 i가 선언된다.

 

 

자료형이란?

자료형(type)이란 데이터의 타입(종류)이라는 의미이다.

 

종류에 대해 알아보자.

자료형 설명 바이트수 범위
정수형 부호있음 short 16비트형 정수 2 -32768~32767
int 32비트형 정수 4 -2147483648~
2147483647
long 32비트형 정수 4 -2147483648~2147483647
long long 64비트형 정수 8 -9,223,372,036,854,775,808~
9,223,372,036,854,775,807
문자형 부호있음 char 문자 및 정수 1 -128~127
부동소수점형 float 단일정밀도 부동소수점 4 1.2E-38~3.4E38
double 두배정밀도 부동소수점 8 2.2E-308~1.8E308
long double 두배정밀도 부동소수점 8 2.2E-308~1.8E308
  • 문자를 나타낼 때는 반드시 작은(' ')따옴표로 감싸서 나타내야한다. 
  • 동일한 자료형의 변수를 여러 개 선언할 때는 한줄로 선언해도된다.(  int width, height ; )
  • 다양한 자료형을 사용하는 이유는 공간의 낭비를 줄이고 효율적으로 사용하기 위해서이다.

변수의 초기화

자료형  변수 이름 = 초기값;
   char  c =  'a' ;
   int  i = 7;
   double rate = 0.05;

만약에 변수를 초기화하지 않으면 쓰레기값이 들어가게 된다.

쓰레기값이란 아무 의미없는 값을 말한다.

 

변수의 이름짓기

변수의 이름을 짓기위해서는 몇가지 규칙이 있다.

1. 알파벳 문자와 숫자, 밑줄 문자_(언더바)로 이루어진다.
2. 이름의 중간에 공백이 들어가면 안 된다.
3. 첫 번째 문자는 반드시 알파벳 또는 밑줄 문자_이여야 한다. (따라서 이름은 숫자로 시작 X)
4. 대문자와 소문자를 구별하여 서로 다른 것으로 취급한다. ( index와 INDEX는 모두 서로 다른 변수이다. )
5. C언어에서 사용하고 있는 키워드와 똑같은 이름은 허용되지 않는다.

 

5 에서 말한 키워드(예약어)가 뭔지 간단히 살펴보자.

 

이제 상수에 대해 알아보자.

 

상수란?

변경되지 않는 값을 상수(constant)라고 한다.

변수처럼 언제든지 다른 값으로 변경할 수 있는 것도 필요하지만, 한번 정해지면 변경할 필요가 없는 값들도 있는데 그런 값들을 상수라고 하고, 상수도 마찬가지로 자료형을 가지고 있다.

 

기호 상수의 활용

 

달러를 원화로 계산하는 예제이다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define EXCHANGE_RATE 1120

int main()
{
   int usd;
   int krw;
   printf("달러화 금액음 입력하시오");
   scanf("%d",&usd);
   krw = EXCHANGE_RATE * usd ;
   printf("달러화 %d달러는 %d원입니다.\n",usd,krw);

   return 0;
}

이렇게 기호상수를 이용하면 두가지 장점이 있다.

  1. 프로그램을 읽기가 쉬워진다는 것이다.
  2. 동일한 상수를 여러 곳에 사용하고 있는 경우 상수 값의 변경을 쉽게 할 수 있다.

기호상수의 정의만 변경하면 되기때문이다.

기호상수를 만드는 방법이 하나 더 있다.

const int EXCHANGE_RATE = 1120;

변수 선언 앞에 const ( constant )를 붙이면 상수가 된다.

 

이제 자료형에 대해 간단히 정리해보려고 한다.

 

1.정수형

unsigned 수식자

변수가 음수가 아닌 값만을 나타낸다는 것을 의미한다.
음수가 제외되면 같은 비트로 더 넓은 범위의 양수를 나타낼 수 있다는 장점이 있다.
원래의 short형은 -32768에서 +32767까지의 정수만을 표현 할 수 있었지만, 
unsigned short형은 0에서 65535까지의 정수를 나타낼 수 있다.

( 참고 + 산술 연사의 결과가 정수형이 나타낼 수 있는 범위를 넘어가면 오버 플로우 될 수 있다.)

 

입출력 형식 지정자

자료형 형식 지정자 설명
short %hi 입력할 때는 %hi를 사용하는 것이 좋다. 출력 시에는 %d도 가능하다.
int %d  
long %ld  
long long %lld 특히 입력할 때는 반드시 %lld를 사용하여야한다. 출력시에도 %lld를 사용하여야한다.

 

2.부동소수점형

float 단일정밀도 부동소수점 4 1.2E-38~3.4E38
double 두배정밀도 부동소수점 8 2.2E-308~1.8E308
long double 두배정밀도 부동소수점 8 2.2E-308~1.8E308
자료형 명칭 크기 유효숫자 범위
float 단일정밀도 32비트 6자리 1.2E-38~3.4E38
double
long double
두배정밀도 64비트 16자리 2.2E-308~1.8E308

유효숫자란?

믿을 수 있는 의미있는 숫자를 말한다.

 

 

부동소수점 상수를 표기하는 방법에는 두가지가 있다.

  1. 소수점 표기법 
  2. 지수 표기법

(참고 + 정수형과 마찬가지로 부동소수점형도 오버플로우와 언더플로우가 있다는점 참고하자.)

 

 

3. 문자형

컴퓨터는 모든 것을 숫자로 표현한다. 문자도 마찬가지다.

문자를 숫자로 표현하기위해 사용하는 것이 "아스키코드(ASCII)이다."

참고 : 15. ASCII 코드 &ndash; 언제나 휴일 (ehpub.co.kr)

문자 변수와 문자 상수에 대해 간단히 알아보자.

 

변수 선언

     char code;
(자료형) (변수명)

아래와 같이 작은 따옴표로 감싸진 'A'를 문자 상수라고 한다.

컴파일러는 작은따옴표로 감싸진 문자 상수를 만나면 이것을 아스키 코드로 변환한다.

code ='A';

 

제어 문자

 

이스케이프 시퀀스

제어 문자 이름 제어 문자 표기 의미
널문자 \0 0  
경고(bell) \a 7 하는 경고 벨소리 발생
백스페이스 \b 8 커서를 현재의 위치에서 한 글자 뒤로 옮긴다.
수평 탭 \t 9 커서의 위치를 현재 라인에서 설정된 다음 탭 위치로 옮긴다.
줄바꿈 \n 10 커서를 다음 라인의 시작 위치로 옮긴다.
수직탭 \v 11 설정되어있는 다음 수직 탭 위치로 커서를 이동
폼피드 \f 12 주로 프린터에서 강제적으로 다음페이지로 넘길 때 사용된다.
캐리지 리턴 \r 13 커서를 현재 라인의 시작 위치로 옮긴다.
큰따옴표 \“ 34 원래의 큰따옴표 자체
작은 따옴표 \“ 39 원래의 작은 따옴표 자체
역슬래시 \\ 92 원래의 역슬래시 자체

주로 \n을 많이 사용한다.

 

 

오늘은 간단하게  지난 학기 C언어 학습을 시작하며 변수와 자료형을 살펴봤다. 

복습을 하고, 다양한 예제를 접하면서 부족한 부분을 채우는 학습을 해야겠다.