30. [기본 문법 활용하기] 표준 함수

수제비 2022 정보처리기사 실기 수험서를 보고 공부한 기록입니다.


👉출력 함수

1. C 언어

① 단순 출력

printf(문자열);

printf를 사용하기 위해서는 stdio.h 헤더(stdio는 표준 입출력인 Standard Input Output의 약자)를 선언해야 한다

■ C 언어 단순 출력 예제

#include <stdio.h>
//printf를 사용하기 위해 stdio.h 헤더를 선언
void main(){
//main은 소스 코드 실행 시 시작 위치
	printf("Hello C World");
	//printf 안에 있는 문자열을 출력
}

Hello C World

② 개행

printf("\n");

printf 큰따옴표 안에 \n이라는 키워드를 만나면 개행을 한다

■ C 언어 개행 예제

#include <stdio.h>
void main(){
	printf("Hello\nC\nWorld");
	//printf 안에 있는 문자열을 출력
}

Hello
C
World

③ 변수 출력

printf(포맷_스트링, 변수명);

C 언어에만 해당하는 사항으로 변수에 저장된 값을 출력할 때는 printf라는 함수를 쓰고, printf 내에서 포맷 스트링을 통해 변수를 출력 방식을 결정한다

▼포맷 스트링

유형포맷 스트링설명
문자형%c-문자 출력
%s-문자열 출력
정수형%d-10진수 출력
%[-][0][전체자리수]d-10진수 출력
-[-]를 붙이면 왼쪽 정렬
-[0]을 붙이면 전체 자릿수에서 앞에 빈 공간만큼 0으로 채움
-[전체자리수]만큼 공간이 확보됨
%x-16진수 출력
%o-8진수 출력
실수형%f %[전체자리수].[소수점자리수]f-실수 출력

C 언어에서 2진수를 출력하는 포맷 스트링은 존재하지 않는다

■ C 언어 변수 출력 예제

#include <stdio.h>
void main(){
	char a='A';
	//a라는 이름의 char형 변수에 'A'으로 초기화
	int b=10;
	//b라는 이름의 int형 변수에 10으로 초기화
	printf("%c %d\n", a,b);
	//a를 %c라는 포맷으로, b를 %d라는 포맷으로 출력
	printf("%5d\n",4);
	printf("%05d\n",4);
	printf("%-5d\n",4);
	printf("%-05d\n",4);
}

A 10
4
00004
4
4

■ C 언어 실수형 변수 출력 예제

#include <stdio.h>
void main(){
	float a=1.2;
	//실수형 변수 a를 선언하고 1.2라는 값 대입
	printf("%f\n",a);
	//가공하지 않고 출력(float는 소수 6자리 출력)
	printf("%.2f\n",a);
	//소수점 2자리만 출력
	printf("%7.3f\n",a);
	//소수점 포함 7글자 출력, 소수점 3자리 출력(1.200은 총 5글자이므로 앞에 2글자 공백)
}

1.200000
1.20
1.200

2. 자바

① 단순 출력

  • System.out.printf(문자열);
    • C 언어처럼 포맷 스트링을 사용하여 변수를 출력할 수 있는 출력 함수
  • System.out.print(문자열);
    • 출력 후에 개행을 하지 않는 함수

■ 단순 출력 예제

public static void main(String[] args){
	System.out.print("Hello");
	//Hello를 출력
}

Hello

② 개행

  • System.out.print("\n");
    • 큰따옴표 안에 \n을 만나면 개행
  • System.out.println(문자열);
    • 출력 후에 개행을 하는 함수

개행이 필요한 경우 일반 print 함수에서 \n을 사용하거나 println(ln은 line의 약자) 함수를 사용한다

■ 자바 개행 예제

public static void main(String[] args){
	System.out.print("Hello\nHello\n");
	//print 함수 안에서 \n을 만날 때마다 개행
}
public static void main(String[] args){
	System.out.println("Hello");
	//println 함수가 끝나면 개행
	System.out.println("Hello");
	//println 함수가 끝나면 개행
}

Hello
Hello

위의 두 예제는 동일하게 출력된다

③ 변수 출력

System.out.print(변수명);
System.out.println(변수명);
System.out.printf(포맷_스트링, 변수명);

System.out.print나 System.out.println 함수에서는 변수를 출력하고자 할 때 매개변수로 출력하고자 하는 변수명만 넣어주면 되고, System.out.printf는 변수를 출력하고자 할 때 매개변수로 포맷 스트링과 변수명을 넣어주어야 된다

