C 프로그래밍 02. 자료형과

1. 상수와 변수

1) 데이터 유형

– 프로그램에서 사용하는 데이터의 종류

– 상수와 변수로 구분하여 사용 가능

– C 프로그램은 수많은 명령어와 데이터로 구성되어 있으며 이러한 데이터의 정확한 처리와 효율적인 활용이 요구된다.

2) 상수

– 항상 고정된 값을 가지며 프로그램 중에 값을 변경할 수 없는 데이터

A. 정수 상수

– 10진수, 8진수(숫자 앞 0), 16진수(숫자 앞 0X, 0x), 무부호형 상수(숫자 뒤 u, U), long형 상수(숫자 뒤 l, L)

나. 실수상수

– Double형인 부동소수점 상수를 기본 데이터형으로 사용

C. 문자 상수

– 작은따옴표 ‘ ‘로 묶인 1개의 영숫자 문자

– 내부적으로 해당 문자의 아스키 코드 값을 사용합니다.

(예: A는 내부적으로 65를 사용합니다.

)

– 탈출 문자: 키보드에 나타나지 않는 문자(예: \a, \b, \f, \n, \,r 등)

D. 문자열 상수

– 큰따옴표 ” “로 묶인 여러 개의 영문자 또는 숫자

– 메모리에 저장할 때 문자열 끝에 null 문자(\0)가 추가됩니다.

3) 변수

– 변수 값

– 프로그램의 변수는 프로그램 실행 중에 변경될 수 있는 값을 저장하는 메모리 위치입니다.

– 변수에 입력된 값은 언제든지 변경할 수 있습니다.

– 컴파일러가 메모리의 일부 공간을 절약할 수 있도록 변수를 사용하기 전에 선언해야 합니다.

– 각 변수에는 이름(변수명)이 있습니다.

– 모든 변수는 고정 데이터 유형을 가집니다.

– 모든 변수에는 값이 할당됩니다.

– 변수 이름 정의 규칙

2. 데이터 타입 및 변수 선언

– 변수 선언: 예약된 메모리 공간 지정, 변수 선언에 필요한 데이터 타입

1) 데이터 타입의 종류

가. 기본형

– 정수형 : int(4bytes), short(2bytes), long(4bytes), unsigned(4bytes) 운영체제에 따라 표현범위가 다름

– 실수형: float(4바이트), double(기본형, 8바이트), long double(8바이트)

– 문자 종류: 문자(1바이트), 무부호 문자(1바이트), -128~127의 값

– enum: enum, 숫자 대신 단어 사용, 형식: enum tagname {enumerator 1, enumerator 2,…}

– 유형 없음: 유효하지 않음

B. 확장 가능

– 배열형, 함수형, 포인터형, 구조체형

2) 변수 선언

가. 변수명과 보유할 데이터의 종류를 지정하여 변수의 저장공간 할당

나. 고려사항

– 변수에 저장할 값(범위)의 크기

– 변수가 선언된 위치(변수가 함수 외부에 선언되었는지 함수 내부에 선언되었는지가 다름)

– 변수 초기화

3. 전처리기

– 컴파일 전 프로그램 시작 부분에 선언되는 전처리 문장 역할

– #include, #define, #if, #else 등

– #으로 시작해야 합니다.

– 추가하지 마십시오. 진술 끝에 추가되었습니다.

– 한 줄에 하나의 명령만 작성하십시오.

– 소스 프로그램의 시작 부분에 위치합니다.

A. 포함 파일

– #include: 헤더 파일(*.h)을 자체 C 언어 소스 파일로 읽어서 함께 컴파일할 때 사용, printf(), scanf() 사용에 필요

– #include 현재 프로그램에 다음 파일을 포함합니다.

B. 매크로 정의

– #define : 매크로를 정의할 때 사용

– 매크로 : 프로그램 작성시 명령어, 수식, 상수값 등을 자주 사용하는 경우 이를 나타내는 이름으로 사용한다.

– 매크로 상수 정의: #define 매크로 이름

– 매크로 함수 정의: #define 매크로 이름(인수)(수식)

C. 조건부 컴파일

– #if, #else, #elif, #endif: 조건에 따라 프로그램을 컴파일하는 명령, 시스템 성능 향상에 도움

– #if, #elif 이후 컴파일 여부를 결정하는 조건문 필요(진위판단)