본문 바로가기

💻 Computer Science/Algorithm🐇

[C/C++] 백준 1000 : A+B

728x90
반응형

C 숙련도를 기를겸 기초문제도 풀어봤습니다.

파이썬에선 이 문제의 그나마 어려운점은 'A와 B를 한줄에 입력받는것' 이었고 map함수로 간단히 해결할수있었습니다.

C에서는? 사실 입력문 자체는 파이썬보다 더 직관적입니다. 익숙하지않을뿐..

#include<stdio.h>

int main(void)
{
    int a,b;
    scanf("%d %d",&a,&b);

    printf("%d",a+b);
}

초심자코스이므로 한줄한줄 분석해봅시다.

첫줄 #include<stdio.h>는 'stdio.h'라는 라이브러리를 호출합니다. (python으로 따지면 import~와 비슷하네요). C는 python과 다르게 printf같은 출력문도 라이브러리를 호출해 사용합니다. 가장 기본적이고 일반적인 함수들을 포함한 라이브러리가 stdio.h이기때문에 해당 라이브러리를 호출해야합니다. 나중에 사용자입력을 받을때는 conio.h등 다른 파일도 사용하게됩니다. 이땐 두줄에걸쳐 #include<stdio.h>, #include<conio.h>를 작성해주면됩니다. python에서도 여러줄에걸쳐 사용할 라이브러리를 import하는것처럼요. 

#는 python에선 주석처리지만 #include<stdio.h>의 형태임을 잘 기억해둡시다

 

둘째줄 int main은 정수형 main함수인데요. C는 main함수로 시작해서 main함수로 종료됩니다. C프로그램은 반드시 하나의 main함수를 포함해야되는데요, main함수에 대한 자세한설명은 추후에 다루겠읍니다.. 쨌든 '그냥 무조건 있어야하는 함수'정도로 생각해둡시다.

상황에따라 main함수의 형태는 바뀔수있습니다. 이 문제의경우는 정수를 입력받고 출력하기때문에 int main(void)를 사용했지만 void main(), main()등 여러 형태가 존재합니다. 

 

중괄호 {는 main함수의 범위를 표현합니다. main함수는{으로 시작되어 }으로 종료됩니다. 위에서 C프로그램엔 main함수가 무조건 포함되어있다 했으므로 중괄호도 같이 따라오겠죠. 들여쓰기 해주는것도 잊지마십셔

 

int a,b로 정수형 변수선언, scanf는 파이썬으로 따지면 input의 기능을합니다. 사용자입력을 받지만 '정수형변수'만 받습니다. 문자열은 또 다른 구문으로 입력받는데요.. 이것도 차차 해봅시다

 

%d는 파이썬에서도 자주사용하니까 익숙하네요. 문제에서 입력값을 띄어쓰기로 구분하므로 "%d %d"로 띄어서 쓴값을 각 a,b로 할당해 printf에서 더한값을 출력해줍니다.

 

그밖에 특이사항은 뭐... main함수내 변수선언, 입력문, 출력문 모두 땀흘리는 뒤에 세미콜론 (;)이 붙네요

 

모종의이유로 3월전까진 C 숙련도를 어느정도 길러야해서.. C풀이도 많이 업로드해보겠습니다

 

C초심자코스는 계속됩니다...

반응형