본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 4 프로그래밍 언어 활용 Chapter 2 프로그래밍 언어 활용 공부

by Mr.ticket 2024. 1. 3.
728x90

1. 메모

 

인터프리티드 언어(Interpreted Language) : 컴파일 언어처럼 전체가 기계어로 미리 변환되는 것이 아니고 실행 중에 인터프리터를 통해 인터프리티드되는 언어

 

2. Point

 

C 언어의 특징

 - C 언어 프로그램은 함수의 집합으로 구성된다.

 - 이식성이 높은 언어이다.

 - 예약어가 간편하다.

 - 융통성과 강력한 기능을 갖고 있다.

 - 구조적 프로그램이 가능하다.

 

C 언어의 기본 구조

 - 헤드 부분

  • 외부 파일 편입

  • 매크로 정의

  • 전역 변수 및 사용자 정의 함수 선언

 

 - 몸체 부분 : 함수 main()은 C 프로그램에서 예약된 유일한 함수로 프로그램 실행 시 가정 먼저 수행되며 위치는 어디에나 위치 가능하고, 반드시 한 번만 기술되어야 한다.

 

 - 사용자 정의 함수 : 처리할 내용을 맞게 함수를 정의하고, 경우에 따라서 또 다른 함수를 호출할 수 있다.

 

전처리문의 종류

 - #include : 외부 파일을 원시 프로그램에 편입

 - #define : 매크로 정의

 - #undef : 정의된 매크로 취소

 - #if-#endif : 조건에 따른 컴파일

 

C 언어 표준 라이브러리

 - stdio.h : 데이터 입출력 기능

 - math.h : 수학 함수

 - string.h : 문자열 처리 기능

 - stdlib.h : 자료형 변환, 난수 발생, 메모리 할당 등의 기능

 

자바 프로그램 분석

 - 클래스(Class)

  • 객체지향 프로그래밍에서 가장 기본이 되는 Class를 정의하는 키워드

  • 클래스의 이름은 관례적으로 첫 글자를 대문자로 쓴다.

  • main() 메소드가 포함된 클래스 이름이 프로그램의 이름이다.

  • 클래스의 몸체는 {}로 나타내면 그 안에 데이터와 메소드를 기술한다. 

 

 - main() 메소드

  • 자바 애플리케이션에서 반드시 있어야 하는 특수 메소드이다.

  • 실행시 자동으로 실행되는 유일한 메소드이다.

 

 - 표준 입출력

  • System.out : 자바에서의 표준 출력

  • printIn(), print() : 표준 출력 메소드

  • System.in : 자바에서의 표준 입력

  • read() : 입력 메소드

  • System.in.read() : 키보드로부터 하나의 문자를 입력 받아 코드값을 반환

 

접근자와 옵션

구분 내용
default(공백) 또는 package 패키지 내부에서만 상속과 참조 가능
public 패키지 내부 및 외부에서 상속과 참조 가능
protected 패키지 내부에서는 상속과 참조가 가능하고 외부에서는 상속만 가능
private 같은 클래스 내에서 상속과 참조 가능
abstract 객체를 생성할 수 없는 클래스
static 서브 클래스를 가질 수 없는 클래스
final 맴버 클래스 선언에 사용

 

Python의 개요

 - 1991년 네덜란의 귀도 반로 로섬(Guido van Rossum)이 개발했다.

 - 범용 프로그램밍 언어로 코드 가독성과 간결한 코딩을 강조한 언어이다.

 - 플랫폼에 독립접이고, 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어이다.

 

Python 특징

 - 문법이 쉽고 간단하며, 배우기 쉽다.

 - 객체지향적이다.

 - 다양한 패키지가 제공된다.

 - 오픈 소스이며 무료 제공된다.

 

Python String Method

 - capitalize() : 첫 글자를 대문자, 나머지는 모두 소문자

 - title() : 각 단어의 첫 글자만 대문자

 - upper() : 모두 대문자

 - lower() : 모두 소문자

 

Ajax(Asynchronous JavaScript and XML)

 - 브라우저와 서버 간의 비동기 통신 채널로 JavaScript, XML의 집합과 같은 기술들이 포함된다.

 - 대화식 웹 애플리케이션 개발에 사용되며, 실행을 위한 플랫폼으로 사용되는 기술들을 지원하는 웹 브라우저를 이용한다.

 - 서버 처리를 기다리지 않고 비동기 요청이 가능하다.

 

3. 오답 노트

 

다음 자바 코드를 컴파일할 때, 문법 오류가 발생하는 부분은 ?

class Person {
    private String name;
    public int age;
    public void setAge(int age) {
        this.age = age;
    }
    public String toString() {
    return("name: " + this.name + ", age: " + this.age);
    }
}

public class PersonTest {
    public static void main(String[] args) {
        Person a = new Person(); // a
        a.setAge(27); // b
        a.name = "Gildong"; // c
        System.out.printIn(a); //d
    }
}

1. a

2. b

3. c

4. d

c의 경우 변수 name이 접근제한자 private로 선언되어 있어, 다른 클래스에서 접근할 수 없다.

 

JAVA 프로그램의 실행 결과로 옳은 것은 ?

class Test {
    public static void main(String[] args) {
        int a = 101;
        System.out.printIn((a >> 2) << 3);
    }
}

1. 0

2. 200

3. 404

4. 600

101을 이진수로 나타내면 1100101로 좌로 2번 비트 이동을 하면 11001가 된다. 거기에서 우로 비트 이동 3번을 하게 되면 11001000이 되고 이를 십진수로 변환하면 200이 정답이다.

 

C 언어에서의 변수 선언으로 틀린 것은 ?

1. int else;

2. int Test2;

3. int pc;

4. int True;

else는 예약어이기 때문에 변수 선언으로 사용할 수 없다.

 

다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는 ?

def cs(n) :
    s=0
    for num in range(n+1) :
        s+=num
    return s
    
print(cs(11))

1. 45

2. 55

3. 66

4. 78

0 ~ 11까지의 누적 합인 66이다.

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글