상수와 변수
상수(constant)
- 항상 고정된 값을 갖는 자료
- 값이 한번 정해지면 프로그램 도중 그 값을 변경할 수 없는 수
- 정수형 상수
- 10진수 : 0~9까지의 숫자 사용, 0으로 시작할 수 없다
- 8진 상수 : 숫자 앞에 0을 붙인다
- 16진 상수 : 숫자 앞에 0x나 0X를 붙인다
- unsigned상수 : u나 U 붙이기
- 실수형 상수
- 문자형 상수
- 단일 인용부호(' ')로 묶여 있는 1개의 영문자나 숫자문자
- 내부적으로는 해당문자의 ASCII 코드값이 사용
- Escape 문자 : 키보드에 나타나 있지 않은 문자
Escape 문자 기능 \a 경고음(alert) 출력 \b 백 스페이스(back space) \f 새 페이지(from feed) \n 출력시 줄 바꿈(new line) \r 커서를 행의 시작 위치로 이동(carriage return) \t 수평 탭(horizontal tab) \0 ASCII 코드값이 0인 문자(null문자)
- 문자열 상수
- 이중 인용부호(" ")로 묶여 있는 복수개의 영문자나 숫자
- 기억공간에 보관될 때는 문자열 끝에 null문자(\0)가 추가
- 정수형 상수
- 변수
- 프로그램 실행도중 변할 수 있는 값이 저장되는 기억공간을 의미
- 변수의 특징
- 모든 변수는 이름이 있다
- 모든 변수는 정해진 자료형이 있다
- 모든 변수는 할당된 값을 갖는다
- 변수명의 정의 규칙
- 모든 변수는 사용되기 전에 선언되어야 한다
- 변수명은 영문자나 밑줄로 시작해야 한다.
- 중간에 숫자, 밑줄을 섞어서 명명할 수 있다
- 밑줄 이외의 특수문자를 섞어서 명명할 수 없다
#include <studio.h>
void main() {
int a, b; // 정수형 변수 선언
a = 100;
b = 50;
printf("a=%d, b=%d \n", a, b);
}
자료형과 변수 선언
- 자료형이 필요한 이유는 변수 선언을 위함이다
- 자료형의 종류
- 정수형
- int, short, long, unsigned
- 운영체제에 따라 표현범위가 다름
- 실수형
- float, double, long double
- 문자형
- char형, unsigned char형
- ASCII코드를 사용하여 처리
- 열거형
- 숫자 대신 단어를 사용
- enum 태그명 {열거자1, 열거자2, ...}
- enum day {SUN, MON, TUE. WED. THU. FRI. SAT};
- 정수형
- 변수 선언
- 변수명과 변수가 가질 자료형을 지정하여 변수를 위한 기억공간을 할당하는 것
- 형태 : 자료형+변수명
- 변수 선언시 고려 사항
- 변수에 저장될 값의 크기(범위)
- 변수의 선언 위치
- 전역변수 : 변수를 함수 외부에 선언
- 지역변수 : 변수를 함수 내부에 선언
- 변수의 초기화
- 변수명과 변수가 가질 자료형을 지정하여 변수를 위한 기억공간을 할당하는 것
선행처리기
컴파일에 앞서 프로그램 선두에 선언된 지시자들을 미리 처리하는 역할을 수행
선행처리기의 종류
- #include 파일포함
- 가장 많이 쓰임
- C언어에서 제공되는 헤더파일(*.h)를 자신의 소스파일에 읽어 들여 함께 컴파일 하고자 할 때 사용
- C프로그램에서 표준함수인 printf(), scanf() 등을 사용하려면
- 이 함수들의 원형이 선언되어 있는 표준 입출력 헤더파일인 stdio.h를 #include시켜야함
- #include <파일명>
- #include <sudio.h>
#include "stdio.h"
#include "\td\lib\math.h"
- #define 매크로를 정의할 때 사용
- 매크로
- 매크로 상수 정의
- #define 매크로명 자료
- #define PI 3.141592 // PI는 3.141952의 값을 갖는다
- 매크로 함수 정의
- #define AREA(x) (3.141592*(x)*(x))
- 속도가 빠르다
- 매크로 상수 정의
- 매크로
- 조건부 컴파일
- #if, #else #elif #endif
- 최적의 코드로 프로그램을 작성할 수 있기 때문에 시스템의 성능 향상
- #if, #else #elif #endif
- 선행처리기를 사용할 때 주의할 점
- 반드시 #으로 시작해야 한다
- 명령문 끝에는 세미콜론(;)을 붙이지 않는다
- 한 줄에 하나의 명령만 쓴다
- 소스 프로그램의 첫 부분에 위치한다(도입부)
#include <stdio.h>
#define CONDITION 1
void main(){
#if CONDITION
printf("\n A프로그램을 컴파일"); // CONDITION = 1이기 때문에 0이 아니므로 참이다
#else
printf("\n B프로그램을 컴파일");
#endif
}
반응형
'Study > C프로그래밍' 카테고리의 다른 글
[C프로그래밍] #6 배열 (0) | 2021.04.29 |
---|---|
[C프로그래밍] #5 함수와 기억 클래스 (0) | 2021.04.27 |
[C프로그래밍] #4 연산자 (0) | 2021.04.26 |
[C프로그래밍] #3 표준 입출력 함수 (0) | 2021.04.26 |
[C프로그래밍] #1 C언어의 개요 (0) | 2021.03.05 |