100. 데이터 입출력

alpaka·2024년 1월 31일
0

정보처리기사

목록 보기
104/161
post-thumbnail

C언어의 표준 입출력 함수의 개요

  • 표준 입출력 함수(Input-Output Functions)란 키보드로 입력받아 화면으로 출력할 때 사용하는 함수로, 대표적으로 scanf(), getchar(), gets(), printf(), putchar(), puts() 등이 있다.

scanf() 함수

  • scanf() 함수는 C언어의 표준 입력 함수로, 키보드로 입력받아 변수에 저장하는 함 수이다.

형식: scanf(서식 문자열, 변수의 주소)

  • 서식 문자열: 입력받을 데이터의 자료형을 지정한다.
  • 변수의 주소: 데이터를 입력받을 변수를 적는다. 변수의 주소로 입력받아야 하기 때문에 변수에 주소연산자 &를 붙인다.
  • 예: scanf("%3d", &a);
    • % : 서식 문자임을 지정
    • 3 : 입력 자릿수를 3자리로 지정
    • d : 10진수로 입력
    • &a: 입력받은 데이터를 변수 a의 주소에 저장
  • 특징
    • 입력받을 데이터의 자료형, 자릿수 등을 지정할 수 있다.
    • 한 번에 여러 개의 데이터를 입력 받을 수 있다.
    • 서식 문자열과 변수의 자료형은 일치해야 한다.
    • 예: scanf("%d %f", &i, &j); '%d'와 i, "%f"와 j는 자료형이 일치해야 한다.

서식 문자열

  • 서식 문자열은 printf() 함수로 출력할 때도 동일하게 적용된다.
  • %d: 정수형 10진수를 입·출력하기 위해 지정한다.
  • %u: 부호없는 정수형 10진수를 입·출력하기 위해 지정한다.
  • %o: 정수형 8진수를 입·출력하기 위해 지정한다.
  • %x: 정수형 16진수를 입·출력하기 위해 지정한다.
  • %c: 문자를 입·출력하기 위해 지정한다.
  • %s: 문자열을 입출력하기 위해 지정한다.
  • %f: 소수점을 포함하는 실수를 입·출력하기 위해 지정한다.
  • %e: 지수형 실수를입출력하기 위해 지정한다.
  • %ld: long형 10진수를 입·출력하기 위해 지정한다.
  • %lo: long형 8진수를 입·출력하기 위해 지정한다.
  • %lx: long형 16진수를 입·출력하기 위해 지정한다.
  • %p: 주소를 16진수로 입·출력하기 위해 지정한다.

JAVA에서의 표준 입력

  • JAVA에서 키보드로 입력받은 값을 변수에 저장하려면 먼저 Scanner 클래스를 이용해 키보드로부터 값을 입력받는 객체 변수를 생성한 후 이를 사용해야 합니다.
  • 형식
    1. Scanner scan01 = new Scanner(System.in);
    2. inNum = scan01.nextInt();
  • 객체 변수 생성
    • Scanner: 입력에 사용할 객체 변수를 생성할 때 사용하는 클래스 이름입니다. 그대로 적어줍니다.
    • scan01: 객체 변수명입니다. 사용자 임의로 적어줍니다.
    • new: 객체 생성 예약어입니다. 그대로 적어줍니다.
    • Scanner(): 클래스의 이름입니다. ()를 붙여 그대로 적어줍니다.
    • System.in: 표준 입력장치, 즉 키보드를 의미합니다. 키보드로부터 값을 입력받는 객체 변수를 생성할 것이므로 그대로 적어줍니다.
  • 객체 변수 활용
    • inNum: 입력받은 값을 저장할 변수입니다. 이 변수는 미리 선언되어 있어야 합니다.
    • scan01: 입력에 사용할 객체 변수 이름입니다. 객체 변수 생성 시 사용한 객체 변수 이름과 동일해야 합니다.
    • nextInt(): 입력받은 값을 정수형으로 반환합니다.

