PDF 다운로드PDF 다운로드

C는 오래 된 프로그래밍 언어들 중 하나이다. 1970년대에 개발되었지만, 저수준의 조작이 가능하기 때문에 기계의 성능을 최대한 끌어낼 수 있어서 요즘에도 많이 쓰인다. C를 배우면서 컴퓨터의 복잡한 부분에 대한 공부를 하게 되기 때문에 여기서 배운 지식들이 다른 언어를 배우는 데에도 도움이 된다. 이 글을 읽고 C 언어로 개발하는 법을 배워 보자.

방법 1
방법 1 의 6:

시작하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1  컴파일러를 다운로드 받아 설치한다.
    C 코드를 실행하기 위해서는 컴파일러가 코드의 내용을 해석한 후, 기계가 이해할 수 있는 코드로 변환해야 한다. 사서 써야 하는 컴파일러도 있지만, 많은 컴파일러들이 무료로 제공된다.
    • 윈도우를 사용 중이라면, Microsoft Visual Studio Express 또는 MinGW 사용해보자.
    • 맥에서는 XCode를 사용하면 된다.
    • 리눅스에서는 GCC가 많이 사용된다.
  2. How.com.vn 한국어: Step 2  기본적인 내용을 공부하자.
    C는 오래 된 프로그래밍 언어들 중 하나이며 무척 강력하다. Unix 운영체제를 개발하기 위해 만들어졌지만 거의 모든 운영체제에서 사용할 수 있도록 포팅 및 확장되었다. 또한 C의 기능을 더욱 확장해 C++이라는 언어까지 만들어졌다.
    • C 코드는 함수들로 이루어져 있으며, 함수들에는 변수, 조건문, 반복문 등을 사용해 데이터를 저장하고 변형할 수 있다.
  3. How.com.vn 한국어: Step 3  기본적인 코드를 읽어 보자.
    아래와 같은 (매우) 기본적인 코드를 읽어 보면서 언어의 여러 가지 부분이 어떻게 상호작용하는지, 프로그램은 어떻게 작동하는지 관찰해 보자.
    #include <stdio.h>int main() {    printf("Hello, World!\n");    getchar();    return 0;}
    [1]
    • #include는 파일이 시작되는 부분에 포함되며, 필요한 함수들을 불러 들인다. 이 예제에서는 stdio.h 파일을 통해 printf()getchar()라는 함수를 사용할 수 있게 된다.
    • int main()은 정수를 반환하며 main이라는 이름을 가진 함수를 정의하는 부분이다. 컴파일러에게 "여기에서부터 프로그램이 시작합니다"라고 알려 주는 역할을 한다. 모든 C 프로그램에 존재하는 함수이다.
    • {}는 중괄호 안에 있는 모든 코드가 함수에 소속되어 있다는 것을 의미한다. 중괄호 안에 있는 세 줄의 코드는 전부 main 함수 안에 소속되어 있다.
    • printf() 함수는 함수의 내용을 사용자의 모니터 화면에 표시해 주는 역할을 한다. 따옴표는 따옴표 안에 있는 문자열이 코드가 아니라 문장이라는 것을 명시해 준다. \n은 컴파일러에게 커서를 다음 줄로 내리라고 명령하는 문자이다.
    • ;는 한 줄이 끝났다는 것을 의미한다. 거의 모든 C 언어 문장들은 세미콜론(;)으로 끝난다.
    • getchar() 함수는 사용자의 입력이 들어올 때까지 기다리라는 의미이다. 이 명령이 유용한 이유는 대개의 컴파일러가 프로그램을 실행한 후 바로 창을 닫아 버리기 때문이다. 이 함수를 입력해 놓으면 아무 키나 입력될 때까지 프로그램을 실행시켜 놓는다.
    • return 0 명령은 함수가 끝났다는 것을 의미한다. main 함수는 int(정수) 함수이다. 따라서 함수가 끝났을 때에는 정수를 반환해야 한다. 여기에서 "0"는 프로그램이 정상적으로 실행되었다는 의미이다. 0 이외의 숫자를 반환하면 뭔가 문제가 있었다는 의미이다.
  4. How.com.vn 한국어: Step 4  프로그램을 컴파일해 보자.
    코드를 편집기에 입력한 후, "first.c"로 저장해 보자. 그리고 컴파일러로 컴파일한다. 대개 Build나 Run 버튼을 클릭하면 된다.
  5. How.com.vn 한국어: Step 5  코드에는 항상 주석을 추가한다.
    코드를 컴파일할 때 주석은 컴파일되지 않는다. 하지만 이 코드에서 무슨 일이 벌어지고 있는지 설명하는 데에는 도움이 된다. 또한 코드의 목적이 무엇인지 기억하거나 다른 개발자들이 코드를 이해하는데 도움이 된다.
    • C 언어에서 코드를 작성하기 위해서는 주석 시작 부분에 /*를 추가하고 끝에 */로 마무리 짓는다.
    • 기본적인 부분만 제외하고 모든 부분에 주석을 추가해 준다.
    • 주석은 코드의 일부를 삭제하지 않고 컴파일에서 제외하는 데에도 사용된다. 컴파일에서 제외하고 싶은 부분을 주석으로 묶어 준 후에 컴파일을 하자. 그 부분을 다시 코드에 추가시켜 주고 싶다면, 주석을 제거하자.
    광고
