C 언어에 대해 잘 설명된 책이나 사이트가 많이 존재한다. 해당 문서의 목차를 따라 C 언어를 마스터해보자.
주요 서적 및 사이트
-
열혈 C 프로그래밍 (윤성우 저)
프로그램을 잘못 짤 경우 컴파일 에러, 런타임 에러가 발생할 수 있다. 컴파일 에러는 문법이 잘못된 경우로, 프로그램을 컴파일 할 때 컴파일러가 오류를 말해준다. 런타임 에러는 프로그램이 실행되는 도중에 발생하는 오류로, 잘못된 배열에 접근하거나, 0으로 나누기 등이 그 원인이 된다.
우리는 모든 입력에 대해 프로그램이 잘 돌아가고, 의도한 결과를 내도록 연습할 필요성이 있다. 이러한 것들을 연습하기 좋은 방법으로 '온라인 저지 사이트'를 이용하는 방법이 있다.
온라인 저지 사이트에서는 쉬운 문제에서 어려운 문제까지 다양한 문제를 제공한다. 문제에서 요구하는 사항에 맞추어 프로그램을 작성한 뒤, 작성한 코드를 제출하면 각각의 입력에 대해 요구되는 시간 안에 올바른 결과를 내는지 채점하여 '맞았습니다', '틀렸습니다', '런타임 에러', '컴파일 에러', '시간 초과' 등의 결과를 알려준다.
온라인 저지 사이트는 굉장히 많이 있지만, 우리는 백준 온라인 저지를 사용하여 C 프로그램의 작성을 연습해보도록 하겠다.
scanf, printf, getchar 등의 사용법에 대해 공부를 해보자. 다음과 같은 문제는 금방 풀 수 있을 정도가 되도록 숙지하자.
C에서는 제공하는 기본적인 연산들은 다음과 같다 (+, -, *, /, %)
또, C에서는 비트 연산이라는 이름의 연산을 제공한다. (~, &, |, ^, <<, >>)
비트 연산은 활용하기에 따라 간결한 코드를 만드는 강력한 무기가 될 수 있다. 다음 비트 연산들의 결과값이 무엇일지 생각해보자. 여기서 i는 int 형이고, 양수라고 가정하자.
- i & (i - 1)
- i & (-i)
if문을 연습할 수 있는 문제를 풀어보자
for문과 while문을 연습할 수 있는 문제를 풀어보자
역할에 따라 함수를 정의하여 사용하면, 코드가 깔끔해진다.