💎 10. 프로그래밍 언어 활용 - (1) 데이터 입/출력
⚡ [ 확인 keyword ]
* 헝가리안 표기법
* 서식 문자열 ( %d, %o, %x, ... )
* 연산 부호 ( /=, -=, %= )
* 전치/후치 연산
* 8/10/16 진수 변환
* 비트연산자 ( *진리표 )
* 시프트연산자
▶ [ C언어 ]
- #include <stdio.h> : 헤더파일을 사용하려면 include문을 선언한 후 사용해야한다.
- scanf() : 키보드로 입력받음.
- printf() : 화면에 출력함.
- fprintf() : 파일에 출력함.
▶ [ JAVA ]
- import java.util.Scanner;
- public class Test
- public static void main(String[] args)
▶ 헝가리안 표기법
변수명 작성시 변수의 자료형을 의미하는 문자를 포함하여 작성하는 방법. (ex. int i_inputA : 정수형 변수)
▶ 주요 서식 문자열
%d | 정수형 10진수의 입/출력에 사용 |
%o | 정수형 8진수의 입/출력에 사용 |
%x | 정수형 16진수의 입/출력에 사용 |
%c | 문자의 입/출력에 사용 |
%s | 문자열의 입/출력에 사용 |
%f | - 소수점을 포함한 실수의 입출력에 사용 - 출력시 소수점 이하는 기본적으로 6자리가 출력됨 |
▶ 주요 제어문자
\n | 커서를 다음 줄의 처음으로 이동 |
\t | 커서를 일정 간격 띄움 |
\0 | null 문자 출력 |
🚨[ 기출/예상 문제 ]
▶ 2022시나공 197p - Q2) 연산부호 (기출)
int i = 10, j = 10, k = 30;
- i /= j
: i = i / j 이므로 i는 1
- j -= i
: j = j - i 이므로 j는 9
- k %= j
: k = k%j 이므로 k는3
▶ 2022시나공 198p - Q4) 전치/후치연산 (예상)
int result, a=100, b=200, c=300;
result = a<b ? b++; --c;
- b++ : 후치연산, --c : 전치연산
a가 b보다 작으면 result에 b의 값 200을 저장한 후 b를 1 증가시키고 (b++)
그렇지 않으면, c에서 1을 뺀(--c) 값 299를 저장한다.
▶ 2022시나공 198p - Q5) 10진수 변환 (예상)
#include <stdio.h>
main(){
int i, j;
scanf("%o#%x", &i, &j);
printf("%d %d", i, j);
}
==> Question : 입력 : 15#22
==> Answer : 13, 34
- 8진수 15를 10진수로 변환하면 13
- 16진수 34를 10진수로 변환하면 34
딥러닝 강좌 : 논리 게이트(논리 회로)와 진리표
대략 딥러닝은 머신러닝 중 뉴럴 네트워크(인공신경망)를 활용하는 기법으로 머신러닝의 하위범주라고 생각...
blog.naver.com
▶ 2022시나공 197p - Q6) 10진수변환 (예상)
#include <stdio.h>
main(){
int j = 024, k = 24, L = 0x24, hap;
hap = j + k + L;
printf("%d, %d, %d, %d\n", j, k, L, hap);
}
==> Answer : 20, 24, 36, 80
- j는 8진수 24 -> 10진수 변환시 20
- k는 10진수 24
- L은 16진수 24 -> 10진수 변환시 36
- java,c : 8진수 앞에는 0을 붙임, 16진수 앞은 0x를 붙임.
- python : 8진수 앞에는 0o, 16진수 앞은 0x를 붙임.
▶ 2022시나공 197p - Q8) 비트연산자 (기출)
public class Test{
public static void main(String[] args){
int w=3, x=4, y=3, z=5;
if( (w==2 | w==y) & !(y>z) % (1==x^y!=z) ){
w = x+y;
if( 7 == x^y != w ){
System.out.println(w);
}else{
System.out.println(x);
}
}else{
w = y+z;
if( 7 == y^z != w ) {
System.out.println(w);
}else{
System.out.println(z);
}
}
}
}
- (w==2 | w==y) & !(y>z) & (1==x^y!=z)
-> ( 0 | 1 ) & 1 & ( 1 == 7 != 5 )
-- x^y는 비트xor연산임.
0 1 0 0 (4)
0 0 1 1 (3)
^ ---------------
0 1 1 1 (7)
-> ( 0|1 ) & 1 & ( 0!=5 )
-> ( 0|1 ) & 1 & 0
-- '0|1'은 비트or연산임.
0 0 0 0 (0)
0 0 0 1 (1)
| ----------------
0 0 0 1 (1)
-> 1 & 1 & 0
-- '1&1'은 비트and연산임.
0 0 0 1 (1)
0 0 0 1 (1)
& --------------
0 0 0 1 (1)
--> Answer : 7
-- (w==2 | w==y) & !(y>z) & (1==x^y!=z) = 1
▶ 2022시나공 197p - Q9) 시프트연산자(연산)
public class Test{
public static void main(String args[]){
int a=5, b=9, c;
c = b%5 < 5 ? 1:0; --> c = 1;
c = c|c << 3; --> c<<3 => 1 <<3 : c에 저장된 값을 왼쪽으로 3비트 이동
== 2의 0제곱승에 1값이었던 1을,
시프트 연산자로, 왼쪽으로 3칸 이동하면
2의 3제곱승의 위치에 1이 위치함
==> 10진수로 변환했을 때에는 8이 됨.
c = a<5 || c>=10 ? c-a : c+a;
System.out.printf("%d", c);
}
}
==> Answer : 14
'IT자격증' 카테고리의 다른 글
2023-1 정처기 실기 newbt 기출문제 (3) | 2024.10.17 |
---|---|
2022-1 정처기 실기 newbt 기출문제 (1) | 2024.10.17 |
2024 정보처리기사 실기 요약 (0) | 2024.10.12 |