프로그래밍언어론정답(2021-03-07 / 178.3KB / 68회)
프로그래밍언어론 A 책형 1 쪽 프로그래밍언어론 문 1. 클래스(class), 상속(inheritance), 다형성(polymorphism)과 같은 특징을 가지는 프로그래밍 언어는? ① C ② Scheme ③ Pascal ④ Java 문 2. 프로그래밍 언어의 번역단계(compile)를 구성하는 요소가 아닌 것은? ① 어휘분석(lexical analysis) ② 구문분석(parsing) ③ 코드생성(code generation) ④ 로드모듈생성(load module generation) 문 3. HTML 태그의 TYPE 속성 값인 ㉠에 들어갈 수 없는 것은? ① TEXT ② RADIO ③ ACTION ④ HIDDEN 문 4. 프로그램 개발 환경에 대한 설명으로 옳지 않은 것은? ① 문서편집기는 프로그램 소스코드를 작성하고 수정하는데 사용된다. ② 컴파일러는 고급언어를 실행하고자 하는 컴퓨터에서 실행 가능한 형태로 번역한다. ③ 링커는 컴파일된 프로그램을 특정 메모리에 위치시킨다. ④ 선행처리기(preprocessor)는 컴파일하기 전에 프로그램 소스 코드를 변환한다. 문 5. HTML에서 번호가 있는 목록을 만들기 위한 태그는? ① ② ③ ④ 문 6. 프로그래밍 언어에서 정적 타입검사(static type checking)를 수행함으로써 얻을 수 있는 장점으로 옳지 않은 것은? ① 가독성(readability) ② 신뢰성(reliability) ③ 메모리 사용 유연성(flexibility) ④ 실행시간 효율성(efficiency) 문 7. 다음 Java 프로그램의 실행 결과는? interface A { int a = 2; } class B implements A { int b; B(int i) { b = i * a; } int getb() { return b; } } public class Test { public static void main(String args[]) { int a = 3; B b1 = new B(1); System.out.println( b1.getb() ); } } ① 1 ② 2 ③ 3 ④ 4 문 8. 다음 C 프로그램의 실행 결과는? #include int f(int n) { if (n > 0) return n % 10 + f(n / 10); else return 0; } void main() { int result; result = f(123); printf("%d\n", result); } ① 123 ② 6 ③ 321 ④ 12 문 9. 다음 C 프로그램의 실행 결과는? #include void main() { int i, j, sum = 0; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { if (j % 3 == 0) continue; if (i % 4 == 0) break; sum++; } } printf("%d\n", sum); } ① 42 ② 81 ③ 27 ④ 12 프로그래밍언어론 A 책형 2 쪽 문 10. C++와 Java에 대한 설명으로 옳은 것은? ① C++와 Java는 다중 상속(multiple inheritance)을 허용하지 않는다. ② 연산자 중복정의(operator overloading)에 대해서 C++에서는 허용하고, Java에서는 허용하지 않는다. ③ C++는 기본적으로 동적(dynamic) 바인딩을 하며, Java는 정적(static) 바인딩을 한다. ④ C++와 Java에서 생성자(constructor)는 중복정의 할 수 없다. 문 11. 다음 C 프로그램의 실행 결과는? #include void main() { int count = 2; int sum = 0; while (count xxx@yyy 문 13. Java 프로그램에서 기본적인 기능을 제공하며 지정하지 않아도 묵시적으로 포함되는 패키지는? ① java.lang ② java.util ③ java.io ④ java.net 문 14. 다음 Visual Basic 프로그램의 Command1과 Command2 버튼을 클릭했을 때 각각의 결과는? Option Explicit 'Command1 버튼 클릭시 실행 프로시저: Command1_Click() Private Sub Command1_Click() Dim msg As String msg = "안녕하세요?" Form1.Print msg End Sub 'Command2 버튼 클릭시 실행 프로시저: Command2_Click() Private Sub Command2_Click() Form1.Print msg End Sub Command1 Command2 ① 안녕하세요? 안녕하세요? ② 안녕하세요? [오류] ③ [오류] 안녕하세요? ④ [오류] [오류] 문 15. 마크업언어(markup language)에 관한 설명으로 옳지 않은 것은? ① HTML은 웹브라우저 안에서 웹문서를 보여주기 위해 만든 언어이다. ② XML은 사용자가 임의로 태그를 만들어 사용할 수 있는 언어이다. ③ HTML은 정해진 태그만을 사용하는 언어이다. ④ XML은 플랫폼에 의존적이다. 문 16. 다음 Java 프로그램에서 Example 클래스의 실행 결과는? //Subject1.java public class Subject1 { protected int a = 1000; public int fun1() { return a; } } //Subject2.java public class Subject2 extends Subject1 { private int b = 5; public int fun2() { return a/b; } } //Example.java public class Example { public static void main(String[] args) { Subject2 sub = new Subject2(); System.out.println( sub.fun1() ); System.out.println( sub.fun2() ); } } ① 1000 5 ② 5 1000 ③ 1000 200 ④ 200 1000 문 17. 다음 C++ 프로그램의 실행 결과는? #include int f(int x, int y=2) { return x + y; } int f(float x) { return (int) x + 1; } int f(double x) { return (int) x; } void main() { int r; r = f(2); cout << r << ", "; r = f(2.5); cout << r << "\n"; } ① 2, 2 ② 3, 3 ③ 4, 2 ④ 4, 3 프로그래밍언어론 A 책형 3 쪽 문 18. 다음 Visual Basic 프로그램의 Command1 버튼을 클릭했을 때 실행 결과는? 'Command1 버튼 클릭시 실행 프로시저: Command1_Click() Private Sub Command1_Click() Dim i As Integer Dim a() As Integer ReDim a(2) a(0) = 4 a(1) = 2 ReDim Preserve a(5) For i=0 To UBound(a) Print a(i); Next i End Sub ① 0 0 0 0 0 ② 0 0 0 0 0 0 ③ 4 2 0 0 0 ④ 4 2 0 0 0 0 문 19. Visual Basic에서 변수에 관한 설명으로 옳지 않은 것은? ① 선언부에 선언된 변수는 모듈 내의 모든 프로시저에서 사용 가능하다. ② 프로시저 안에서 선언된 Static 변수는 프로시저가 종료되면 변수값이 소멸된다. ③ Option Explicit 문을 사용하면 선언되지 않은 변수를 사용할 수 없다. ④ “String”형 변수는 고정크기와 가변크기의 문자열을 저장할 수 있다. 문 20. 다음 Visual Basic 프로그램의 Command1 버튼을 클릭했을 때 실행 결과는? 'Command1 버튼 클릭시 실행 프로시저: Command1_Click() Private Sub Command1_Click() Dim a As Integer a = 5 Call f1(a) Print a; Call f2(a) Print a; End Sub Private Sub f1(ByVal x As Integer) x = x + 5 Print x; End Sub Private Sub f2(ByRef x As Integer) x = x + 5 Print x; End Sub ① 5 5 10 10 ② 10 5 10 10 ③ 5 10 10 15 ④ 10 10 10 10