1.
다음 C 프로그램의 실행 결과로 옳은 것은?
#include <stdio.h>
void main() {
printf("%d\n", 8 >> 2 ? 2 | 1 : 2 & 1);
}- ①0
- ②1
- ③2
- ④3
정답 보기
정답 ④ · 해설 보기
시행 2012-07-28 · 책형 인 · 20문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)
#include <stdio.h>
void main() {
printf("%d\n", 8 >> 2 ? 2 | 1 : 2 & 1);
}정답 ④ · 해설 보기
정답 ② · 해설 보기
class Super {
Super() {
System.out.print("A");
}
}
public class Sub extends Super {
Sub() {
System.out.print("B");
}
static {
System.out.print("C");
}
public static void main(String[] args) {
System.out.print("D");
new Sub();
}
}정답 ① · 해설 보기
정답 ① · 해설 보기
#include <stdio.h>
void main() {
int i, j, s = 0;
for (i = 1; i < 10; i++) {
for (j = 1; j < 10; j++) {
if (j%2 == 0) continue;
if (i%3 == 0) continue;
if (i%4 == 0) break;
s++;
}
}
printf("%d\n", s);
}정답 ② · 해설 보기
#include <stdio.h>
int f(int a) {
return (a + 1.5);
}
void main() {
float x = 3.5;
int y = 2;
float z = 1.0;
z += x + y * 12.5 + f(x);
printf("%.1f\n", z);
}정답 ② · 해설 보기
정답 ④ · 해설 보기
#include <stdio.h>
int f(int x, int y) {
int z;
z = ++x + y--;
printf("%d ", z);
return x+y;
}
void main() {
int x = 3, y = 4, z;
z = f(x, y);
{
int x = 5;
printf("%d ", z);
z = f(x, y);
}
printf("%d ", z);
}정답 ③ · 해설 보기
#include <stdio.h>
void main() {
int x[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int (*p)[3];
int *pp[3];
p = &x[1];
pp[0] = x[2];
printf("%d %d %d %d\n", (*p)[0], p[1][0], *pp[0], **(p+1));
}정답 ① · 해설 보기
#include <iostream>
#include <string.h>
using std::cout;
using std::endl;
class A {
char *str;
public:
A() { str = NULL; }
㉠
A(char *ss) {
str = new char[strlen(ss)+1];
strcpy(str, ss);
}
void set(char *cc) { strcpy(str, cc); }
void show() { cout << str << endl; }
};
void main() {
A a("AAAA");
A b = a;
a.set("BBBB");
a.show();
b.show();
}<실행 결과> | ||
BBBB
AAAA | ||
정답 ③ · 해설 보기
정답 ③ · 해설 보기
정답 ④ · 해설 보기
class Parent { }
class Child extends Parent { }
public class Test {
public static void main(String[] args) { ㉠
}
}<보기> | ||
ⓐ
ⓑ
ⓒ
ⓓ
| ||
정답 ④ · 해설 보기
<program> → begin <stmt_list> end<stmt_list> → <stmt> | <stmt>; <stmt_list><stmt> → <var>=<expression><var> → A | B | C | D<expression> → <var>+<var> | <var>-<var> | <var>
정답 ③ · 해설 보기
#include <iostream>
using std::cout;
using std::endl;
void swap1(int *a, int *b) {
int temp = *a; *a = *b; *b = temp;
}
void swap2(int &a, int &b) {
int temp = a; a = b; b = temp;
}
void main() {
int c = 10, d = 30;
swap1(&c, &d);
cout << c << " " << d << endl;
swap2(c, d);
cout << c << " " << d << endl;
}정답 ③ · 해설 보기
import java.util.*;
public class GenericSuperTest {
public static void main(String args[]) {
Vector<String> names;
Vector<Integer> scores;
Vector<Object> obj;
Vector<?> wild;
names = new Vector<String>();
scores = new Vector<Integer>();
scores = names; // ㉠
obj = (Vector<Object>) names; // ㉡
wild = names; // ㉢
names = (Vector<String>) wild; // ㉣
scores = (Vector<String>) wild; // ㉤
}
}정답 ③ · 해설 보기
void f() {
static int n = 0;
int i = 10, *p, *q;
p = (int *) malloc(sizeof(int));
q = &i;
}정답 ② · 해설 보기
#include <iostream>
using std::cout;
class A {
public:
virtual void p() { cout << "A.p "; }
void q() { cout << "A.q "; }
virtual void r() {
p();
q();
}
};
class B : public A {
public:
void p() { cout << "B.p "; }
};
class C : public B {
public:
void q() { cout << "C.q "; }
void r() {
q();
p();
}
};
void main() {
A *ap = new B;
ap->r();
ap = new C;
ap->r();
}정답 ④ · 해설 보기
class A extends RuntimeException { };
class B extends A { };
class Test {
public static void main(String[] args) {
try {
try {
throw new B();
} catch (A x) {
System.out.print("1 ");
throw x;
} finally {
System.out.print("2 ");
}
} catch (B x) {
System.out.print("3 ");
}
}
}정답 ② · 해설 보기
#include <stdio.h>
unsigned int getbits(unsigned x, int p, int n) {
return (x >> (p - n)) & ~(~0 << n);
}
void main() {
unsigned int x = 312, res;
res = getbits(x, 8, 4);
printf("%d\n", res);
}정답 ② · 해설 보기