<<틀리기 쉬운 문제>> 싱글턴 패턴.
클래스 연결
private static 연결_inst
private int count
연결()
public static 연결 g()
count()
getcount()
클래스 메인
연결 con1 = 연결.g() //처음보는 형태. new가 없엉. '클래스명. 함수명()' 이건 정적 메서드라는 걸 알아야함.
con1.count() //count=1
연결 con2 = 연결.g()
con2.count() // //count=2
연결 con3 = 연결.g()
con3.count() //count=3
con1.count() //count=4
conn1.getcount()
정답:
4
c언어 문제
삼항연산자
a=0, b=35, c=29
if(a>b)? b:a //참이면 b, 거짓이면 a가 답이다. c언어에서 0은 거짓 0 이외는 다 참. 0>35니까 거짓..if(0) 거짓이니까 else 하기.
b=b<<2 //왼쪽 시프트.
else
c=c<<2 //왼쪽 시프트 외쪽으로 2칸이동한다는말. 숫자가 커진다.
29를 2진수로 나타내면
16,8,4,2,1
11101
1 | 1 | 1 | 0 | 1 | 0 | 0 |
64 | 32 | 16 | 8 | 4 | 2 | 1 |
64+32+16+4=64+52=116 (29*4)
%d, b+c
35+116=151
정답:
151
c언어 시저암호
char*p="It is 8"
I | t | i | s | 8 | \0 | ||
[0] | [1] | [2] | [3] | [4] | [5] | [6] | [7] |
N | d | s | c | 1 | \0 |
char result[100]
int i
for문 i=0; p[i]!=\0; i++ //널이 아닌동안 실행.
if문 isupper(p[i]) //I은 대문자임. 실행해줌. result[0]=(p[i]-'A'+5)%26+'A'= (73-65+5) %26+65=13%26+65=78->N
ABCDEFGHI JKLMNOP...
else if (islower (p[i]) //t는 소문자임. 실행해줌. result[1]=(p[1]-'a'+10)%26+'a'= 97+10=(116-97+10)%26+97=29%26+97=100->d
abcd efghijklmn opqrst uvwxyz
result[3]=(p[3]-'a'+10)%26+'a'=105-97+10)%26+97=18+97=115->s
result[4]=(p[4]-'a'+10)%26+'a'=115-97+10)%26+97=99->c
else if (isdigit (p[i]) //8은 숫자 p[6]-'0'+3)%10+'0'=8-0+3)%10-0=1
else if !(isupper (p[i]) 0r islower or isdigit (p[i]) //다 해당 안되는 경우(공백인 경우)
result[i]=\0
결과:
변환된 문자열: Nd sc 1
자바 문제
클래스 부모
int a , b
부모(int a, int b) //a=10, b=11
this.a = a
this.b = b
print()
클래스 자식 상속 부모
int p=3
자식(int i) //super(10,11)
print() //재정의. p*p=9
클래스 테스트
자식 one = new 자식(10) //생성자 이동.
one.print()
정답:
9
c언어 구조체문제
typedef 구조체{
int a
double b
}뱅크acc
double sim(double base, int year) //sim(1.1, 3) //i=0일때 r=1.0*1.1=1.1 //i=1일때 r=1.1*1.1=1.21 //i=3일때 r=1.21*1.1=1.331
void initacc(뱅크acc*acc, intx, double y)
a | b |
9981 | 2200.0 |
2100.0 | |
2795.1 |
void xxx(뱅크acc*acc, double*en) //*en>0 && *en< acc->b //100.0>0 (참) && 100.0<2200.0 (참) // acc->bal = acc->b-*en // 2200.0 -100.0=2100.0
void yyy(뱅크acc*acc) //acc->b=acc->b*sim((1+0.1),3) //sim 함수 호출. 1.331 반환받음// /acc->b=acc->b*1.331 니까 2100.0*1.331=2795.1
메인함수
뱅크acc 내acc //내acc 변수 선언함.
initacc(&내acc, 9981, 2200.0)
double amount = 100.0
xxx(&내acc, &mamount)
yyy(&내acc)
%d and %2f, 내acc.accnum, 내.b
정답:
9981 and 2795.10
'정보처리기사 필답 실기. 코딩 문제.' 카테고리의 다른 글
정처기 24년 3회 코드 기출문제 (0) | 2025.05.15 |
---|---|
정처기 24년 2회 코드 기출문제 (0) | 2025.05.13 |
정처기 23년 3회 코드 기출문제 (0) | 2025.05.12 |
정처기 23년 2회 코드 기출문제 (0) | 2025.05.11 |
정처기 23년 1회 코드 기출문제 (0) | 2025.05.10 |
댓글