Blog/JAVA기반 스마트웹 개발2021

프로그래밍 언어 활용 part 1 - 변수와 데이터형

고구마달랭이 2021. 7. 25. 23:26

변수와 데이터형

[학습내용] [학습목표]
· 변수와 상수
· 데이터타입
· 변수와 상수를 정의할 수 있다.
· 변수 선언 시 사용되는 다양한 데이터타입을 알고 사용할 수 있다.
· 형식지정자를 알고 변수값을 출력할 수 있다

변수와 상수

 

1. 변수

 

변수 프로그램 수행 시 데이터를 보관할 수 있는 공간

• 메모리에 저장공간 확보

• 방법에 따라 크기와 용도가 다르게 생성

• 유일한 이름(Identifier) 부여

• 메모리에 대한 심볼릭 표현

 

변수선언

• 변수는 사용 전 반드시 먼저 선언해야 함

• 필요 시 선언과 동시에 초기화도 가능함

• 변수선언문 기본 형식

  - 데이터타입 변수명;

  - 데이터타입 변수명1, 변수명2, …… ;

• 변수명은 식별자 생성 규칙을 적용함

 

식별자(Identifier)

변수를 구분하기 위해서 사용되는 이름

• 식별자 규칙

  - 식별자는 반드시 영문자, 숫자, 밑줄 기호(_)만을 사용해야 함

  - 식별자의 첫 글자는 반드시 영문자 또는 밑줄 기호(_)로 시작해야 함 ※식별자는 숫자로 시작해서는 안됨

  - 식별자에는 밑줄 기호(_)를 제외한 다른 기호를 사용할 수 없음

  - 식별자는 대소문자를 구분해서 만들어야 함

     (name, Name, NAME은 모두 다른 이름으로 간주됨)

  - C 언어의 예약어는 식별자로 사용할 수 없음

예약어
if / and / printf / switch / case / break / continue
int / char / float / while / for / double / return 

 

 

식별자 생성

올바른 변수 선언의 예 잘못된 변수 선언의 예
• kim KOR Elec count • 4su
• _eng st1_height openDate • mat*st student?3 wine-list
• score3 • for char

 

변수 활용

• 초기화는 =(대입연산자)를 이용

변수명 = ;

 


 

2. 상수

상수(Constant)

변하지 않는 자료값

보관되는 값에 따라 의미가 변하는 것이 변수

 

리터럴상수(Literal Constant) : 정수형, 실수형, 문자형

심볼릭상수(Symbolic Constant) : const 상수, 매크로 상수, 열거형 상수

 

매크로 상수

• #define문으로 정의되는 상수

형식 
#define 매크로이름 상수
#define MAX 100
#define TOTAL 300
#define RATE 0.7

 

데이터 타입

 

1. 개요

• C 프로그램에서 사용되는 모든 변수나 상수 값은 정해진 데이터형을 가짐

• 데이터형에 의해서 주어진 값의 이진 표현이 결정됨

기본데이터형(Primitive Data Type) 파생 데이터형(Derived Data Type) 사용자 정의형(User-defined Data Type)
 문자형 : char
 정수형 : short, int, long, long long
 실수형 : float, double, long double
 배열
 포인터
 구조체
 공용체
 열거체

 


 

2. 문자형

데이터형 의미 크기
char char 1byte
unsigned 부호 없는 문자형 1byte

 

문자형 변수 선언
char 변수명; char a;
char 변수명, 변수명, … 변수명; char a,b,c;
char 변수명 = ‘초기값’; char a=‘k’;

 


 

3. 정수형

• C 언어는 정수형으로 short, int, long을 제공함

• 크기 비교 : short ≤ int ≤ long

 

데이터형 의미 크기
short short 2
unsigned short unsigned short int
int signed in 4
unsigned int unsigned in
long signed long int 4
unsigned long unsigned long int
long long signed long long int 8
unsigned long long unsigned long long int

정수의 표현

- 부호가 있는 정수형은 최상위 비트(msb)를 부호 비트로 사용함

- 부호가 있는 정수형은 음수를 표현하는데 2의 보수를 사용함

- 부호가 없는 정수형은 최상위 비트값을 저장하는 용도로 사용함

 

데이터형의 유효 범위

분류 데이터형 바이트 크기 유효 범위
문자형 char 1 -128(-27) ~ 127(27-1)
unsigned char 1 0~255(28-1)








정수형








short 2 -32768(-215) ~ 32767(215-1)
unsigned short 2 0~65535(216-1)
int 4 -2147483648(-231) ~ 2147483647(231-1)
unsigned int 4 0~4294967295(232-1)
long 4 -2147483648(-231) ~ 2147483647(231-1)
unsigned long 4 0~4294967295(232-1)
float 4 ±1.17549×10-38 ~ ±3.40282×1038
double 8 ±2.22507×10-308 ~ ±1.79769×10308
long double 8 ±2.22507×10-308 ~ ±1.79769×10308

 


 

4. 실수형

실수의 표현 방식

- 고정소수점(Fixed Point) 방식

- 부동소수점(Floating Point) 방식 ➡ 주로 사용

 

실수의 정밀도

- 단정도 (Float)

- 배정도 (Double)

 


 

5. 형식지정자

형식지정자를 이용한 printf() 출력

printf(“%c”,’a’);
printf(“%d”,5);
printf(“%f”,7.5);
int a;
a = 15;
printf(“%d”,a)

 

서식문자 설명
%c 문자 출력
%d 정수값 출력
%o 8진수로 출력
%x, %X, %#x 16진수 출력, x2a와 같이 소문자, X2A, #0x2a
%u 부호 없는 십진수
%e, %E 지수형식 출력(1.23e+05)
%f, %lf 실수값 출력, lflong double
%s 문자열 출력

 

 


 

 

평가하기

 

Q1. 다음 중 식별자로 잘못된 것은 무엇인가?


① width
② HELLO
③ good_num
④ 23student

 

식별자는 제일 앞에 숫자로 시작할 수 없습니다.




Q2. 변수에 값을 보관할 때 사용되는 대입연산자는 무엇인가?


==
② =
<=
④ -

 

대입연산자는 = 입니다.

 



Q3. 다음 중 실수형 데이터타입이 아닌 것은 무엇인가?


long
float
double
long double

long은 long int를 의미하며 정수형 데이터타입입니다.

 

 


 

 

학습정리

 

 

1. 변수와 상수

• 변수는 프로그램 수행 시 필요한 자료 값을 보관할 수 있는 공간을 의미함

• 변수는 사용 젂 반드시 선언을 먼저 해야 함

• 식별자는 영문 대소문자, 숫자, 밑줄 기호(_)를 이용하여 만듦

• 식별자 생성 시 예약어는 사용할 수 없음

• 상수란 의미가 변하지 않는 자료 값을 의미함

• 저장할 데이터의 종류와 크기에 따라 다양한 데이터타입이 있

 

2. 데이터타입

• 저장할 데이터의 종류와 크기에 따라 다양한 데이터타입이 있음

• 문자형 데이터타입으로 char이 있음

• 정수형 데이터타입으로 short, int, long, long long이 있음

• 실수형 데이터타입으로 float, double, long double이 있음

• 변수값을 출력 시 형식 지정자를 사용하여 출력할 수 있음