반응형
2022 정보처리기사 실기 2회 7번
문제
7. 다음 자바 코드에 알맞는 출력값을 작성하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public static void main(String args[]){
int i = 3; int k = 1;
switch(i) {
case 1: k += 1;
case 2: k++;
case 3: k = 0;
case 4: k += 3;
case 5: k -= 10;
default: k--;
}
System.out.print(k);
}
|
cs |
정답
-8
해설
여기서 i의 초기값은 3이므로, switch 문은 case 3에서 시작한다. 그런데 case 3에는 break 문이 없기 때문에, 코드는 계속하여 case 4, case 5, 그리고 default case까지 진행된다.
- k = 0; (case 3)
- k += 3; (case 4, 이후 k는 3)
- k -= 10; (case 5, 이후 k는 -7)
- k--; (default case, 이후 k는 -8)
따라서 최종적으로 출력되는 k의 값은 -8이다.
2022 정보처리기사 실기 2회 8번
문제
8. 다음 소스코드에 대한 출력값을 작성하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
#include <stdio.h>
struct A{ int n,
int g
}
int main(){
A a = new A[2]
for(i=0; i <2; i++) {
a[i].n = i,
a[i].g=i+1
}
System.out.printf(a[0].n + a[1].g);
}
|
cs |
정답
2
해설
이 경우 a[0].n + a[1].g의 계산 결과는 이렇게 된다
- a[0].n는 첫 번째 반복에서 i의 값이 0일 때 설정되므로 0
- a[1].g는 두 번째 반복에서 i의 값이 1일 때 설정되므로 2
따라서 a[0].n + a[1].g의 결과값은 0 + 2 즉, 2가 된다.
2022 정보처리기사 실기 2회 13번
문제
13. 다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.
1
2
3
4
|
a = "REMEMBER NOVEMBER"
b = a[:3] + a[12:16];
c = "R AND %s" % "STR";
print(b+c);
|
cs |
정답
REMEMBER AND STR
해설
- a = "REMEMBER NOVEMBER": 이 줄은 문자열 "REMEMBER NOVEMBER"를 변수 a에 할당한다.
- b = a[:3] + a[12:16]: 이 줄은 a의 첫 세 글자("REM")와 12번째부터 15번째 글자까지("EMBE")를 가져와서 이어 붙입니다. 그래서 b는 "REMEMBER"가 된다.
- c = "R AND %s" % "STR": 이 줄은 문자열 "R AND " 뒤에 "STR"을 포매팅하여 추가한다. 결과적으로 c는 "R AND STR"이 된다.
- print(b+c): 마지막 줄은 b와 c를 연결하여 출력한다. 따라서 "REMEMBE"와 "R AND STR"을 이어 붙인
- "REMEMBER AND STR"이 출력된다.