printf("ho_tari\n");

ep.19 자료형, 변수, 상수, printf() 함수 본문

두산 로보틱스 부트캠프 ROKEY/C 교육

ep.19 자료형, 변수, 상수, printf() 함수

호타리 2024. 8. 1. 16:38

2014.8.1

오늘부터는 파이썬 교육이 끝나고 C언어 교육이 시작되었다.

 

• 자료형의 필요성 : 메모리에 있는 값 사용

• 자료형은 값의 종류, 메모리 저장 공간 크기, 데이터의 표현 범위 결정
• C 언어는 기본적으로 정수, 실수, 문자 등을 구별할 수 있도록 자료형 정의

▪ 사용자 → 컴퓨터로 입력 : 컴퓨터는 이진수만 이해하므로 문자는 알 수 없고 이진수로 변환
▪ 컴퓨터 → 사용자로 출력 : 메모리나 다른 저장 매체에 있는 이진수 값은 문자 형태로 변환

• 상수(constant)란 코드가 실행되면서 변경되지 않는 값
▪ 리터럴 상수(literal constant)
• 리터럴(literal)이라고도 하며, 정수, 실수, 문자, 문자열 상수가 포함
• 코드에 직접 작성하는 숫자, 문자, 문자열 등이 리터럴 상수
▪ 정수 상수 표현 방법
• C 코드에서 정수는 10진수, 16진수, 8진수, 2진수로 표현 가능
– 10진수(decimal number) : 수학의 정수 표현 방법과 동일
– 16진수(hexadecimal number) : 정수 앞에 ‘0x’ 또는 ‘0X’를 따옴표 없이 붙임
– 8진수(octal number) : 정수 앞에 숫자 0을 붙임
– 2진수(binary number) : 정수 앞에 ‘0b’ 또는 ‘0B’를 붙임

▪ 실수 상수 표현 방법
• 실수 - 소수점이 있는 숫자
• C 코드 - 소수점 앞뒤에 있는 0 생략 가능
• 십진수로 표기하기에 너무 긴 실수는 숫자와 10의 거듭제곱의 형식으로 표현 가능

▪ 문자 상수 표현 방법
• 문자 한 개를 표현하는 방법
• 작은따옴표(') 사이에 문자를 표시
– 예시 : a(소문자 a), A(대문자 A), "(큰따옴표), ,(콤마), ‘ ‘(공백 문자)
▪ 문자열 상수 표현 방법
• 큰따옴표(") 사이에 0개 이상의 글자들 표시
• 큰따옴표 사이에 글자가 없어도 문자열(빈 문자열)

▪ 정수 자료형
• int 자료형
– 정수 자료형(integral type)에서 가장 기본이 되는 자료형
– 컴퓨터에서 가장 빨리 처리하고 연산할 수 있는 값에 해당되는 메모리 크기를 할당
• short int와 long int 자료형
– int 형에서 파생된 자료형
– short와 long으로 주로 사용
• long long int 자료형
– long long int도 주로 long long으로 사용
• 정수 상수와 자료형
– 코드에서 int 형 범

▪ 정수 자료형
• sizeof 연산자

• char 자료형(문자형)
– char 자료형은 문자를 표현하는 자료형
– 가장 작은 범위를 나타내는 정수 자료형이기도 함

▪ 정수를 메모리에 저장하는 방법
• size_t 자료형
– sizeof 연산자가 반환하는 값의 자료형
• ptrdiff_t 자료형 (잘 몰라도 됨. 포인터의 차는 나중에 학습함)
– 메모리 주소에서 다른 주소를 뺄 때의 차(difference)를 의미하는 자료형

▪ 실수 자료형
• float, double, long double 자료형 세 가지를 제공
• 컴파일러에 따라 long double 형이 없거나 double 형과 동일할 수 있음

변수의 세 가지 용도
▪ 메모리 공간
▪ 변숫값
▪ 변수 이름

변수 선언의 의미
▪ 변수가 사용하는 메모리 공간을 확보
▪ 변수 이름을 코드에 알리는 것

▪ 서식 지정자 사용법 - 필수 요소

 

자동 형 변환
• 컴파일러가 알아서 적합한 자료형으로 변환하는 것
• 암묵적 형 변환이라고도 함

• C 언어에서 자동 형 변환은 정수 <-> 실수 자료형에서 발생
• 정수 <-> 정수, 실수 <-> 실수 사이에서도 발생

 

파이썬을 공부하다 C 언어를 공부하니 확실히 파이썬이 매우 쉬운 언어라는 걸 느낄 수 있었다. C 언어는 파이썬에 비해 다소 복잡하고 어렵다고 느꼈다. 그래도 파이썬을 통해 알고리즘과 문법을 배운 후 C 언어를 배우니 문법을 이해하기에 쉬웠고 코드 해석에도 도움을 받을 수 있었다. 코딩은 참 배울수록 언어도 다양하고 어렵고 복잡한 것 같다..그래도 재미가 있어서 좋다.