FastCampus All-In-One 패키지 중 C/C++ 수업을 듣고 정리한 자료입니다.
실행환경: Windows 10
학습목표
- C언어에서의 기본 입출력 방법 공부
- 사용자로부터 입력 받은 데이터를 가공하여 출력
scanf()
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int a;
scanf("%d", &a);
printf("입력한 숫자는 %d입니다.\n", a);
system("pause");
return 0;
}
- 특정한 변수에 값을 넣기 위해
scanf()
를 사용함 - Visual Studio는 보안에 취약한 함수는 사용못한다
- 그래서
#define _CRT_SECURE_NO_WARNINGS
를 선언해야 함
- 그래서
- VS를 제외한 대부분의 IDE에서는 그냥 컴파일이 진행된다.
왜 &
를 사용하나?
-
&
는 특정한 변수의 주소를 의미 -
실제 컴퓨터는 특정 메모리 주소에 접근해서 데이터를 수정하기 때문에
&
를 이용하는 것
형식 지정자
-
int(4 Bytes)
-%d
, 정수형 데이터 입출력 -
long long(8 Bytes)
-%lld
, 큰 정수형 데이터 입출력 -
double(8 Bytes)
- 입력 시%lf
, 출력시%f
, 큰 실수형 데이터 처리 -
float(4 Bytes)
-%f
, 실수형 데이터 입출력 -
string(제한 없음)
-%s
, 문자열 데이터 입출력 -
char(1 Bytes)
-%c
, 문자 데이터 입출력
거의 string이랑 int형이 주로 사용되는거 같다.
다양하게 입력 받아 출력해보기
실수형을 입력 받아서 소수점 셋째 자리까지 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
double a;
scanf("%lf", &a);
printf("%.2f\n", a);
system("pause");
return 0;
}
두 숫자를 입력 받아 순서 바꾸어 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int a, b;
scanf("%d %d", &a, &b);
printf("%d %d\n", b, a);
system("pause");
return 0;
}
한 자리 씩 끊어서 입력 받기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int a, b, c;
scanf("%1d%1d%1d", &a, &b, &c);
printf("%d %d %d\n", a, b, c);
system("pause");
return 0;
}
요약
- C언어에선 입력받거나 출력할 때 형식 지정자를 적절히 따라야 함.
printf()
는 데이터를 넘긴다scanf()
는 입력 받을 주소를 나타내기 위해&
를 사용한다
Comments