방법 2
방법 2 의 6:

변수 사용하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1  변수가 어떤 기능을 하는지 이해한다.
    변수에는 프로그램에서 계산을 하면서 생긴 값들을 저장해 놓거나, 사용자의 입력을 저장하는데 사용된다. 변수는 사용하기 전에 정의되어야 하며, 몇 가지 타입들 중에 하나를 골라서 사용해야 한다.
    • 가장 많이 사용되는 타입들은 int, char, float이다. 이들은 각각 다른 형식의 데이터를 저장한다.
  2. How.com.vn 한국어: Step 2  변수들을 어떻게 선언하는지 배워 보자.
    변수는 사용하기 전에 우선 선언되어야 한다. 변수의 이름 앞에 데이터 타입을 표시해 주면 된다. 예를 들면, 아래 있는 코드는 다 올바른 변수 선언이다.
    float x;char name;int a, b, c, d;
    • 여러 개의 변수가 같은 타입이기만 하면, 한 줄에 작성할 수 있다. 쉼표로 변수들을 구분해 주기만 하면 된다.
    • C 코드를 작성할 때 자주 사용하는 것처럼, 각 줄은 세미 콜론으로 마무리된다.
  3. How.com.vn 한국어: Step 3  변수를 어디에 선언해야 하는지 알아 보자.
    변수는 각 블록이 시작할 때 선언되어야 한다. (다시 말해, { 다음에 선언이 추가되어야 한다는 것이다.) 블록 뒤에서 선언할 경우 프로그램은 정상적으로 작동되지 않는다.
  4. How.com.vn 한국어: Step 4  사용자의 입력을 저장할 때 변수를 사용한다.
    이제 변수를 어떻게 사용하는지 배웠으니, 사용자의 입력을 저장하는 간단한 프로그램을 작성할 수 있을 것이다. 이 프로그램에서는 scanf라는 새로운 함수를 사용할 것이다. 이 함수는 사용자의 입력을 받아 저장하는 역할을 한다.
    #include <stdio.h>int main(){  int x;  printf( "숫자를 입력하세요: " );  scanf( "%d", &x );  printf( "%d를 입력하셨습니다.", x );  getchar();  return 0;}
    • "%d"라는 코드는 사용자의 입력을 정수 형태로 해석할 것이라는 것을 의미한다.
    • 변수 x 앞에 있는 &라는 글자를 추가한 이유는 scanf에게 x라는 변수가 메모리 상에 어디에 저장되어 있는지 찾아 변경할 수 있도록 알려 주기 위함이다.
    • 맨 마지막에 있는 printf 함수는 사용자에게서 받아 들인 입력값을 사용자에게 보여 준다.
  5. How.com.vn 한국어: Step 5  변수의 값을 변경해 보자.
    수식을 이용해 변수에 저장된 값을 변경할 수 있다. 이 때 알아 두어야 할 것은 =이 한 개만 있을 때에는 오른쪽에 있는 값을 대입하지만, ==처럼 두 개가 있을 때에는 오른쪽과 왼쪽에 있는 값들이 동일한지 비교해 본다는 것이다.
    x = 3 * 4; /* x에 3 * 4를 대입한다. 결국 x는 12가 된다. */x = x + 3; /* 원래 있던 x의 값에 3을 더한 후, 그 값을 x에 대입한다. */x == 15; /* x가 15가 맞는지 확인해 본다. */x < 10; /* x가 10보다 작은지 확인한다.  */
    광고
방법 3
방법 3 의 6:

조건문 활용하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1  조건문에 대해 이해한다.
    세상 모든 프로그램은 결국 조건문에 의해 작동한다고 해도 과언이 아니다. 조건문의 결과 값은 TRUE(참) 또는 FALSE(거짓)밖에 없으며, 그 결과값에 따라 프로그램의 진행 방식이 결정된다. 가장 기본적인 조건문은 if문이다.
    • C 언어에서의 TRUE와 FALSE는 지금까지 공부해 온 것과는 조금 다르다. C 언어에서 TRUE는 0이 아닌 숫자를 의미한다. 따라서 어떤 비교를 수행했을 때, 그 비교의 결과가 TRUE라면 1을 반환되며, 결과가 FALSE라면 0이 반환된다. 이것을 이해한다면 if문이 어떻게 작동하는지 이해할 수 있을 것이다.
  2. How.com.vn 한국어: Step 2  조건 연산자들에 대해 배워 보자.
    조건문을 작성할 때에는 수학 연산자들을 사용해 값을 비교한다. 다음 목록에는 가장 흔하게 사용되는 조건 연산자들을 모아 보았다.
    >   /* 크다 */<   /* 작다 */>=  /* 크거나 같다 */<=  /* 작거나 같다 */==  /* 같다 */!=  /* 다르다 */


    10 > 5 TRUE6 < 15 TRUE8 >= 8 TRUE4 <= 8 TRUE3 == 3 TRUE4 != 5 TRUE
  3. How.com.vn 한국어: Step 3  기본적인 if문을 작성해 보자.
    if문을 작성해 조건문이 실행된 뒤에 어떤 내용이 실행되어야 할지 결정할 수 있다. 다른 조건문들을 결합해 좀 더 강력한 조건문을 작성할 수도 있지만, 우선은 간단하게 작성해 보면서 if문에 익숙해져 보자.
    #include <stdio.h>int main(){  if ( 3 < 5 )    printf( "3은 5보다 작다");    getchar();}
  4. How.com.vn 한국어: Step 4  else나 else if문을 이용해 조건문을 확장해 보자.
    else나 else if문을 이용해 if문을 확장할 수 있다. else문은 if문이 FALSE일 때 실행된다. else if문을 이용하면 여러 가지 경우를 처리하기 위해 if문을 나열해 줄 수 있다. 다음 예제를 보면서 else와 else if문이 어떻게 사용되는지 알아 보자.
    #include <stdio.h>int main(){  int age;  printf( "현재 나이를 입력하세요: " );  scanf( "%d", &age );  if ( age <= 12 ) {    printf( "아직 어린이시군요!\n" );  }  else if ( age < 20 ) {    printf( "10대는 행복할 때이죠!\n" );  }  else if ( age < 40 ) {    printf( "마음만은 아직 젊을 때예요!\n" );  }  else {    printf( "나이를 먹으면 지혜로워진대요.\n" );  }  return 0;}
    [2]
    • 위 프로그램은 사용자의 입력을 받은 후 그 값을 age에 저장한 뒤 if문들을 통과시키고 있다. 숫자가 첫 번째 if문을 만족시킨다면, 첫 번째 printf가 실행된다. 첫 번째 if문을 만족시키지 못하면 다음 문장으로 넘어가게 되며, 어떤 문장도 만족시키지 못하면 마지막 else 문 다음에 있는 printf가 실행된다.
    광고
방법 4
방법 4 의 6:

반복문

PDF 다운로드
  1. How.com.vn 한국어: Step 1  반복문이 어떻게 작동하는지 알아 보자.
    반복문란 프로그램에서 가장 중요한 부분 중 하나라고 할 수 있다. 어떤 조건이 만족할 때까지 계속 실행되기 때문이다. 반복문을 통해 어떤 작업을 쉽게 반복할 수 있으며, 똑같은 조건문을 여러 번 작성해야 하는 상황을 피할 수 있게 해 준다.
    • 조건문에는 세 종류가 있다. for, while, do...while이다.
  2. How.com.vn 한국어: Step 2  for 반복문을 사용해 보자.
    가장 흔하게 사용되며 유용한 반복문이다. for문에 기록한 조건에 맞을 때까지 블록 안에 들어 있는 코드가 반복된다. for루프에는 세 가지 내용이 들어간다. 제어변수 초기화, 종료 조건, 블록이 한 번 실행된 후에 제어 변수 변경이다. 이 세 가지 중에 필요 없는 것이 있다면, 그냥 빈 칸으로 남겨 둬도 된다. 하지만 그렇게 하면 루프가 무한 반복될 수 있기 때문에 따로 종료 조건을 설정해 주어야 한다. [3]
    #include <stdio.h>int main(){  int y;  for ( y = 0; y < 15; y++){    printf( "%d\n", y );  }  getchar();}
    • 위 프로그램의 for 반복문에서 y는 0으로 초기화되며, y이 15보다 작을 때에는 코드가 반복 실행된다. y의 값이 화면에 표시된 후에 y는 1이 증가하며 코드가 한 번 더 실행된다. y가 15가 되는 순간, 반복문은 정지한다.
  3. How.com.vn 한국어: Step 3  while 반복문을 사용해 보자.
    while 반복문은 for 반복문에 비해 단순하다. 조건이 하나밖에 존재하지 않으며, 그 조건을 만족시키기만 한다면 코드는 계속 실행된다. 반복문을 정의할 때 변수의 값을 초기화하거나 변경해야 할 필요는 없다. 하지만 대개의 경우 while문 아래 코드 블록에서 관련된 처리를 하게 된다.
    #include <stdio.h>int main(){  int y = 1;  while ( y <= 15 ){    printf( "%d\n", y );    y++;  }  getchar();}
    • y++라는 문장은 y 값을 1 증가시키라는 의미이다. 따라서 반복문이 한 번 실행될 때마다 y은 1씩 증가한다. 그리고 y이 16이 되면 반복문은 실행이 중지된다. 실행 조건이 y <= 15이므로 y가 15와 작거나 "같을" 때 반복문이 실행되어야 하기 때문이다.
  4. How.com.vn 한국어: Step 4 do..
    .while 반복문을 사용해 보자. 이 반복문은 최소한 한 번은 실행되어야 하는 반복문을 작성할 때 유용하다. for이나 while 반복문의 경우에는 반복문을 시작할 때 조건을 확인하지만, do...while의 경우에는 반복문을 마칠 때 조건을 확인한다. 따라서 반복문 내부의 코드가 반드시 한 번은 실행된다.
    #include <stdio.h>int main(){  int y;  y = 5;  do {    printf("반복 중!\n");  } while ( y != 5 );  getchar();}
    • 이 반복문은 조건이 FALSE에 해당하지만 한 번 실행된다. y의 값이 5이고, 조건은 “5가 아니어야 한다”이기 때문에 딱 한 번만 실행되고 반복문이 종료된다. 다시 말해, "반복 중!"이라는 문구가 출력이 된 후에 조건을 확인하고 반복문이 종료된다.
    • do...while문을 작성할 때 while문을 작성한 후 세미콜론을 찍어 주어야 한다. 이 경우가 유일하게 반복문 마지막에 세미콜론이 필요한 경우이다.
    광고
방법 5
방법 5 의 6:

함수를 알아 보자

PDF 다운로드
  1. How.com.vn 한국어: Step 1  함수의 기본에 대해 알아 보자.
    함수란 프로그램의 다른 부분에서 호출할 수 있는 완성된 코드 블록이라고 할 수 있다. 함수를 사용하면 코드에서 반복되는 부분을 제거할 수 있으며, 코드를 작성하거나 읽는 것이 쉬워진다. 함수에는 지금까지 배운 모든 기술을 사용할 수 있으며, 함수 안에 다른 함수를 추가할 수도 있다.
    • 지금까지 봐 온 예제들에서 main()이라는 부분은 main()이라는 함수를 시작한다는 의미이다. getchar() 역시 stdio.h라는 파일에 선언된 함수이다.
    • 효율적이고 읽기 쉬운 코드를 작성하려면 함수는 필수적이다. 프로그램을 깔끔하게 작성하기 위해 함수를 잘 사용해 보자.
  2. How.com.vn 한국어: Step 2 계획을 세우고 시작하자.
    함수를 만들고 싶다면, 계획을 세우고 시작해야 한다. 함수를 선언하려면, "반환_타입 함수_이름(매개변수1, 매개변수2, ...);"처럼 작성해야 한다. 예를 들어 숫자 2개를 더하는 함수는 다음과 같이 선언한다.
    int add ( int x, int y );
    • 이 함수는 정수 2개(x and y)를 더한 뒤, 결과값을 정수형으로 반환한다.
  3. How.com.vn 한국어: Step 3  프로그램에 함수를 추가해 주자.
    위에서 선언한 함수를 정의해 주자. 이 함수는 정수 두 개를 받아들인 뒤 더해서 반환할 것이다.
    #include <stdio.h>int add ( int x, int y );int main(){  int x;  int y;  printf( "더하고 싶은 숫자 두 개를 입력하세요: " );  scanf( "%d", &x );  scanf( "%d", &y );  printf( "두 숫자의 합은 %d입니다.\n" , add( x, y ) );  getchar();}int add ( int x , int y ){  return x + y;}
    • 함수 선언이 main 함수 위에 있는 것을 볼 수 있을 것이다. 이 부분은 컴파일러에게 add라는 함수가 있으니 나중에 불릴 수도 있다는 것을 예상하고 있으라고 이야기해 주기 위해 필요하다. 이 부분은 함수를 나중에 정의할 경우에만 필요하다. add() 함수를 main()보다 위에 정의할 수도 있으며, 이 경우에도 결과는 동일하다.
    • 함수가 어떻게 작동하는지 정의한 부분은 코드의 아랫부분에 위치한다. main() 함수에서는 두 개의 정수값을 add() 함수로 보내 처리한다. 그러면 add() 함수는 결과값을 main()에 반환한다.
    • add() 함수가 정의되었으니 어디서든 add() 함수를 호출할 수 있다.
    광고
방법 6
방법 6 의 6:

좀 더 공부해 보기

PDF 다운로드
  1. How.com.vn 한국어: Step 1 C 프로그래밍 책을 몇 권 읽어 보자.
    이 글에서 기본적인 내용을 다루고 있기는 하지만, 정말 기본적인 부분들만 다루고 있을 뿐이다. 좋은 책을 구하게 되면 문제를 어떻게 해결하는지 배울 수 있기 때문에 프로그래밍을 하다가 생기는 난감한 상황들을 극복하는데 많은 도움이 될 것이다.
  2. How.com.vn 한국어: Step 2 커뮤니티들에 가입해 보자.
    인터넷 상이든 현실 세계든 프로그래밍과 관련된 커뮤니티들은 많이 존재한다. C 프로그래머들과 코드와 아이디어를 교환해 보면, 여러 가지를 배울 수 있을 것이다.
    • 해커톤이나 대회 같은 곳에도 나가 보자. 팀이나 개인 자격으로 참여해 시간 내에 창의적인 방식으로 프로그램을 작성하거나 해결책을 찾아 내는 행사들이 있다. 이런 행사를 통해 좋은 개발자들을 많이 만날 수 있다. 해커톤은 여기저기에서 자주 열리니 조사해 보자.
  3. How.com.vn 한국어: Step 3 강의를 들어 보자.
    컴퓨터 공학 학위를 따기 위해 대학에 들어갈 필요는 없지만, 강의를 듣는 것이 많이 도움이 된다. 프로그래밍에 대해 잘 아는 사람으로부터 강의를 듣는 것만큼 도움이 되는 경험은 없다. 지역 문화 센터나 대학들에서 수강 신청 없이 컴퓨터 프로그래밍 강의를 해 주는 경우가 있으니 찾아서 들어 보자.
  4. How.com.vn 한국어: Step 4 C++을 배워 보자.
    C에 대해 공부했다면, C++을 공부해 보는 것도 좋다. C++은 C를 확장한 언어이며, 여러 가지 기능이 추가되었다. 또한 C++은 대다수의 현대 프로그래밍 언어에서 사용되는 객체를 다루기 때문에 배워 두면 다른 언어를 배우는 데에도 많은 도움이 된다.
    광고

  • 항상 프로그램에 주석을 추가한다. 그러면 그 코드를 읽게 될 다른 사람들에게 도움이 될 뿐만 아니라, 왜 그 코드를 그렇게 작성해야만 하는지 생각해 보는데에도 도움이 된다. 코드를 작성할 때에는 왜 그렇게 했는지 기억할 수 있지만, 2, 3개월만 지나도 많이 생각이 나지 않을 것이다.
  • 문장이 마무리되는 경우 세미콜론(;)을 추가하지만, 'if', 'while', 'for' 같은 제어문을 처리할 때에는 추가하지 않는다.
  • 컴파일을 진행하다 문법 오류를 만나서 막히는 경우가 있다. 이 경우에는 구글이나 다른 검색 엔진을 사용해 문제를 검색해 보자. 비슷한 문제를 겪었던 사람들이 해결책을 적어 놓았을 것이다.
  • 소스 코드 파일은 .c 확장자를 가져야 한다. 그래야 컴파일러에서 C 언어 파일이라는 것을 인식하게 된다.
  • 실력 향상을 위해서는 연습이 필요하다는 것을 잊지 말자. 프로그래밍 연습을 많이 할수록 더 잘하게 될 것이다. 따라서 실력이 늘 때까지 작고 간단한 프로그램부터 시작해 보자. 실력이 늘었다면 좀 더 복잡한 것을 만들어 보자.
  • 논리에 대해 공부해 보자. 프로그래밍을 하다 만나게 되는 여러 문제들을 해결하는데 도움이 된다.
광고

이 위키하우에 대하여

위키하우 글은 여러명의 작성자에 의해 공동 작성될 수 있습니다. 이 글은 익명을 포함한 55 명의 작성자들이 꾸준히 편집하여 개선되었습니다. 조회수 18,919회
글 카테고리: 컴퓨터
이 문서는 18,919 번 조회 되었습니다.

이 글이 도움이 되었나요?

⚠️ Disclaimer:

Content from Wiki How 한국어 language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

광고