프로그래밍 언어 문제 모음!

2020년 1회

17) 다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include 
void align(int a[ ]) {
int temp;
for (int i = 0; i < 4; i++) {
  for (int j=0; j < 4 - i; j++)  {
    if (a[j]> a[j+1]) {
      temp = a[j];
      a[j] = a[j+1];
      a[j+1] = temp;
    }
  }
}

main( ) {
    int a[ ] = { 85, 75, 50, 100, 95 };
    align(a);
     for (int i = 0; i < 5; i++) printf("%d ", a[i]);
}
정답
50 75 85 95 100

18) 다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include 
main( ) {
   int c = 1;
   switch (3) {
      case 1: c += 3;
      case 2: c++;
      case 3: c = 0;
      case 4: c += 3;
      case 5: c -= 10;
      default: c--;
   }
   printf("%d", c);
}
정답
-8

19) 다음은 Java언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

public class Test {
   static int[ ] arr( ) {
     int a[ ] = new int[4];
     int b = a.length;
     for(int i = 0; i < b; i++)
        a[i] = i;
     return a;
  }

  public static void main(String[ ] args) {
     int a[ ] = arr( );
     for(int i = 0; i < a.length; i++)
        System.out.print(a[i] + " ");
  }
}
정답
0 1 2 3

2020년 2회

20년 2회

정답
{"한국", "중국", "베트남", "홍콩", "태국"}
(순서 무관)

5) 다음에 제시된 자바(Java) 프로그램이 [처리 결과]와 같은 결과를 출력할 때, 자바 프로그램의 ( ? )에 들어갈 표현을 대소문자를 구별하여 쓰시오.

class Parent {
    void show() {
        System.out.println("Parent");
    }
}
class Child extends Parent {
    void show() {
        System.out.println("Child");
    }
}
public class Exam {
    public static void main(String[] args) {
        Parent pa = (  ?  ) Child();
        pa.show();
    }
}

[처리결과] Child

정답
new

19) 다음 자바(Java) 프로그램을 실행한 출력 결과를 쓰시오.

class A {
    int a;
    public A(int n) {
        a = b;
    }
    public void println("a="+a);
}
class B extends A {
    public B(int n) {
        super(n);
        super.print();
    }
}
public class Exam {
    public static void main(String[] args) {
        B obj = new B(10);
    }
}
정답
a=10

2020년 3회

2) 다음의 출력 결과를 쓰시오

#include <stdio.h>
void main() {
    int c=0;
    int i=0;
        while(i<10) {
    	i++;
        c *= i;
    }
    printf("%d", c);
}
정답
0 (숫자 0)

5) 다음의 출력 결과를 쓰시오

public class Test{
    public static void main(String []args){
        int i=0;
        int sum=0;
        while (i<10){
            i++;
            if(i%2==1)
              continue;
        sum += i;
        }
    System.out.print(sum);
    }
}
정답
30

13) 다음은 C언어 소스 코드이다. 출력 결과를 쓰시오.

#include <studio.h>
int r1(){
	return 4;
}
int r10(){
	return (30+r1());
}
int r100(){
	return (200+r10());
}
int main(){
	printf("%dn", r100());
    return 0;
}
정답
234

15) 다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.

abstract class vehicle{
    private String name;
    abstract public String getName(String val);
    public String getName(){
    	return "vehicle name:" + name;
    }
	public void setName(String val){
    	name = val;
    }
}

class Car extends Vehicle{
	public Car(String val){
    	setName(val);
   }
public String getName(String val){
	return "Car name : " + val;
   }
public String getName(byte val[]){
	return "Car name : " + val;
   }
}

public class good {
	public Static void main(String[] args){
    Vehicle obj = new Car("Spark");
    System.out.print(obj.getName());
    }
}
정답
Vehicle name : Spark

17) 다음은 자바(Java) 코드이다. 출력 결과를 쓰시오.

public class Test{
    public static void main(String []args){
        int i=0;
        int sum=0;
        while (i10){
            i++;
            if(i%2==1)
              continue;
        sum += i;
        }
    System.out.print(sum);
    }
}
정답
30

2020년 4회

5) 다음은 n이 10일 때, 10을 2진수로 변환하는 자바 소스 코드이다. A, B 괄호 안에 알맞은 값을 적으시오.

class good {
    public static void main (String[] args) {
    	int[]a = new int[8];
        int i=0; int n=10;
        while (   괄호 A    ) {
          a[i++] = (    괄호 B    );
          n /= 2;
       }
      for(i=7; i>=0; i--){
          System.out.print(a[i]);
      }
   }
}
정답
(A) n > 0 or n >=1 or i < 8 or i <= 7
(B) n%2 or n&1

