본문 바로가기
IT자격증

[2024 정처기 실기] 10. 프로그래밍 언어 활용 - (1) 데이터 입/출력(146p)

by JDonly 2024. 7. 9.

💎 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

 

https://naver.me/F2Zqi4qW

 

딥러닝 강좌 : 논리 게이트(논리 회로)와 진리표

대략 딥러닝은 머신러닝 중 뉴럴 네트워크(인공신경망)를 활용하는 기법으로 머신러닝의 하위범주라고 생각...

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