2015년 2학기 프로그래밍개론및 실습 과목으로 본 내 용은 강의 교재인 생능출판사 , 두근두근 C 언어 수업,
천인국지음을 발췌 수정하였음
프로그래밍개론및 실습
CHAPTER 6
사용자로부터 입력받기
사용자의 입력이 없다면 ?
사용자와 상호작용이 없는 프로그램은 큰 효용가치가 없다 .
항상 똑같은 결과만을 출력하기 때문이다 .
scanf_s() 함수
키보드로부터 입력된 데이터를 지정된 형식으로 변환하여 변수에 저
장하는 함수
scanf_s()의 형식 지정자
printf()와 동일하다.
예제
#include <stdio.h>
int main(void) {
double grade;
printf("학점을 입력하시오: ");
scanf_s("%lf", &grade);
printf("학점이 %f이시군요! \n", grade);
return 0;
}
입력 안내 메시지
프로그램이 scanf_s()에 도달하면, 실행을 중지하고 사용자의 입력을 기다린다 .
scanf_s() 함수 앞에는 반드시 사용자에게 입력을 지시하는 문장이 있
어야 한다 .
예제
#include <stdio.h>
int main(void) {
double number;
scanf_s("%lf", &number);
printf("입력된 값은 %f입니다. \n", number);
return 0;
}
핵심 예제
사용자로부터 2개의 정수를 입력 받아서 덧셈 연산을 한 후에, 연산
의 결과를 화면으로 출력하는 프로그램을 작성해보자 .
예제
// 사용자로부터 입력 받은 2개의 정수의 합을 계산하여 출력
#include <stdio.h>
int main(void)
{ int x; // 첫 번째 정수를 저장할 변수
int y; // 두 번째 정수를 저장할 변수
int sum; // 2개의 정수의 합을 저장할 변수
printf("첫 번째 숫자를 입력하시오:"); // 입력 안내 메시지 출력
scanf ("%d", &x); // 하나의 정수를 받아서 x에 저장 printf("두 번째 숫자를 입력하시오:"); // 입력 안내 메시지 출력
scanf ("%d", &y); // 하나의 정수를 받아서 y에 저장
sum = x + y; // 변수 2개를 더한다.
printf("두수의 합: %d", sum); // sum의 값을 10진수 형태로 출력 return 0;
}
핵심 예제
사용자로부터 세 개의 정수를 입력 받은 후 , 합계와 평균값을 계산하
여 화면에 출력하는 프로그램을 작성하라 .
예제
#include <stdio.h>
int main(void)
{ int x;
int y;
int z;
int sum;
int avg;
printf("정수를 입력하시오: "); .
scanf ("%d", &x);
printf("정수를 입력하시오: ");
scanf ("%d", &y);
printf("정수를 입력하시오: ");
scanf ("%d", &z);
sum = x + y + z;
avg = sum / 3;
printf("평균값은 %d입니다. ", avg);
return 0;
}
Lab: 원의 면적 계산
원의 면적을 구하는 프로그램을 작성하여 보자 . 원의 반지름을 r이라
고 하면 원의 면적은 3.14*r*r가 된다.
원의 반지름을 입력하여 원의 면적과 둘레를 출력하는 프로그램
#include <stdio.h>
int main(void) {
double r; // 원의 반지름을 나타내는 변수를 선언
double area; // 원의 면적을 나타내는 변수를 선언 double peri; // 원의 둘레를 나타내는 변수를 선언 printf("원의 반지름을 입력하시오: ");
scanf_s("%lf", &r); // 변수 r로 반지름을 입력 받는다.
area = 3.14*r*r; // 원의 면적을 계산하여 area에 저장 peri = 2.0*3.14*r; // 원의 둘레를 계산하여 peri에 저장 printf("원의 면적: %f", area); // 원의 면적을 출력한다.
printf("원의 둘레: %f", peri); // 원의 둘레를 출력한다.
return 0;
}