jhwannabe
2023. 7. 20. 10:18
C언어의 기초
C언어의 개념
- 1972년 미국 벨 연구소의 테니스 리치에 의해 개발됨
- 컴파일러 방식의 언어
- 시스템 프로그래밍에 가장 적합한 언어
- 포인터에 의한 번지 연산 등 다양한 연산 기능을 가짐
- 이식성이 뛰어나 컴퓨터 기종에 관계없이 프로그램을 작성할 수 있음
- UNIX 운영체제를 구성함
C언어의 기본 구조
- main 함수를 반드시 포함해야 하며, main 함수에서 실행이 시작됨
- 영문 대·소문자를 엄격하게 구별함
- 문장을 끝마칠 때는 세미콜론(;)을 사용
- 여러 개의 문장을 묶어 하나의 블록으로 구성할 때 중괄호({ })를 사용
- 주석문은 /* ~ */로 표기
기본 자료형
자료형 |
예약어 |
크기 |
정수형 |
int |
2 Byte |
long |
4 Byte |
실수형 |
float |
4 Byte |
double |
8 Byte |
문자형 |
char |
1 Byte |
기억 클래스
- 자동 변수(Automatic Variables)
- 레지스터 변수(Register Variables)
- 정적 변수(Static Variables)
- 외부 변수(Externel Variables)
입·출력 함수
scanf( ) |
표준 입력 함수 |
printf( ) |
표준 출력 함수 |
getchar( ) |
문자 입력 함수 |
putchar( ) |
문자 출력 함수 |
gets( ) |
문자열 입력 함수 |
puts( ) |
문자열 출력 함수 |
%d |
10진 정수 |
%o |
8진 정수 |
%x |
16진 정수 |
%f |
10진 실수(소수 이하 6자리까지) |
%e |
지수 |
%c |
문자 |
%s |
문자열 |
이스케이프 시퀀스(Escape Sequence)
문자 |
의미 |
기능 |
문자 |
의미 |
기능 |
\ n |
new line |
커서를 다음 줄 처음으로 이동 |
\ 0 |
null character |
널 문자를 출력 |
\ r |
carriage return |
커서를 현재 줄 처음으로 이동 |
\ ' |
single quote |
작은따옴표를 출력 |
\ t |
tab |
커서를 일정 간격만큼 띄움 |
\ " |
double quote |
큰따옴표를 출력 |
\ b |
backspace |
커서를 뒤로 한 칸 이동 |
\ \ |
backslash |
역슬래시를 출력 |
\ f |
form feed |
한 페이지를 넘김 |
\ a |
alert |
벨 소리를 발생 |
C언어 변수명 작성 규칙
- 영문 대소문자(A~Z, a~z), 숫자(0~9), '_'를 혼용하여 사용할 수 있으며, 영문자는 대소문자를 구분함
- 첫 글자는 숫자로 시작할 수 없고, 영문자나 '_'로 시작해야 하며, 공백을 포함할 수 없음
- 영문자는 대소문자를 구분함
- 공백을 포함할 수 없음
표준 라이브러리 함수
- stdio.h : C언어 표준 입·출력 라이브러리(Standard Input and Output Library)
- stdlib.h : C 표준 유틸리티 함수를 모아놓은 헤더 파일. 문자형 변환, 수치를 문자형으로 변환, 동적 할당 관렪 ㅏㅁ수, 난수 생성 함수, 정수의 연산 함수, 검색 및 정렬 함수 등
- stdlib.h 함수 종류
atoi( ) |
문자열을 정수형으로 변환 |
ceil( ) |
자리올림 |
atof( ) |
문자열을 실수형으로 변환 |
floor( ) |
자리버림 |
atol( ) |
문자열을 log형 정수로 변환 |
rand( ) |
난수 발생 |
itoa( ) |
숫자를 문자열로 변환 |
div( ) |
정수 나눗셈 |
문자열 처리 함수
- strlen( ) : 인수로 전달되며 문자열 길이 반환
- strcat( ), strncat( ) : 하나의 문자열에 다른 문자열을 연결
- strcpy( ), strncpy( ) : 문자열을 복사
- strcmp( ), strncmp( ) : 문자열 내용을 비교
- atoi( ), atol( ), atoll( ), atof( ) : 인수로 전달된 문자열을 숫자형으로 변환
- toupper( ), tolower( ) : 영문자를 대문자, 소문자로 변환