printf() 함수

  • printf() 함수는 C언어의 표준 출력 함수로 인수로 주어진 값을 화면에 출력하는 함수이다.
  • 형식: printf(서식 문자열, 변수)
    • 서식 문자열: 변수의 자료형에 맞는 서식 문자열을 입력한다.
    • 변수: 서식 문자열의 순서에 맞게 출력할 변수를 적는다. scanf()와 달리 주소 연산자 &를 붙이지 않는다.
    • 예: printf("%-8.2f", 200.2); (V는 빈 칸을 의미함) => 200.20VV
    • % : 서식 문자임을 지정
      • : 왼쪽부터 출력
    • 8 : 출력 자릿수를 8자리로 지정
    • 2 : 소수점 이하를 2자리로 지정
    • f : 실수로 출력

주요 제어문자

  • 제어문자란 입력 혹은 출력 내용을 제어하는 문자이다.
  • \n(new line): 커서를 다음 줄 앞으로 이동한다.
  • \b(backspace): 커서를 왼쪽으로 한 칸 이동한다.
  • \t(tab): 커서를 일정 간격 띄운다.
  • \r(carriage return): 커서를 현재 줄의 처음으로 이동한다.
  • \0(null): 널 문자를 출력한다.
  • \'(single quote): 작은따옴표를 출력한다.
  • \"(double quote): 큰따옴표를 출력한다.
  • \a(alert): 스피커로 벨 소리를 출력한다.
  • \(backslash): 역 슬래시를 출력한다.
  • \f(form feed): 한 페이지를 넘긴다.
  • 예: printf("%d\n",a) => a의 값을 정수형 10진수로 출력한 후 다음 줄로 이동한다.

JAVA에서의 표준 출력

  • JAVA에서 값을 화면에 출력할 때는 System 클래스의 서브 클래스인 out 클래스의 메소드 print(), println(), printf() 등을 사용하여 출력합니다
  • 형식 1: 서식 문자열에 맞게 변수의 내용을 출력합니다
System.out.printf(서식 문자열, 변수)
  • printf() 메소드는 C언어의 printf() 함수와 사용법이 동일합니다.
  • 예: System.out.printf("%-8.2f", 200.2); (V는 빈 칸을 의미함) => 200.20VV
  • % : 서식 문자임을 지정
    • : 왼쪽부터 출력
  • 8 : 출력 자릿수를 8자리로 지정
  • 2 : 소수점 이하를 2자리로 지정
  • f : 실수로 출력
  • 형식 2: 값이나 변수의 내용을 형식없이 출력합니다.
System.out.print()
  • 문자열을 출력할 때는 큰따옴표로 묶어줘야 합니다.
  • 문자열 또는 문자열 변수를 연속으로 출력할 때는 +를 이용합니다.
  • '숫자+숫자'는 두 숫자를 합한 값을 출력하지만, '문자열+숫자' 또는 '숫자+문자열'과 같이 문자열과 숫자가 섞인 경우에는 모두 문자열로 인식되므로 값이 붙어서 출력됩니다.
  • 예제 1: System.out.print("abc123" + "def"); => abc123def
  • 예제 2: System.out.print("abc" + 12 + 34); => abc1234
  • 예제 3: System.out.print("abc" + (12+34)); => abc46
  • 형식 3: 값이나 변수의 내용을 형식없이 출력한 후 커서를 다음 줄의 처음으로 이동합니다.
System.out.println()
  • println() 메소드는 출력 후 다음 줄로 이동한다는 것을 제외하면 print() 메소드와 사용법이 동일합니다.

기타 표준 입출력 함수

  • 입력
    • getchar(): 키보드로 한 문자를 입력받아 변수에 저장하는 함수
    • gets(): 키보드로 문자열을 입력받아 변수에 저장하는 함수로, Enter를 누르기 전까지를 하나의 문자열로 인식하여 저장함
  • 출력
    • putchar(): 인수로 주어진 한 문자를 화면에 출력하는 함수
    • puts(): 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수
profile
alpaka의 자격증 공부장

0개의 댓글

관련 채용 정보