1.
연산자 -와 *로 구성된 정수 계산식에서 -가 *보다 우선순위가 높고 -는 우결합성을 가진다고 가정하자. 다음 중 결과 값이 가장 큰 것은?
- ①1-3-2*2
- ②4-1*1-2
- ③7-5*2
- ④2*4-5
정답 보기
정답 ③ · 해설 보기
시행 2010-07-24 · 책형 고 · 20문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)
정답 ③ · 해설 보기
interface B {
int b=1;
int f();
}
abstract class A implements B {
public abstract void g(int i);
public int f() { return b*2; }
}
class C extends A {
public void g(int i) { System.out.println(i*2); }
public int f() { return super.f()*2; }
}
class D extends C {
public void g(int i) { System.out.println(i*3); }
}
public class Test {
public static void main(String[] args) {
C c = new D();
c.g(c.f());
}
}정답 ④ · 해설 보기
#include <stdio.h>
void fun(int a, int b, int c)
{
if(c!=0) {
fun(b, a+b, c-1);
printf("%d %d %d\n",a,b,c);
}
}
int main(int argc, char* argv[])
{
int i=1, j=1, k=3;
fun(i,j,k);
return 0;
}정답 ② · 해설 보기
#include<iostream.h>
class Polygon {
public: virtual void edges() { cout<< "NA "; } // ㉠
};
class Rectangle : public Polygon {
public: void edges() { cout<< "4 "; }
};
class Triangle : public Polygon {
public: void edges() { cout<< "3 "; }
};
class Varangle : public Polygon {
public: void edges(int e) { cout<< "# "; }
};
int main(int argc, char* argv[])
{
Polygon* p[3];
p[0] = new Rectangle();
p[1] = new Triangle();
p[2] = new Varangle();
for (int i = 0; i< 3; i++)
p[i]->edges();
return 0;
}정답 ④ · 해설 보기
#include <stdio.h>
int y = 3;
int sample()
{
++y;
return(5);
}
int main(int argc, char* argv[])
{
int x;
x = sample() * 2;
x = x + y;
printf("%d \n", x);
return 0;
}정답 ② · 해설 보기
정답 ① · 해설 보기
public class ex1 {
public static void main(String args[]) {
int i, a = 0;
int b[] = new int[3];
for(i=0; i<=2; i++) {
System.out.println("i=" + i);
try {
if (i == 0) a = 10/0;
if (i == 1 ) a = 1;
if (i == 2) a = b[i+3];
}
catch (ArithmeticException e) {
System.out.println("error - divide by zero");
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println("error - out of bound");
}
finally {
i++;
}
}
System.out.println("a=" + a);
}
}정답 ③ · 해설 보기
#include <stdio.h>
void printtest(int *p, int size);
int main(int argc, char* argv[])
{
int a[5] = {10, 20, 30, 40, 50};
int size = sizeof(a)/sizeof(a[0]);
printtest(a, size/2);
return 0;
}
void printtest(int *p, int size)
{
printf("%d \n", p[size]);
}정답 ② · 해설 보기
#include <stdio.h>
int main(int argc, char* argv[])
{
int *a;
int b[5] = {2, 4, 7};
a = &b[0];
printf("%d, %d, %d \n", *a+3, *(a+3), a+3);
return 0;
}정답 ① · 해설 보기
정답 ④ · 해설 보기
#include <stdio.h>
int main(int argc, char* argv[])
{
char string[2][10] = {"variable", "constant"};
printf("%s, %c \n", string, *(string[0]+1));
return 0;
}정답 ① · 해설 보기
class IfElse {
public static void main(String args[]) {
long charge = 5000 ;
String country = args[0];
String city = args[1];
if (country.equals("한국"))
if(city.equals("제주도"))
charge = 10000;
else
charge = 20000;
System.out.println(charge);
}
}정답 ④ · 해설 보기
정답 ③ · 해설 보기
#include <iostream.h>
void ErrorHandler(int test)
{
try {
if (test) throw test;
else throw "예외 발생";
}
catch(int i) {
cout << "예외에서 잡은 숫자 : " << i << "\n";
}
catch(char *str) {
cout << "예외에서 잡은 문자열 : " << str << "\n";
throw;
}
}
int main(int argc, char* argv[])
{
try {
ErrorHandler(1);
ErrorHandler(0);
ErrorHandler(2);
}
catch(char *) {
cout << "메인함수에서 잡은 예외 \n";
}
return 0;
}정답 ③ · 해설 보기
<E> → a<E> | b<E> | a
정답 ② · 해설 보기
class Super {
int index = 1;
public void printVal() {
System.out.println("super");
}
}
class Sub extends Super {
int index = 2;
public void printVal() {
System.out.println("sub");
}
}
public class Test2 {
public static void main(String args[]) {
Super sup1 = new Sub();
System.out.println(sup1.index);
sup1.printVal();
}
}정답 ② · 해설 보기
#include <stdio.h>
int main(int argc, char* argv[])
{
int a= 1, b, c, d;
d = (b= a++, c = b+2);
printf("a=%d, b=%d, c=%d, d=%d\n", a, b, c, d);
return 0;
}정답 ① · 해설 보기
정답 ③ · 해설 보기
public class ClassA {
int tmp = 100;
ClassA() {
System.out.println("tmp = " + tmp);
tmp = 200;
}
public static void main(String[] args) {
ClassA inst = new ClassA();
System.out.println("tmp = " + inst.tmp);
}
}정답 ③ · 해설 보기
#include <stdio.h>
int main(int argc, char* argv[])
{
int x = 3; int y = 4; int z = 5 ;
x = y;
{
int x = 7, y = 2;
x = z;
printf("x1=%d, y1=%d, z1=%d \n", x, y, z);
}
printf("x2=%d, y2=%d, z2=%d \n", x, y, z);
return 0;
}정답 ① · 해설 보기