본문 바로가기
정보처리기사/프로그래밍 언어 활용

C언어의 개요

by jhwannabe 2023. 7. 20.

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( ) : 영문자를 대문자, 소문자로 변환
728x90
반응형

'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글

스크립트 언어와 Python  (0) 2023.08.04
제어문  (0) 2023.08.04
Java 언어의 클래스와 상속  (0) 2023.07.20
C언어의 배열과 구조체  (0) 2023.07.20
C언어의 연산자  (0) 2023.07.20