▩ 자료의 입력
1. scanf()
- scanf("제어문자", &변수);: 키보드에서 값을 입력받아 제어문자의 형식으로 변수에 저장한다.
>>>>> 두 수를 입력받아 합을 구하기
#include <stdio.h>
void main() {
int a, b;
printf("첫번째 숫자를 입력하세요 : ");
scanf("%d", &a);
printf("두번째 숫자를 입력하세요 : ");
scanf("%d", &b);
printf("%d와 %d의 합은 %d입니다.", a, b, a+b);
}
>>>>> 10진수를 입력받아 16진수로 출력
#include <stdio.h>
void main() {
int i;
printf("10진수의 숫자를 입력하세요 : ");
scanf("%d", &i);
printf("%d의 16진수는 %X입니다.", i, i);
printf("\n\n");
printf("16진수의 숫자를 입력하세요 : ");
scanf("%x", &i);
printf("%x의 10진수는 %d입니다.", i, i);
}
>>>>> scanf함수로 한문자 입력 받기
#include <stdio.h>
void main() {
char c;
printf("한 문자를 입력하세요. ");
scanf("%c", &c);
printf("입력된 문자는 %c입니다.");
putchar(c);
}
UP!!!▷ 국어, 영어 과목의 점수를 입력받아 총점과 평균을 구하는 프로그램을 작성하세요.
#include <stdio.h>
void main() {
int kuk;
int eng;
int tot;
int avg;
printf("국어 점수를 입력하세요. ");
scanf("%d", &kuk);
printf("영어 점수를 입력하세요. ");
scanf("%d", &eng);
tot = kuk+eng;
avg = tot / 2;
printf("총점:%d 평균:%d\n", tot, avg);
}
2. getchar()
- 입력받은 문자를 화면에 출력하고 Enter를 눌러야 진행한다.
- 키보드에서 입력된 문자를 버퍼에 저장한후 처리한다.
- getchar() 함수는 항상 입력 버퍼를 검사하며 문자가 있으면 거기서 한 문자를 가져오고, 없으
면 문자를 콘솔창에서 입력을 받습니다.
- 'Enter'도 한문자로 처리합니다.
- scanf() 함수도 같은 원리를 가지고 있습니다.
>>>>> 버퍼 사용을 확인하는 입력 예제 getchar()
#include <stdio.h>
void main(){
char c;
printf("한 문자를 입력하세요.");
c=getchar();
printf("1문자 %c입니다.\n", c);
c=getchar();
printf("2문자 %c입니다.\n", c);
c=getchar();
printf("3문자 %c입니다.\n", c);
}
>>>>> 버퍼 사용을 확인하는 입력 예제 scanf()
#include <stdio.h>
void main(){
char c;
printf("한 문자를 입력하세요.");
scanf("%c", &c);
printf("입력된 문자는 %c입니다.\n", c);
printf("\n");
scanf("%c", &c);
printf("입력된 문자는 %c입니다.\n", c);
putchar(c);
}
3. getch()
- 프로그램의 진행중 잠시 메세지를 출력하거나 멈춤을 지정할 때 많이 사용한다.
- 엔터키를 누르지 않아도 진행한다.
>>>>> getch()함수의 이용
#include <stdio.h>
void main() {
char c;
printf("한 문자를 입력하세요. ");
c=getch();
printf("\n입력된 문자는 %c입니다.", c);
printf("한 문자를 입력하세요. ");
c=getch();
printf("\n입력된 문자는 %c입니다.", c);
}
4. 함수 도움말 보기(MSDN 설치)
- F1, Ctrl + F1
5. 한문자의 입출력 : getchar, putchar
- getchar의 입력은 반드시 int형 변수를 사용한다.
- 버퍼로 처리 된다.
- getchar함수는 입력 종료를 검출하면 -1, EOF를 표시한다.
6. 한 행의 입출력 : gets, puts
- 문자열은 char의 배열(문자의 배열)이다.
- gets() 는 엔터를 누를 때까지 입력을 받는다.
- puts() 는 출력을 하고 개행을 한다.
- 입력 종료는 null을 검사한다.
7. 변환문자를 통한 입력 함수: scanf(입력 종료는 EOF를 검사한다.)
- %o : int <-- 8진수로 입력
- %d : int <-- 10진수로 입력
- %ld : long int, int <-- 긴 정수형 10진수 입력
- %x : int <-- 16진수 입력
- %f : float <-- 실수 입력
- %lf : double <-- double형 실수 입력
- %c : char, int <-- 한 문자 입력
- %s : char *, 배열 <-- 문자열, 배열 입력