본문 바로가기

C언어 강좌

[C언어_01] Hello, world! & 기본 입출력

| C언어란?

1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일 할 당시 유닉스 운영체제를 만들기 위해 고안한 프로그래밍 언어이다. 많은 프로그래밍 언어에 기반이 되는 언어이며, 절차적 프로그래밍 언어다.

 


| 개발툴 설치

C언어로 만든 코드를 컴파일 할 수 있는 컴파일러가 필요하다.

본 블로그에선 Visual Studio(이하 VS)를 사용할 것이다.

 

다음 사이트에서 Visual Studio Installer를 다운로드 받으면 된다.

https://visualstudio.microsoft.com/ko/vs/

 


| VS 실행

1. 설치한 VS를 실행한다.

 

2. 새 프로젝트 만들기를 선택한다.

 

3. Windows 데스크톱 마법사를 선택한 후 다음을 누른다.

4. 프로젝트 이름을 정하고, 저장될 위치를 선택한 후 만들기 버튼을 누른다.

5. 창이 뜨면 빈 프로젝트를 선택한 뒤 확인 버튼을 누른다.

6. 화면 우측 솔루션 탐색기에서 소스 파일우클릭 한 뒤, 추가 - 새 항목을 클릭한다.

7. 창이 뜨면 C++ 파일 선택 후, 추가 버튼을 누른다.

 

그럼 이제 코드를 입력할 준비가 다 끝났다.

 


| Hello, World! 출력

1. Hello, World! 를 출력하는 코드를 작성한다.

#include <stdio.h>

void main() 
{
	printf("Hello, World!");
    // Hello, World!를 출력합니다.
}

2. 실행을 한다.

Crtl + F5 를 누르면 빌드를 한 후 실행을 하게 된다.

실행을 하면 아래와 같은 콘솔창이 뜨며 실행결과가 나온다.


| 코드 분석

#include <stdio.h>

void main() 
{
	printf("Hello, World!");
    // Hello, World!를 출력합니다.
}

1. #include <stdio.h>

#include 명령어를 통해 다양한 라이브러리를 불러올 수 있다.

stdio.h는 Standard Input/Output library의 약어로 여러형의 입출력 함수가 포함된 헤더파일이다.

C언어로 코딩할 때 기본적으로 항상 필요한 라이브러리이다.

 

2. void main()

C언어는 main이라는 함수부터 시작된다.

항상 시작점은 main함수이다.

함수는 보통 리턴값을 가지게 되는데, void를 사용하면 반환값이 필요없다.

(int main() 같은 경우에는 항상 0으로 반환하는 것이 일반적이다.)

 

3. printf("Hello, World!");

printf() 함수는 사용자에게 특정한 문자들을 출력하기 위해서 쓰인다.

printf()는 처음에 불러온 stdio.h 헤더 파일에 포함되어 있다.

 

또한, C언어에서는 하나의 명령어가 끝났음을 알리기 위해 ;(세미콜론)을 붙이는 것을 원칙으로 하고 있다.

 

4. // Hello, World!를 출력합니다.

// 은 주석을 나타낼 때 쓰인다. 주석에는 보통 프로그램의 구조와 동작을 설명해주는 문장들이 들어간다.

// 이 줄 전체가 주석이다.

/* 한 줄로 된 주석 */

/* 이렇게
여러줄로도
작성할 수 있다. */

/* /* 이중 주석은 성립되지 않는다. */ */

 // 으로는 한 줄만 주석이 가능하고,

/* */ 로는 여러줄이 가능하다.


| 기본 입출력

기본 입출력 : 사용자와 컴퓨터와의 상호작용 (input, output)

 

C언어에서 대표적인 입출력 함수는 printf() 함수와 scanf() 함수가 있다. 이들 함수는 stdio.h 헤더파일에 모두 존재한다.

 

1. printf() 함수

먼저 printf() 함수의 형식은,

printf("형식지정 문자열", 인수);

여기서 인수는 없어도 되지만, 형식지정 문자열은 반드시 있어야 한다.

 

형식지정 문자열 내부에 %기호를 사용해서 인수의 값을 출력하는데,

%d, %c, %s, %f를 각각 정수, 문자, 문자열, 실수로 나타낼 수 있다.

#include <stdio.h>

void main() 
{
    printf("Hello, World!"); // 문자열 출력
    
    printf("%d \n", 10); //형식지정자에 인수로 정수 10을 출력
    
    printf("%f", 10.1); //형식지정자에 인수로 실수 10.1을 출력
    
    printf("\n"); //한 줄 엔터
}

 

2. scanf() 함수

형식은

scanf("%d", &x); // x라는 정수에 사용자에게 입력 받은 값을 삽입한다.

 & : 특정한 변수의 메모리 변수

 scanf() 함수를 사용할 때는 변수 이름 앞에 &를 붙여야 한다.

 입력받을 자료형에 따라서 %d, %c, %f, %s 등의 다양한 문법을 사용해야한다.

 

* VS에서 이 함수를 그냥 사용시, 오류가 발생할 수 있다.

* 따라서 코드 맨 윗줄에 #define _CRT_SECURE_NO_WARNINGS 를 적어줘야한다.