6) 다음은 자바 소스 코드이다. 출력 결과를 보고 괄호 A, B에 알맞은 값을 적으시오.

public class good {
    public static void main(String[] args) {
    int[][]a = new int[( 괄호A )][( 괄호B )];
    for(int i = 0; i < 3; i++){
        for(int j=0; j < 5; j++){
        a[i][j] = j*3+(i+1);
        System.out.print(a[i][j]+"");
      }
      System.out.println();
      }
   }
} 


[출력 결과] 
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
정답
(A) 3
(B) 5

9) 다음은 파이썬 소스 코드이다. 출력 결과를 쓰시오.

lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
    for item in sub:
        print(item, end = '')
    print()
정답
[1, 2, 3]
7
123
45
6789

18) 다음은 C언어 소스 코드이다. 출력 값을 쓰시오.

#include <stdio.h>
void main(){
  char *p = "KOREA"
  printf("%sn" , p);
  printf("%sn" , p+3);
  printf("%cn" , *p);
  printf("%cn" , *(p+3));
  printf("%cn" , p+2);
}
정답
KOREA
EA
K
E
M

19) 다음은 자바(Java) 소스 코드이다. 출력 결과를 쓰시오

class Parent {
  public int compute(int num){
    if(num <=1) return num;
    return compute(num-1) + compute(num-2);
  }
}

class Child extends Parent {
  public int compute(int num){
    if(num<=1) return num;
    return compute(num-1) + compute(num-3);
  }
}

class Good {
  public static void main (String[] args){
    parent obj = new Child();
    System.out.print(obj.compute(4));
  }
}
정답
1

2021년 1회

5) 다음은 파이썬 코드이다. 출력 결과를 쓰시오.

class good :
	li = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]

g = good()
str01 = ''
for i in g.li:
	str01 = str01 + i[0]
    
print(str01)
정답
skiddp

7) 다음 Java 프로그램 결과를 쓰시오.

public class QfranTest{
     public static void main(String []args){
        int a[][] = { {45, 50, 75}, {89} };
        System.out.println(a[0].length);
        System.out.println(a[1].length);
        System.out.println(a[0][0]);
        System.out.println(a[0][1]);
        System.out.println(a[1][0]);
     }
}
정답
3
1
45
50
89

15) 다음은 c 언어 프로그램이다. 실행결과를 쓰시오

#include 

struct good {
    char name[10];
    int age;
 };
 
 void main(){
 	struct good s[] = {"Kim",28,"Lee",38,"Seo",50,"Park",35};
    
    struct good *p;
    p = s;
    p++;
    printf("%sn", p-> name);
    printf("%sn", p-> age);
}
정답
Lee 38

17) 다음은 Java 프로그램이다. 실행 결과를 쓰시오.

public class good {
  public static void main(String[] args){
    int i, j;
    for(j=0, i=0; i<=5; i++){
    j+=i;
    System.out.print(i);
    if(i==5){
    System.out.print("=");
    System.out.print(j);
   }else{
   	System.out.print("+");
	}
   }
  }
 }
정답
0 + 1 + 2 + 3 + 4 + 5 = 15

2021년 2회

7) 다음 파이썬 코드의 결과를 적으시오.

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
pirnt(result)
정답
26

16) 다음은 C언어에 관한 소스코드이다. 실행 결과값을 작성하시오.

int mp(int base, int exp);
int main(){
   int res;
   res = mp(2,10);
   printf("%d",res);
   return 0;
}

int mp(int base, int exp) {
   int res = 1;
   for(int i=0; i < exp; i++){
      res = res * base;
   }
   
   return res;
}
정답
1024

17) 이것은 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드이다. 다음의 출력 결과를 보고 괄호안에 알맞은 답안을 작성하시오.

public class Test {
   public static void main(String[] args){
      system.out.print(Test.check(1));
   }
   
   (  괄호  )  String check (int num) {
      return (num >= 0) ? "positive" : "negative";
   }
}

[출력결과]
positive
정답
static

18) 다음은 C언어 코드의 실행 결과를 적으시오.

int main() {
	int ary[3];
	int s = 0;
	*(ary + 0) = 1;
	ary[1] = *(ary + 0) + 2;
	ary[2] = *ary + 3;
	for(int i = 0; i < 3; i++) {
		s = s + ary[i];
	}
	printf("%d", s);
}

19) 다음 JAVA 코드의 실행 결과를 적으시오.

