다시 C언어를 공부하기로 했다. 우선 C언어하면 가장 많이 보는 '윤성우 열혈 C프로그래밍'이란 책으로 공부를 시작하겠습니다.
매일 하루 1-2 챕터를 공부할 계획이였지만....다른거 하느라 바쁘다고 매일 이루다 보니 벌써 1주일이 흘렀습니다. 더 지나기 전에 얼른 공부하려고 기록을 핑계삼아 시작합니다.

책의 내용 중 기억해야 된다 생각하는 내용을 짧게 요약해 기록할 예정입니다. 책 정리를 하면서 중간중간 인터넷에 올라오는 문제도 풀어볼 예정이나 이건 할 수 있을지 의문이긴 합니다.


기본구성

  • 함수의 정의 - 만들어진 함수, 실행이 가능한 함수를 일컬음. 적절한 입력과 그에 따른 출력이 존재하는 것
  • 함수의 호출 - 함수의 실행을 명령하는 행위
  • 인자의 전달 - 함수의 실행을 명할할 때 전달하는 입력 값
#include <stdio.h>
int main(void)
{
printf("Hello world! \n");
return 0;
}

프로그래밍 공부하면 가장 먼저 하는 hello world 예제입니다. 프로그램을 실행하면 예제에 보이는 main 함수가 가장 먼저 호출됩니다. 구성을 확인해보면

#include <stdio.h>

표준함수의 호출을 위해서 '헤더파일 선언'을 해야 합니다. 이 예제의 경우 stdio.h 헤더를 불러왔습니다. 이 문장은 /h로 끝나는 헤더파일을 포함하라는 의미의 선언입니다. 이는 아래에 나오는 printf의 표준함수를 호출하기 위해 사용되었습니다.

헤더파일의 선언은 소스파일의 맨 앞부분, main 함수 정의 이전에 와야 합니다.

int main(void)

즉, '출력의 형태가 int고 입력의 형태가 void인 main이라는 이름의 함수'란 의미입니다.


main함수의 중괄호 내에 존재하는 문장은 순차적으로 실행이 된다. 이 영역을 함수의 몸체라 칭합니다.

{

printf("Hello World! \n);

return 0;

}

몸체의 내부를 보면 각 문장 끝에 세미콜론( ; )이 붙어있다. 이는 문장의 끝을 표현하는 것이다. 하지만 조건문이나 반복문과 같은 컨트롤 문장에는 붙지 않습니다. 컨트롤 문장은 나중에 설명하겠습니다.

몸체를 좀 더 살표보면 c언어에서 제공하는 printf는 출력 표준함수를 사용했습니다. 사용 형태는 위의 내용을 보면 알 수 있듯 소괄호 안에 쌍따옴표내에 출력할 내용을 입력한 후 종료합니다.

마지막으로 return문이 나옵니다 이는 2가지 의미가 있습니다.

  • 함수를 호출한 영역으로 값을 전달(반환)
  • 현재 실행중인 함수의 종료
따라서 main함수를 호출한 영역으로 0을 전달하고 함수를 빠져 나오는 형태입니다. 그런데 main 함수의 종료는 프로그램의 종료로 이어지기 때문에 결국 프로그램이 종료가 됩니다.

--------

주석

주석(comment)은 프로그램 내에 삽입된 메모로 코드를 해석하는데 도움을 주는 내용이라 생각하시면 됩니다. 그리고 주석은 컴파일의 대상에서 제외가 되므로 프로그램의 실행결과에 영향을 미치지 않습니다.


주석의 표현법은 2가지가 있습니다.

블록 단위의 주석은 /* 으로 시작합니다. 그리고 끝은 */로 나타냅니다.

그리고 행 단위의 주석은 // 로 표현합니다.

ex)

/* 주석처리된 문장 */

/*

주석처리된 문장

주석처리된 문장

*/
// 주석처리된 문장

주석은 선택사항이 아닌 필수적으로 구성시켜주는게 좋습니다. 내가 만든 코드라 할지라도 시간이 지나면 모든 내용을 기억하기 힘드므로 꼭 남만을 위한 것이 아닌 나를 위한 것이기도 하기 때문에 습관화하는 것이 좋습니다.

-------

printf

printf 함수는 문자열 이외의 데이터를 다양한 형태로 출력하는 것이 가능합니다. 

printf("Hello World! \n");
printf("%d\n", 1234);
printf("%d %d\n", 12, 34);  //printf(인자1, 인자2, 인자3);  

-결과
Hello World!
1234
12 34

이처럼 문자열도, 정수 데이터도 출력이 가능함을 알 수 있다. 그런데 여기서 %d는 처음볼 것입니다. 이는 서식문자로, 출력의 형태를 지정하는 용도로 사용된다. 출력의 대상은 %d가 포함된 문자의 두 번째 인자가 호출됨을 알 수 있습니다. 보면 알 수 있듯이 %d는 10진수 정수형태의 출력을 의미합니다. (참고로 \n의 경우 줄바꿈 표시입니다.)



'배울 것들 > 언어' 카테고리의 다른 글

C프로그래밍 6/? 반복문  (0) 2018.11.19
C프로그래밍 5/? 자료형  (0) 2018.11.13
C프로그래밍 4/? 자료형  (0) 2018.11.11
C프로그래밍 3/? 데이터  (0) 2018.11.10
C프로그래밍 2/? (변수와 연산자)  (0) 2018.11.08

+ Recent posts