학교에서 배우는 파이썬으로는 부족하다고 생각해서
오늘부터 C언어를 공부해보기로 마음먹었다.
목표는 한달안에 윤성우 저자의 '윤성우의 열혈 C 프로그래밍 책'을 끝내는 것
책 자체는 나온지 좀 된 책이지만
집에 있는 책이기도하고 네티즌 평도 좋아서 이 책으로 골랐다.
이 책을 공부하면서 쓰기로 한 프로그램은
Visual Studio 2019이다.
책은 Visual C++ Express Edition 2010이란 프로그램을 기반으로 하지만
2019년에 9년 전에 나온 2010년 프로그램을 쓰는게 말이 되는가?
설치하고나서 테마를 고를 수 있는데 간지나는 어두운 테마를 골랐다.
서론은 여기까지. 오늘 공부한 내용을 정리해보자.
==========================================
우선 C언어의 장점을 나열해보면
1. C언어는 절차지향적 특성을 지닌다.
여기서 절차지향적이란?
간단히 말해서 '정해진 순서의 실행흐름'을 중시한다는 의미
"아침에 일어나면 세수를 하고 그 다음엔 식사를 해야 해.
그리고 나서 옷을 갈아입고 학교를 하는거야."
와 같이 인간의 일반적인 생각방식은 절차지향에 가깝다.
때문에 익숙해지는데 오랜 시간이 걸리지 않는다는 것!
2. C언어로 작성된 프로그램은 이식성이 좋다.
C언어로 작성된 프로그램은 CPU의 종류에 상관없이 실행이 가능하고,
운영체제의 차이에도 덜 민감하다.
3. C언어로 구현된 프로그램은 좋은 성능을 보인다.
세 번째 장점은 절대적인 것은 아니다.
언어의 특성보다 중요한 것이 만드는 방법이기 때문이다.
하지만 기본적으로 C언어는 성능에 민감한 소프트웨어의 개발에 주로 사용된다.
사용하는 메모리의 양이 상대적으로 적고,
속도를 저하시키는 요소들을 최소화한 언어이기 때문이다.
그럼 이제 본격적으로 코딩을 하며 배워보자.
이 코드는 Hello world!를 출력해주는 프로그램이다.
파이썬보다는 더 어렵다는 느낌이 확실히 든다.
첫 번째 줄
#include <stdio.h>
헤더파일 선언을 해준 것이다.
printf와 같은 표준함수의 호출을 위해서는
printf 함수와 관련 있는 '헤더파일 선언'이라는 것을 해야한다.
간단히 말해서 printf함수를 사용하기 위해 쓰기 전에 선언! 했다고 보면 될것 같다.
두 번째 줄
int main(void)
출력의 형태가 int이고 입력의 형태가 void인 main이라는 이름의 함수이다.
즉 main이라는 이름을 지닌 함수를 정의한 것이다.
하지만 정의만 했다고 해서 함수가 되는 것은 아니다.
바로 함수는 기능을 지녀야한다.
세 번째 줄~
printf("Hello world! \n");
return 0;
C언어는 함수의 기능이 중괄호 안에 표현이 된다.
파이썬과 진짜 다르다는 것을 많이 느낀다.
그리고 중괄호 내에 존재하는 문장은 그 수에 상관없이
위에서 아래로 순차적으로 실행이 된다.
또 함수 내에 존재하는 문장의 끝에는 세미콜론 문자 ; 를 붙여준다.
BUT 모든 문장에 세미콜론이 붙는 것은 아니다.(조건문, 반복문)
return은 함수의 종료와 값의 전달(반환)이라는 두 가지 의미를 지닌다.
주석
C언어에서는 주석을 다는 방식이 두 가지가 있다.
블록 단위 주석
주석의 시작과 끝을 명시하는 방식
시작은 /*
끝은 */
으로 한다.
행 단위 주석
한 줄을 주석처리하는데에 주로 사용
//뒤에 등장하는 문장은 주석으로 처리된다.
1일차라 조금 자세하게 적어봤다.
2일차부터는 간단명료하게 정리할 것이다.
살 짝 귀찮긴 해도 매일 조금씩 화이링 해보자.
'C언어 공부' 카테고리의 다른 글
C언어 공부 2일차(2019-05-14) (0) | 2019.05.15 |
---|