이 영역을 누르면 첫 페이지로 이동
Daily Growth 블로그의 첫 페이지로 이동

Daily Growth

페이지 맨 위로 올라가기

Daily Growth

Loving you is the reason I live. That’s why every day is precious, a step toward my dreams and you.

기초부터 차근차근 배우는 C 언어 - 'Hello, World!'부터 시작하는 프로그래밍 입문

  • 2025.03.12 12:24
  • IT

C 언어, 기초부터 차근차근 배우기(:

C 언어는 오래된 전통적인 프로그래밍 언어이다. 처음 접하는 사람에게는 다소 어려워 보일 수 있지만, 기초부터 하나씩 배우다 보면 금방 이해할 수 있다. 특히, C에서 사용하는 텍스트 코드가 생소하게 느껴질 수 있지만, 익숙해지면 아주 자연스럽게 다가온다. C 언어의 기초를에 관한 공부기록 + "hello, world!"를 출력하는 간단한 프로그램을 통해 C의 기본적인 문법을 정리해보았다.

 

1. #include <stdio.h> - 외부 라이브러리 포함하기

C 언어에서 외부 라이브러리를 사용할 때는 #include 지시어를 사용하여 해당 라이브러리를 포함시킨다. stdio.h는 Standard Input/Output의 약자로, 입출력 기능을 제공하는 라이브러리이다. 이 라이브러리를 포함시켜야 printf()와 scanf() 같은 함수를 사용할 수 있다.

  • #include <stdio.h>를 포함하지 않으면 입력과 출력 기능을 사용할 수 없다.
#include <stdio.h>  // 표준 입출력
#include <cs50.h>   // CS50 라이브러리

int main(void) {
    // 사용자로부터 이름을 입력받음
    string answer = get_string("What's your name? ");
    
    // 입력받은 이름을 출력
    printf("My name is %s\n", answer);
}

 

2. int main(void) - 프로그램의 시작점

main() 함수는 C 프로그램에서 시작점이다. 즉, C 프로그램을 실행하면 가장 먼저 실행되는 함수가 바로 main()이다.

  • int는 반환 타입을 의미한다. main() 함수는 프로그램이 종료될 때 정수값을 반환해야 한다. 일반적으로 0을 반환하면 프로그램이 정상 종료되었음을 나타낸다.
  • void는 매개변수가 없음을 의미한다. 이 예제에서는 main() 함수가 값을 입력받지 않도록 설계되어 있다.
int main(void) {

    // 프로그램의 시작점

    printf("Hello, world!\n");

    return 0; // 0을 반환하여 정상 종료

}

 

3. printf() 함수 - 화면에 출력하기

C 언어에서 출력은 printf() 함수로 한다. 이 함수는 화면에 텍스트나 값을 출력하는 데 사용된다.

  • printf("Hello, world!\n");는 문자열을 출력하는 코드이다. 여기서 \n은 줄바꿈을 의미하며, Enter 키를 눌렀을 때와 동일한 효과가 있다.

 

4. 변수와 데이터 타입

C 언어에서는 변수의 타입을 명확하게 지정해야 한다. 예를 들어, 문자열을 저장할 변수는 string 타입으로 선언해야 한다. C는 타입에 엄격한 언어이기 때문에, 변수에 저장할 데이터의 종류를 정확하게 정의해줘야 한다.

  • string answer = get_string("What's your name?\n");는 사용자 입력을 받는 코드이다. 여기서 get_string() 함수는 사용자가 입력한 값을 문자열로 받아 answer 변수에 저장한다.

 

5. %s와 printf()로 변수 출력하기

C 언어에서는 변수를 출력할 때, 해당 변수의 형식에 맞는 포맷 지정자를 사용해야 한다. 문자열을 출력하려면 printf() 함수에서 %s를 사용한다. 예를 들어, 사용자의 이름을 출력하려면 다음과 같이 작성한다.

string answer = get_string("What's your name?\n");

printf("Hello, %s\n", answer);
  • 여기서 %s는 문자열을 출력하기 위한 포맷 지정자이다. answer 변수에 저장된 값을 출력하려면 %s를 사용한다.

 

6. 컴파일과 실행

C로 작성한 프로그램은 소스 코드로 작성된다. 이 소스 코드는 컴퓨터가 이해할 수 있는 머신 코드로 변환되어야 실행할 수 있다. 이를 위해 컴파일러라는 프로그램을 사용한다.

  • 예를 들어, clang hello.c 명령어는 hello.c라는 소스 코드를 컴파일하여 실행 가능한 파일을 만든다.
  • 컴파일 후 a.out이라는 실행 파일이 생성되며, 이를 실행하려면 ./a.out 명령어를 입력한다. 여기서 ./는 현재 디렉토리를 의미한다.

컴파일 명령어 예시:

clang -o string string.c -lcs50
  • -o string은 string.c를 컴파일하여 string이라는 실행 파일을 생성한다.
  • -lcs50은 cs50 라이브러리를 링크하는 옵션이다. 이 라이브러리에는 get_string() 함수와 string 타입이 정의되어 있다.

 

7. 변수 할당과 출력

C에서는 변수에 값을 할당할 때 = 연산자를 사용한다. 그러나 이때 =는 같다가 아니라 값을 할당하는 의미이다. 예를 들어, 사용자 이름을 입력받아 변수 answer에 저장하려면 get_string() 함수를 사용한다.

string answer = get_string("What's your name?\n");

이렇게 받은 값을 printf() 함수로 출력할 수 있다:

printf("Hello, %s\n", answer);

 


C 언어는 입력과 출력, 변수 선언, 함수 호출 등의 기본적인 개념을 정확히 이해하는 것이 중요하다. C 언어의 문법은 다소 직관적이지 않을 수 있지만, 하나씩 배워가며 익숙해지면 매우 강력한 도구가 될테니까~ 천천히 기초부터 다져가야겠다☺️.

 

반응형

'IT' 카테고리의 다른 글

CS50 C 언어 기초 정리 | 데이터 타입, 입력 & 출력, 연산자 총정리  (0) 2025.03.14
C 프로그래밍 기초 정리 | 변수, 조건문, 반복문  (0) 2025.03.13
ChatGPT와 프롬프트 엔지니어링: 생성형 AI 활용법과 주의사항  (0) 2025.03.10
AI 스타트업 딥시크, 글로벌 기술 시장에 미치는 파급력  (0) 2025.01.28
프리미어 프로에서 오디오 잡음 제거하기  (0) 2025.01.01

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • CS50 C 언어 기초 정리 | 데이터 타입, 입력 & 출력, 연산자 총정리

    CS50 C 언어 기초 정리 | 데이터 타입, 입력 & 출력, 연산자 총정리

    2025.03.14
  • C 프로그래밍 기초 정리 | 변수, 조건문, 반복문

    C 프로그래밍 기초 정리 | 변수, 조건문, 반복문

    2025.03.13
  • ChatGPT와 프롬프트 엔지니어링: 생성형 AI 활용법과 주의사항

    ChatGPT와 프롬프트 엔지니어링: 생성형 AI 활용법과 주의사항

    2025.03.10
  • AI 스타트업 딥시크, 글로벌 기술 시장에 미치는 파급력

    AI 스타트업 딥시크, 글로벌 기술 시장에 미치는 파급력

    2025.01.28
다른 글 더 둘러보기

정보

Daily Growth 블로그의 첫 페이지로 이동

Daily Growth

  • Daily Growth의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (440) N
      • Design History (69)
      • IT (141) N
      • Typography (13)
      • UX • UI Design (10)
      • Money (62)
      • Health (53)
      • Words (6)
      • Reading (21)
      • English (64)

    나의 외부 링크

    • lody.design
    • lody.canada
    • lody.study
    • lody.diary

    정보

    self-improvement의 Daily Growth

    Daily Growth

    self-improvement

    블로그 구독하기

    • 구독하기
    • 네이버 이웃 맺기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © self-improvement.

    티스토리툴바