1️⃣ [JAVA]
2024.1회
아래 JAVA언어 코드의 실행 순서를 중복 번호없이 작성하시오.
class Parent {
int x, y;
Parent(int x, int y) { ①
this.x=x;
this y=y;
}
int getT() { ②
return x*y;
}
}
class Child extend Parent {
int x;
Child (int x) { ③
super(x+1, x);
this.x=x;
}
int getT(int n){ ④
return super.getT()+n;
}
}
class Main {
public static void main(String[] args) { ⑤
Parent parent = new Child(3); ⑥
System.out.println(parent.getT()); ⑦
}
}
실행 순서 : 5 → ( ) → ( ) → ( ) → ( ) → ( )
6 -> 3 -> 1 -> 7 -> 2
6의 Child가 실행될 때, 3에서 super(x+1, x)를 계산하기 위해서는 1을 실행해야 한다. 그래서 6 -> 3 -> 1
2️⃣ [C언어]
2023.3회
다음 C언어 코드에 알맞는 출력값을 작성하시오. (복숩)
#include
int f(int n) {
if(n <= 1) return 1;
else return n*f(n-1);
}
int main() {
printf("%d", f(7));
}
5040
n의 값이 7이기 때문에 else 로 계산한다.
그리고 n <= 1일 때 return 1이기 때문에 n-1값이 1이 될때까지 else를 반복한다.
7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040
3️⃣ [C언어]
2024.1회
다음 C언어 코드에서 알맞는 출력 값을 작성하시오.
int main() {
int v1 = 0, v2 = 35, v3 = 29;
if(v1 > v2 ? v2 : v1) {
v2 = v2 < < 2;
}else{
v3 = v3 < < 2;
}
printf("%d", v2+v3);
}
151
* 삼항 연산자 ? : 조건식 ? 참일 때 값 : 거짓일 때 값;
if(v1 > v2 ? true : false)
v1은 v2보다 작기 때문에 false
if(false)이므로 else 실행
v3 = v3 << 2 에서 왼쪽 시프트 연산자를 2번 실행하면 v3 값에서 *(2^2) 를 해준다.
116 + 35 = 151
'📍Certificate > Engineer Information Processing' 카테고리의 다른 글
[정보처리기사] 실기 프로그래밍언어 3문제 (31) (1) | 2024.10.13 |
---|---|
[정보처리기사] 실기 이론 문제 (10) (4) | 2024.10.13 |
[정보처리기사] 실기 프로그래밍언어 3문제 (29) (0) | 2024.10.12 |
[정보처리기사] 실기 이론 문제 (9) (8) | 2024.10.12 |
[정보처리기사] 실기 프로그래밍언어 3문제 (28) (0) | 2024.10.12 |