기본 입출력

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()는 입력 받을 주소를 나타내기 위해 &를 사용한다

Reference


패스트캠퍼스 컴퓨터공학 올인원 패키지

Comments