수제비 2022 정보처리기사 실기 수험서를 보고 공부한 기록입니다.
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
■ 단순 출력 예제
public static void main(String[] args){
System.out.print("Hello");
//Hello를 출력
}
Hello
개행이 필요한 경우 일반 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
위의 두 예제는 동일하게 출력된다
print 함수를 쓰면 함수가 종료된 후에 기본으로 개행이 된다
■ 파이썬 단순 출력
print('Hello', end='')
#개행 없이 Hello 출력
print('Hello')
#Hello 출력 후 개행
print('Hello')
#Hello 출력 후 개행
HelloHello
Hello
print(변수명)
print 함수에서는 변수를 출력하고자 할 때 매개변수로 출력하고자 하는 변수명만 넣어주면 된다
■ 파이썬 변수 출력 예제
a=5
#a라는 변수에 5 대입
print(a)
#변수 a를 출력
5
▼포맷 스트링
유형 | 포맷 스트링 | 설명 |
---|---|---|
문자형 | %c | 문자 입력 |
%s | 문자열 입력 | |
정수형 | %d | 10진수 입력 |
%x | 16진수 입력 | |
%o | 8진수 입력 | |
실수형 | %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
Scanner 클래스를 스캐너 변수에 생성한 후, 스캐너 변수를 이용해 정수형일 경우 nextInt, 실수형일 경우 nextFloat, nextDouble, 문자열일 경우 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
■ 파이썬 입력 예제
s=input()
#s 변수에 값 입력(문자로 저장)
s=eval(s)
#s 변수를 숫자로 변환(만약 입력값을 숫자로 변환할 수 없을 경우 에러가 발생)
print(s)
▶입력
Hello
▶출력
에러 발생