입력함수 scanf();
입력 함수란?
프로그램 변수에 입력하는 명령문으로 괄호안에 입력형식과 변수를 써넣으면 입력창이 뜬다.
ex)
#include <stdio.h>
void main()
{
int a, b, c;
printf("두 개의 숫자입력(띄어쓰기) : ");
scanf("%d %d", &a, &b);
c = a+b;
printf("%d + %d = %d\n", a, b, a+b);
printf("%d + %d = %d\n", a, b, c);
c = c-b;
printf("%d - %d = %d\n", a, b, a-b);
printf("%d - %d = %d\n", a, b, c);
c = c*b;
printf("%d * %d = %d\n", a, b, a*b);
printf("%d * %d = %d\n", a, b, c);
c = c/b;
printf("%d / %d = %d\n", a, b, a/b);
printf("%d / %d = %d\n", a, b, c);
c = c%b;
printf("%d %% %d = %d\n", a, b, a%b);
printf("%d %% %d = %d\n", a, b, c);
}
① int a, b;
☞ 변수 a와 변수 b 선언(=생성)한다.
② scanf("%d %d", &a, &b);
☞ 변수 a와 b에 차례대로 입력한다.
③ c = a+b;
☞ a와 b를 더한값을 변수 c에 대입(=저장)한다.
④ printf("%d + %d = %d", a, b, a+b);
⑤ printf("%d + %d = %d", a, b, c);
☞ 각각의 %d에 변수들을 차례대로 넣어 출력시킨다.
1) 출력과정에서 연산하는 방법
2) 변수 c를 만들어 연산값을 넣어 출력시키는 방법
⑥ printf("%d %% %d = %d", a, b, a%b);
☞ %를 표현할때, %%를 사용한다.
scanf("%da%d", &a, &b); 처럼
%사이에 다른 문자를 넣으면 1a2를 입력할경우 a를 구분자로 인식하여
1과 2로 변수에 각각 저장되나 공백이나 콤마로 하는 방법을 추천한다.
연습문제
1) 문자형으로 입력할때 올바르게 사용 된 것은?
(1) double %lf
(2) char %f
(3) double %c
(4) char %c
(5) long %f
2) 잘못된 방식의 scanf()인 것은?
(1) scanf("%d", &a);
(2) scanf("%c", &b);
(3) scanf("%f "%d", &c, &d);
(4) scanf("%d()%d", &e, &f);
(5) scanf("%d %d", g, h);
3) char변수에 문자를 입력받아 숫자로 출력해 보시오(저번 강의의 아스키 코드 이용).
4) 변수 선언 후, 그 변수 허용 범위를 넘는 수자를 입력하여 출력해 보시오.