본문 바로가기
c언어 강좌

[C언어 왕초보 탈출 강좌] 출력문, 입력문

by 두뇌향상중 2023. 4. 15.
반응형
C언어를 독학하시는 분들을 위해 포스팅합니다.
이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다.
가급적 자주 포스팅하겠습니다.

프로그래밍 언어를 처음 배울 때,

가장 처음 실행하라고 나오는 것이,

"Hello world!"

"Hello 언어"

입니다.

 

그만큼 가장 기본적이고도 많이 사용하는 명령이라는 것이겠죠?

(VS code를 사용하였습니다. 참고하세요.)

반응형

1. 출력문

C언어의 출력문은,

printf("출력내용");

입니다.

 

다음의 순서도를 봅시다.

먼저 a와 b라는 변수에 각각 5, 10의 값을 넣도록 합니다.

그리고  컴퓨터에게 인사를 하고, a, b를 출력해 보겠습니다.

#include <stdio.h>

int main()
{
    int a = 5;
    int b = 10;
    
    printf("Hello world!\n");
    printf("%d, %d\n", a, b);
    
    return 0;
}

이제 본격적인 코드가 처음으로 나왔습니다!

처음이니까,

자세히 설명을 해 볼게요~

(앞으로 읽는 이들은 자주 까먹을 예정이므로, 자주 설명하도록 하겠습니다.)

#include <stdio.h>		// stdio.h는 standard input, ouput에 대한 내용이 정의된 library입니다.
				// 이 함수는 항상 include합니다.

int main()			// C언어의 기본 형식 기억하시죠?
{
    int a = 5;			// a라는 변수 앞에 붙은 int는 integer, 즉, 정수라는 의미입니다.
    int b = 10;			// 정수 형태의 메모리 공간을 만든 후에, 값을 집어넣은 것이지요.
    
    printf("Hello world!\n");	// 큰따옴표 안에 있는 내용이 그대로 출력됩니다.
    				// "\n"은 엔터키를 누른 것과 같은 효과, 즉 다음 줄로 커서를 옮깁니다.
    printf("%d, %d\n", a, b);	// 변수 내용을 출력할 때, 큰따옴표 안에 출력할 내용을 정의합니다. 
    				// 정수형일 때에는 %d를 사용합니다. 
    
    return 0;
}

코드 옆에 주석을 달아서 설명을 간단히 추가했습니다.

코드 옆이나 앞에 설명이 필요할 때, 이와 같이 "//"를 사용할 수 있습니다.

이를 "주석"이라 하고 영어로는 "comment out"이라고 합니다.

주석은 컴퓨터가 코드로 인식하지 않는 부분이므로, 개발자가 필요시 적어놓을 수 있습니다.

 

주석을 사용할 때에는,

위와 같이 한 줄 일 때에는 "//",

여러 줄일 때에는 시작은 "/*" 끝은 "*/"으로 사용합니다.

#include <stdio.h>    // stdio.h 파일에 기본적인 함수들이 정의되어 있습니다. 이 함수는 항상 include합니다.

/*C언어의 기본 형식은
int main()
{

	return 0;
 }
 입니다*/

자, 이제 실행해 볼까요?

순서도와 코드, 한 줄 한 줄을 매칭시켜서 이해하셔야 합니다!

2. 입력문

여기까지 되셨다면,

이제 입력문을 해 보겠습니다.

입력은,

scanf를 사용합니다.

 

다음의 순서도를 보겠습니다.

 

먼저, a와 b 입력을 받고,

입력받은 값을 더한 뒤에 이 값을 c에 넣습니다.

마지막으로 c를 출력하겠습니다.

#include <stdio.h>

int main()
{
    int a, b;

    scanf("%d %d", &a, &b);
    int c = a + b;
    printf("%d\n", c);

    return 0;
}

scanf는 printf와 마찬가지로 출력창에 입력될 정수형의 공간을 만들어놓고, 

a와 b를 각각 입력합니다.

    scanf("%d %d", &a, &b);
    printf("%d %d", a, b);

scanf에 printf와 다른 부분이 있죠?

scanf 문장을 풀어서 설명하자면,

"정수형의 공간을 만들어 놓고 a와 b 공간이 있는 주소에 넣는다"라고 할 수 있습니다.

a, b라는 공간의 이름만으로는 찾을 수 없거든요.

 

이때, scanf("%d,%d", &a, &b);라고 적었을 경우에는,

두 수를 입력할 때 space bar가 아닌 콤마를 넣으셔야 합니다.

 

printf를 사용해서 좀 더 명확하게 출력해 볼까요?

    printf("%d + %d = %d\n", a, b, c);

이렇게 마지막 printf를 추가하고 실행해 보겠습니다.

두 번째 줄 "15"보다,

마지막 줄 "5 + 10 = 15"가 좀 더 명확하죠?

번외, 메모리에 대해서...

메모리에 대해 자세히 배울 때, 다시 설명하겠습니다만,

이해를 돕기 위해 간단히 언급하고 넘어가려 합니다.

 

아래 그림과 같은 주소가 있고, 그 건물은 OO은행이라고 합시다.

22nd Stree 350이라는 주소에 은행 건물이 있다면?

그 주변을 잘 알고 있는 우리는 OO은행이라고 알고 있지만,

누군가 이 OO은행에 우편물이나 택배를 보내려고 할 때, 주소를 써야 잘 도착할 수 있겠죠?

전국에 OO은행은 여러 지점이 될 테니까요.

 

메모리와 비교하자면,

우리가 선언한 a, b 등과 같은 변수 이름은 OO은행이고,

&a, &b로 알 수 있는 값들은 이 OO은행의 주소가 됩니다.

더 자세한 내용은 추후 다시 포스팅하겠습니다.

 

오늘 입력문과 출력문 간단하게 배워봤습니다.

 

다음 포스팅에서는 C언어의 연산자에 대해 다뤄보겠습니다.

 

 

반응형

댓글