C언어의 이해
* 참고도서 :
C언어 for Beginner (우재남/한빛아카데미)
그림으로 배우는 Easy C언어 (Mana Takahashi/영진닷컴)
프로그래밍 언어란?
컴퓨터에서 작동하는 소프트웨어를 만들기 위한 도구이다.
이 프로그래밍 언어 중에서 가장 대표적인 언어가 바로 지금 우리가 배우고자 하는 C언어이다.
C언어의 특징
1) 이식성이 좋다
2) 하드웨어와 관련된 부분까지 접근할 수 있다.
3) 구문이 간결하고 명확하다
4) C를 익히면 다른 프로그래밍 언어도 쉽게 익힐 수 있다.
C프로그램 작성 방법
C언어는 프로그램을 코딩한 후 컴파일과 링크 과정을 거쳐 생성된 실행 파일을 구동한다.
프로그램 코딩 ▶ 빌드(컴파일/링크) ▶ 파일 실행 |
프로그램 코딩 : 소스 프로그램을 코딩하고 확장자를 *.c로 한다.
컴파일 : 작성된 *.c를 기계어로 변환한다.
링크 : 관련 파일을 하나로 결합한다. 그 결과로 실행 파일을 생성한다.
파일 실행 : 생성된 *.exe 파일을 실행한다.
여기서 빌드는 컴파일과 링크를 한꺼번에 처리는 과정을 말한다.
C언어에 쓰이는 함수
printf : 괄호 안의 내용을 모니터에 출력
scanf_s : 키보드로 값을 입력받음. 변수에 값을 입력받으려면 반드시 &기호를 사용해야 한다.
strcpy : 문자열을 대입할때(복사할때) 쓰임
sizeof : 피연산자의 크기를 바이트의 단위로 계산해서 반환하는 연산자
if : 조건식이 참이면 실행할 문장을 실행, 조건식이 거짓이면 실행하지 않음. (또는 else실행)
swich~case : swich의 조건 값에 따라 case문을 실행한다.
for : 조건이 참일때까지 문장을 반복한다.
while : 조건이 참일때까지 문장을 반복한다.
break : 반복문을 종료할때 사용
countinue : 블록의 남은 부분을 건너뛰고 반복문의 처음으로 돌아간다.
goto : 지정된 레이블으로 건너뛴다.
return : 현재 실행하고 있는 함수를 끝내고, 함수를 호출한 곳으로 돌아가게 하는 제어문
strlen : 문자열의 길이를 알려주는 함수
strcpy_s : 문자열을 복사하는 함수
strcat_s : 두 문자열을 이어주는 함수
strcmp : 두 문자열을 비교하는 함수
gets_s : 문자열을 입력받는 함수
puts : 문자열을 출력하는 함수
getch : 키보드를 통해 문자 하나를 입력받음. 입력한 내용은 화면에 보여지지 않음.
getche : 키보드를 통해 문자 하나를 입력받음. 입력한 내용은 화면에 보여짐.
getchar : 사용자가 키보드로 enter를 누를 때까지 입력한 것을 메모리(버퍼)에 모두 저장해놓고 그 중에서 한문자만 꺼낸다. (enter도 저장됨)
putchar : 표준출력장치에 문자 하나를 출력한다.
putch : =putchar
fopen_s : 파일 열기
fclose : 파일 닫기
fgets : 파일의 문자열 읽기
fscanf_s : 서식을 지정하여 파일 읽기
fputs : 파일의 문자열 출력
fprintf : 서식을 지정하여 파일 출력
malloc : 동적 메모리 확보
realloc : 이미 할당한 메모리 크기 변경
calloc : 메모리를 할당하면서 초기화할때 사용
free : 동적으로 할당한 메모리의 사용이 모두 끝나면 사용한 공간을 해제해야하는데 이때 사용하는 함수가 free이다.
자료형
int : 정수형 변수 선언 (4byte)
float : 실수형 변수 선언 (4byte)
double : 큰 실수형 변수 선언 (8byte)
char : 문자형 또는 정수형 (1byte)
서식
%d : 정수(10진수)
%x : 정수(16진수)
%o : 정수(8진수)
%f 또는 lf : 실수(소숫점이 붙은 수)
%c : 문자(꼭 한글자여야 하고, ' '로 둘러싸야 한다)
%s : 문자열(한 글자 이상이며, " "로 둘러싸야 한다)
%e : 공학계산용 형식
%p : 포인터 주소
서식 문자
\n : 새로운 줄로 이동한다
\t : 다음 탭으로 이동한다.
\b : 뒤로 한 칸 이동한다.
\r : 줄의 맨 앞으로 이동한다.
\a : 삑 소리를 낸다.
\\ : \를 출력한다.
\' : '를 출력한다.
\" : "를 출력한다.
산술 연산자
= |
대입 연산자 |
+ |
더하기 |
- |
빼기 |
* |
곱하기 |
/ |
나누기 |
% |
나머지값 |
관계 연산자
== |
같다 |
!= |
같지 않다 |
> |
크다 |
< |
작다 |
>= |
크거나 같다 |
<= |
작거나 같다 |
논리 연산자
&& |
AND (그리고) |
둘 다 참이어야 참이다. |
|| |
OR (또는) |
둘 중 하나만 참이어도 참이다. |
! |
NOT (부정) |
참이면 거짓, 거짓이면 참이다. |
비트 연산자
& |
비트 논리곱 (AND) |
| |
비트 논리합 (OR) |
^ |
비트 배타적 논리합 (XOR) |
~ |
비트 부정 |
<< |
비트 왼쪽 시프트(이동) |
>> |
비트 오른쪽 시프트(이동) |