본문 바로가기
언어/C언어

[C 언어] 4. printf() 와 scanf()

by 칙칙폭폭 땡땡 2024. 4. 14.
반응형

C언어는 입출력을 하기위해 라이브러리 함수를 제공합니다.

 

그중 printf()는 모니터에 출력해주는 함수고, scanf()는 키보드로 입력 받는 함수입니다.

 

입출력 라이브러리 함수가 제공되지 않는다면 직접 코드를 작성 해야 될 것입니다.

 

엄청 불편할 겁니다.

 

먼저 printf() 부터 보겠습니다.

 

문자열을 출력하려면 printf()를 사용하려면 ()안에 필요한 데이터를 넣어주면 됩니다.

 

변수값을 출력 하려면 %d 와 같은 형식 지정자를 사용해서 나타낼 수 있다.

 

예를 들어서 sum 이라는 변수를 화면에 출력하려면 printf("총합: %d", sum); 이라고 쓴다.

 

여기서 %d 는 %d 를 출력하라는 뜻이아니고 출력 형식을 지정한 것입니다.

 

%d 는 10 진수 형태로 출력하라는 것을 의미 합니다. (10진수는 우리가 아는 1,2,3,4,5,..와 같은 수)

 

%d 말고도 다른 형식 지정자도 있다.

 

 형식지정자 의미  예  실행결과 
%d  10진 정수로 출력  printf("%d\n", 10);  25
 %f 실수로 출력  printf("%f\n", 3.14);  3.14
 %c 문자로 출력  printf("%c\n", 'a');  a
 %s 문자열로 출력  printf("%s\n", "Hello");  Hello

 

 

다음은 scanf() 입니다.

 

scanf()는 printf() 와 비슷합니다.

 

scanf()가 변수를 저장하는 방법은 scanf("%d", &x); 입니다.

printf()와 다른 점이 있다면 &가 보인다는 것 입니다.

 

&는 변수의 주소를 의미 합니다.

 

이 말 뜻은 변수를 선언하고 초기화 하면 그 변수가 메모리에 저장 되는데 그 저장된 자리의 주소가 변수의 주소 입니다.

 

인터넷에서 물건을 사고 집으로 배달 시킬때 주소를 써야 배달이 되겠죠?

 

같은 맥락입니다.

 

scanf()가 왜 주소를 쓰는지는 저~~~ 뒤에 가서 자세히 설명 하겠습니다.

 

또 scanf()의 형식 지정자도 있습니다.

 

 형식지정자  의미  예
 %d  정수를 10진수를 입력한다. scanf("%d", &i);
 %f  float형의 실수를 입력한다. scanf("%f", &f);
 %lf  double형의 실수를 입력한다. scanf("%lf", &d);
 %c  문자 형태로 입력한다. scanf("%c", &ch);
 %s  문자열 형태로 입력한다. char s[10]; scanf("%s", s);

 

빨간 네모는 아직 안배운건데 일단 넘어가는게 좋습니다.

 

scanf()로 원 넓이 구하는 프로그램을 짜보고 마치도록 하겠습니다.

 

 

#include <stdio.h>

 

int main()

{

int r;

float area;

 

printf("반지름을 입력하세요 (단위,cm) : ");

scanf("%d", &r);

 

area = r * r * 3.14;

 

printf("원의 넓이 = %f cm^2", area);

 

}

 

 

 

 

 

 

이상으로 마칩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형