public class over {
	public static void main(String[] args){
    	ovr a1 = new ovr1();
        ovr a2 = new ovr2();
        System.out.println(a1.sun(3,2) + a2.sun(3,2));
    }
    
    int sun(int x, int y){
    	return x + y;
    }
}

class ovr2 extends ovr1 {
	int sun(int x, int y){
    	return x - y + super.sun(x,y);
    }
}
정답
11

2021년 3회

1) 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.

class Connection {
  private static Connection _inst = null;
  private int count = 0;
    static public Connection get() {
      if(_inst == null) {
      _inst = new Connection();
      return _inst; 
      }
    return _inst;
    }
  public void count() { count ++; }
  public int getCount() { return count; }
}
 
public class testcon {
  public static void main(String[] args) {
    Connection conn1 = Connection.get();
    conn1.count();
    Connection conn2 = Connection.get();
    conn2.count();
    Connection conn3 = Connection.get();
    conn3.count();
    
    System.out.print(conn1.getCount());
  }
}
정답
3

11) 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.

public class testco {
 public static void main(String[] args) {
  int a = 3, b = 4, c = 3, d = 5;
  if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
   a = b + c;
    if(7 == b ^ c != a) {
     System.out.println(a);
    } else {
    System.out.println(b);
    }
  } else {
    a = c + d;
    if(7 == c ^ d != a) {
    System.out.println(a);
    } else {
    System.out.println(d);
    }
  }
 }
}
정답
7

12) 다음 C언어 코드에 대한 알맞는 출력값을 쓰시오.

#include 
int main(){
  int *arr[3];
  int a = 12, b = 24, c = 36;
  arr[0] = &a;
  arr[1] = &b;
  arr[2] = &c;
 
  printf("%dn", *arr[1] + **arr + 1);
}
정답
37

14) 다음 파이썬 코드의 알맞는 출력값을 쓰시오.

a,b = 100, 200 
print(a==b)
정답
False

17) 다음 C언어 코드에 대한 알맞는 출력값을 쓰시오.

#include 
 
struct jsu {
  char nae[12];
  int os, db, hab, hhab;
};
 
int main(){
  struct jsu st[3] = { 
                    {"데이터1", 95, 88}, 
                    {"데이터2", 84, 91}, 
                    {"데이터3", 86, 75}
                    };
  struct jsu* p;
 
  p = &st[0];
 
  (p + 1)->hab = (p + 1)->os + (p + 2)->db;
  (p + 1)->hhab = (p+1)->hab + p->os + p->db;
 
  printf("%dn", (p+1)->hab + (p+1)->hhab);
}
정답
501

2022년 1회

15) 다음은 파이썬 코드에서 출력되는 a와 b의 값을 작성하시오.

def exam(num1, num2=2):
  print('a=', num1, 'b=', num2)
exam(20)
정답
a= 20 b= 2

16) 다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}
정답
Car

17) 다음 Java 코드의 출력 결과를 작성하시오.

class A {
  int a;
  int b;
}
  
public class Main {
  
  static void func1(A m) {
    m.a *= 10;
  }
  
  static void func2(A m) {
    m.a += m.b;
  }
  
  public static void main(String args[]){
  
  A m = new A();
  
  m.a = 100;
  func1(m);
  m.b = m.a;
  func2(m);
  
  System.out.printf("%d", m.a);
  }
}
정답
2000

18) 다음 소스코드에서 입력값이 5가 들어왔을때 출력되는 값을 작성하시오.

#include <stdio.h>
int func(int a) {
  if (a = 1) return 1;
  return a * func(a - 1);
}
 
int main() {
  int a;
  scanf("%d", &a);
  printf("%d", func(a));
}
정답
120

19) 다음 C언어 프로그램의 괄호 안에 들어갈 알맞은 연산자를 작성하시오.

#include <stdio.h>
int main() {
  int number = 1234;
  int div = 10;
  int result = 0;
 
  while (number ( 1 ) 0) {
    result = result * div;
    result = result + number ( 2 ) div;
    number = number ( 3 ) div;
  }
 
  printf("%d", result);
  return 0;
}
정답
1. >
2. %
3. /

20) 다음 C언어 프로그램의 결과를 쓰시오.

#include <stdio.h>
int isPrime(int number) { 
  int i; 
  for (i=2; inumber; i++) { 
    if (number % i == 0) return 0; 
  } 
  return 1; 
} 
 
int main(void) { 
  int number = 13195, max_div=0, i; 
  for (i=2; inumber; i++) 
  if (isPrime(i) == 1 && number % i == 0) max_div = i; 
  printf("%d", max_div); 
  return 0; 
}
정답
29