Java에서 화면에 출력할 때는 System.out을 사용한다. 주로 쓰는 메서드는 세 가지로, print는 줄바꿈 없이 출력하고, println은 출력한 뒤 줄바꿈을 하며, printf는 서식을 지정해 출력한다. printing이라는 메서드는 Java에 존재하지 않으므로, 출력 메서드 목록에서 골라 내야 한다.
C언어에서는 입출력 함수가 stdio.h 헤더 파일에 모여 있다. 이 이름은 standard input output의 약자로, 화면 출력과 키보드 입력 같은 표준 입출력을 담당한다. 입출력 외의 기능은 다른 헤더 파일이 맡는다. 예를 들어 문자열 처리 함수는 string.h, 수학 함수는 math.h, 변환과 동적 메모리 관리 같은 범용 함수는 stdlib.h가 담당한다.
입력값을 계산에 쓰려면 변환 과정이 필요하다. 사용자가 입력한 '10'은 처음에는 문자열이므로, stdlib.h의 변환 함수를 써서 숫자 10으로 바꿔야 계산할 수 있다. 이처럼 입출력과 변환은 서로 다른 헤더 파일이 나누어 맡으면서 함께 동작한다.
예제
Java로 점수를 출력한다고 하자. 한 줄에 이어서 출력하고 싶으면 print를, 점수마다 줄을 바꾸고 싶으면 println을, 소수 둘째 자리까지 맞춘 서식으로 출력하고 싶으면 printf를 쓴다. 여기에 printing이라는 이름이 보기에 있으면, 그것은 Java에 없는 메서드이므로 정답 후보에서 빼야 한다.
C언어로 계산기를 만든다면 stdio.h로 입력을 받고 결과를 화면에 출력하며, 입력된 문자열을 stdlib.h의 변환 함수로 숫자로 바꿔 계산한다. 헤더 파일 하나가 모든 일을 하는 것이 아니라 기능별로 나뉘어 있다는 점이 C언어 입출력의 구조다.
대표 기출 3문항
Java에서 사용되는 출력 함수가 아닌 것은?
System.out.print( )
System.out.println( )
System.out.printing( )
System.out.printf( )
정답과 해설 보기
정답 ③ · Java 표준 출력 메서드가 아닌 것을 찾는 문제이다. System.out 클래스에는 print, println, printf 세 가지 출력 메서드가 존재한다.
Java의 표준 출력 클래스 System.out에는 printing 메서드가 존재하지 않는다.
C언어에서 문자열을 정수형으로 변환하는 라이브러리 함수는?
atoi( )
atof( )
itoa( )
ceil( )
정답과 해설 보기
정답 ① · C언어에서 문자열을 정수형으로 변환하는 표준 라이브러리 함수를 고르는 문제이다. atoi는 ASCII to Integer의 약자로 stdlib.h에 정의된 함수이며 문자열을 정수로 변환한다.
문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
문자열 처리 함수로 strlen()이 포함되어 있다.
표준 입출력 라이브러리이다.
삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.
정답과 해설 보기
정답 ① · C언어 표준 라이브러리 stdlib.h에 대한 올바른 설명을 고르는 문제이다. stdlib.h에는 atoi, atof처럼 문자열을 수치로 변환하는 함수와 수치를 문자열로 바꾸는 변환 함수, 그리고 malloc, free 같은 동적 메모리 할당 함수가 포함된다.
stdlib.h는 문자열과 수치 간 변환, 동적 메모리 할당 등 범용 함수를 포함하는 표준 라이브러리이다.