■ 자바 변수 출력 예제

public static void main(String[] args){
	int a=5;
	//int형 변수 a에 5로 초기화
	System.out.print(a);
	//a 값을 출력
}
public static void main(String[] args){
	int a=5;
	//int형 변수 a에 5로 초기화
	System.out.printf("%d",a);
   	//a 값을 %d(10진수)로 출력
}

5

위의 두 예제는 동일하게 출력된다

3. 파이썬 

① 단순 출력 및 개행

  • print(문자열) : 출력 후에 개행
  • print(문자열, end=' ') : 출력 후에 개행을 하지 않음

print 함수를 쓰면 함수가 종료된 후에 기본으로 개행이 된다

■ 파이썬 단순 출력

print('Hello', end='')
#개행 없이 Hello 출력
print('Hello')
#Hello 출력 후 개행
print('Hello')
#Hello 출력 후 개행

HelloHello
Hello

② 변수 출력

print(변수명)

print 함수에서는 변수를 출력하고자 할 때 매개변수로 출력하고자 하는 변수명만 넣어주면 된다

■ 파이썬 변수 출력 예제

a=5
#a라는 변수에 5 대입
print(a)
#변수 a를 출력

5

👉입력 함수

1. C 언어

  • 변수값 입력: scanf(포맷_스트링, &변수명);
  • 문자열 입력: scanf("%s", 배열명);
  • scanf를 사용하기 위해서는 stdio.h 헤더를 선언해야 한다
  • 문자열을 입력받는 경우가 아니라면 변수명 앞에 &를 붙인다
  • 문자열을 입력받는 경우 배열명을 쓰고 &는 안 붙인다

▼포맷 스트링

유형포맷 스트링설명
문자형%c문자 입력
%s문자열 입력
정수형%d10진수 입력
%x16진수 입력
%o8진수 입력
실수형 %f실수 입력

■ C 언어 입력 예제

#include <stdio.h>
void main(){
	char a;
	//a라는 이름의 char형 변수 생성
	int b;
	//b라는 이름의 int형 변수 생성
	scanf("%c %d", &a, &b);
	//a를 %c라는 포맷으로, b를 %d라는 포맷으로 입력
	printf("%c %d",a,b);
}

(입력을 A 10으로 할 경우)
A 10

2. 자바

Scanner 클래스를 스캐너 변수에 생성한 후, 스캐너 변수를 이용해 정수형일 경우 nextInt, 실수형일 경우 nextFloat, nextDouble, 문자열일 경우 nextLine을 통해 입력받는다

  • 정수형 입력
    • Scanner 스캐너_변수명=new Scanner(System.in);
    • 입력받을_변수명=스캐너_변수명.nextInt();
  • 실수형 입력
    • Scanner 스캐너_변수명=new Scanner(System.in);
    • 입력받을_변수명=스캐너_변수명.nextFloat();
  • 문자열 입력
    • Scanner 스캐너_변수명=new Scanner(System.in);
    • 입력받을_변수명=스캐너_변수명.nextLine();

■ 자바 입력 예제

public static void main(String[] args){
	String s; //String 변수 s 선언
	int i; //int 변수 i 선언
	float f; //float 변수 f 선언

	Scanner c=new Scanner(System.in); //Scanner 클래스 생성
	s=c.nextLine(); //Scanner 이용해 string 입력
	System.out.println(s); //입력받은 s 값 출력

	i=c.nextInt(); //Scanner 이용해 int 입력
	System.out.println(i); //입력받은 i 값 출력

	f=c.nextFloat(); //Scanner 이용해 float 입력
	System.out.println(f); //입력받은 f 값 출력
}

▶입력

Hello
5
4.7

▶출력

Hello
5
4.7

3. 파이썬 

  • 파이썬에서는 정수형과 실수형과 같은 숫자를 입력받을 때는 문자열로 저장한 후에 eval 함수를 써서 숫자로 변환해 주어야 한다
  • eval 매개변수를 숫자로 변환할 수 없는 형태의 문자열일 경우 에러가 발생한다
  • 문자열 입력: 변수명=input()
  • 숫자 입력
    • 변수명=input()
    • 변수명=eval(변수명)

■ 파이썬 입력 예제

s=input()
#s 변수에 값 입력(문자로 저장)
s=eval(s)
#s 변수를 숫자로 변환(만약 입력값을 숫자로 변환할 수 없을 경우 에러가 발생)
print(s)

▶입력

Hello

▶출력

에러 발생

좋은 웹페이지 즐겨찾기