printf, scanf

choon·2025년 3월 24일

C언어공부

목록 보기
8/14

printfscanf는 C 언어에서 입출력을 처리하는 함수입니다. 각각의 역할을 간단히 설명드리겠습니다.

printf 함수

printf출력 함수로, 콘솔에 메시지나 값을 출력하는 데 사용됩니다.

기본 문법:

printf("형식 지정자", 출력할 값);

예시:

#include <stdio.h>

int main() {
    int num = 10;
    printf("정수 값은: %d\n", num);  // %d는 정수형 값을 출력하는 형식 지정자
    return 0;
}

주요 형식 지정자:

  • %d : 정수 값 (int)
  • %f : 실수 값 (float 또는 double)
  • %c : 문자 (char)
  • %s : 문자열 (char 배열 또는 문자열 리터럴)
  • %lf : double 값
  • %x : 16진수 값 (소문자)
  • %o : 8진수 값

예시:

#include <stdio.h>

int main() {
    int a = 5;
    float b = 3.14;
    char c = 'A';
    char str[] = "Hello, World!";

    printf("정수: %d\n", a);  // 정수 출력
    printf("실수: %f\n", b);  // 실수 출력
    printf("문자: %c\n", c);  // 문자 출력
    printf("문자열: %s\n", str);  // 문자열 출력

    return 0;
}

출력:

정수: 5
실수: 3.140000
문자: A
문자열: Hello, World!

scanf 함수

scanf입력 함수로, 사용자가 콘솔에 입력한 값을 읽어 변수에 저장하는 데 사용됩니다.

기본 문법:

scanf("형식 지정자", &변수);

예시:

#include <stdio.h>

int main() {
    int num;
    printf("정수를 입력하세요: ");
    scanf("%d", &num);  // 정수 입력 받기
    printf("입력한 정수는: %d\n", num);
    return 0;
}

주요 형식 지정자:

  • %d : 정수 입력 (int)
  • %f : 실수 입력 (float)
  • %c : 문자 입력 (char)
  • %s : 문자열 입력 (char 배열)
  • %lf : double 값 입력

예시:

#include <stdio.h>

int main() {
    int a;
    float b;
    char c;
    char str[100];

    printf("정수 입력: ");
    scanf("%d", &a);  // 정수 입력 받기

    printf("실수 입력: ");
    scanf("%f", &b);  // 실수 입력 받기

    printf("문자 입력: ");
    scanf(" %c", &c);  // 문자 입력 받기 (공백을 추가하여 앞의 개행문자를 처리)

    printf("문자열 입력: ");
    scanf("%s", str);  // 문자열 입력 받기

    printf("입력한 값들: \n정수: %d\n실수: %f\n문자: %c\n문자열: %s\n", a, b, c, str);
    return 0;
}

입력 예시:

정수 입력: 10
실수 입력: 3.14
문자 입력: A
문자열 입력: Hello

출력:

입력한 값들:
정수: 10
실수: 3.140000
문자: A
문자열: Hello

중요 사항:

  1. scanf를 사용해서 문자열을 입력 받을 때는 배열 크기를 지정해야 합니다. 예를 들어 char str[100];처럼 배열을 선언하고 입력받아야 합니다.
  2. scanf로 문자를 입력받을 때는 공백이나 개행 문자가 있을 수 있기 때문에, 이를 처리하기 위해 " %c"와 같이 공백을 추가하여 입력을 받는 경우가 많습니다.

예시: printfscanf 함께 사용하기

#include <stdio.h>

int main() {
    int age;
    printf("나이를 입력하세요: ");
    scanf("%d", &age);  // 나이 입력 받기

    printf("당신의 나이는 %d세 입니다.\n", age);  // 입력 받은 나이 출력하기

    return 0;
}

입력 예시:

나이를 입력하세요: 25

출력:

당신의 나이는 25세 입니다.

이렇게 printfscanf를 사용하여 입력과 출력을 처리할 수 있습니다.

0개의 댓글