본문 바로가기
IT창고/C

입력 하기.. 출력 하기..

by 창구창고 2007. 12. 26.
반응형

#include <stdio.h>

void main()
{
 int num1, num2;

 num1 =0;
 num2 =0;

 printf_s("num1 : ");
 scanf_s("%d", &num1);

 printf_s("num2 : ");
 scanf_s("%d", &num2);

 printf("\nsum = %d\n", num1+num2);
}


위에 코드는 간단한 덧셈 프로그램입니다..


코드를 하나씩 분석 해 보면


#include <stdio.h> 는 c 언어 컴파일을 위해서 미리 정의되어 있는 함수들을 가지고 있는

파일이다.


인클루드 파일.. 혹은 헤더파일이라고 주로 말하고...

<> 안에 코딩된 .h 파일은 컴파일러에서 정의되어 있는 헤더 파일을 include 하는 것이고..

"" 안에 코딩된 .h 파일은 같은 폴더안에 있는 헤더 파일을 include 하는 것이다


"" 안에 코딩된 헤더 파일은 같은 폴더안에 있는 파일을 include 하는 것이다.



main() 함수는 모든 c 언어에서 가지고 있는 함수 이고..

main() 함수 첫 라인 부터 실행이 되어 지고 { } 안에 모든 라인이 실행 된다.


int num1, num2 는 변수를 정의 하는 것이다.

변수에는 여러가지 종류가 있는데 int 는 정수형.. char 는 문자형 float 는 실수형 등등..

변수에 타입에는 여러가지 종류가 있다.


그리고 변수를 선언하면 각 타입에 따라서 값을 저장할 수 있는 저장 공간이 마련되는 것이다.

따라서 int num1 , num2 는 정수형 2개의 값을 저장할 수 있는 변수를 선언한 것이다.


 printf_s("num1 : ");
는 출력을 해주는 함수 이다.


기존 c 에서는 printf 를 사용해도 되지만 VS2005 에서는 printf_s 로 사용 하는 것을 권장하고 있다.

뭐... printf 로 쓰면 경고가 뜨니까....ㅡㅡ;; 경고가 안나는 printf_s 로 사용하는게

좋은 것 같다.... 인터넷 검색 해보면 오버플로우 나는 것을 막기 위해서 MS 에서 따로 정의해

두었다고 한다.. 아직 확실한 개념이 안잡혀있어서.. ㅎㅎ 혹시 정확한 개념을 아시는 분은 댓글 달아 주세요.. 훗~


printf_s 는 "" 안에 모든 문자열을 출력 하고.. 변수의 값을 출력해 주기 위해서는 각 타입에 따라서

정수형은 %d, 실수형은 %f, 문자형은 %c 등 으로 표시 하고 "" 뒤에 , 를 하고 변수명을 적어 주게되면 %d 자리에 변수의 값을 출력해 주게 된다.


scanf_s 는 변수에 값을 정해 주는 함수이다.

물론 이 함수도 scanf 로 사용 해도 된다.

지금 설명하는 것은 모두 VS2005 기준으로 설명하는 것이다.

아마 VS6 에서 컴파일 하면 에러가 발생 할 수도 있다.

VS6 에서 컴파일 하려면 _s 는 빼고 컴파일 해야 할 것이다.


scanf_s 는 printf_s 와 같이 타입에 따라서 %d, %c 등을 정해 주게 되고  "" 안에 적어 주게 된다.

그리고 , 뒤에 값을 저장할 변수명을 적어 주게 되는데, 이때 & 기호를 꼭 변수명 앞에 적어 줘야된다.


종더 자세한 설명은 뒤에서 할께요......... 후후훗~

간단한 프로그램으로 기본적인 c 언어의 골격에 대해서 설명 드렸습니다...


언제나 궁금한 사항 있으시면 reinminze@gmail.com 으로 메일 보내 주세요.^^

반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."