SECTION 149 데이터 입/출력
(2) C 문제
예제) 다음은 키보드로 6과 4를 입력받아 두 수의 덧셈 결과를 출력하는 프로그램이다. 출력 결과를 확인하시오.
#include <stdio.h> main() { int i, j, k; scanf("%d %d", &i, &j); k = i + j; printf("%d\n", k); } |
(3) Java 문제
예제) 다음은 입력받은 정수를 가지고 여러 연산을 수행한 후 출력하는 프로그램이다. 4가 입력되었다고 가정했을 때 출력 결과를 확인하시오.
import java.util.Scanner; public class Test { public static void main(String[ ] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); System.out.printf("a * 3 = %d\n", a * 3); System.out.println("a / 2 = " + (a / 2)); System.out.print(" a - 1 - " + (a - 1)); scan.close(); } } |
() 헝가리안 표기법(Hungarian Notation)
헝가리안 표기법이란 변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법이다.
SECTION 150 제어문
(2) C 문제
예제) 다음 C언어로 구현된 프로그램의 실행 결과를 확인하시오.
#include <stdio.h> main( ) { int score[ ] = {86, 53, 95, 76, 61}; char grade; char str[ ] = "Rank"; for (int i = 0; i < 5; i++) { switch (score[i] / 10) { case 10: case 9: grade = 'A'; break; case 9: grade = 'A'; break; case 8: grade = 'B'; break; case 7: grade = 'C'; break; default: grade = 'F'; } if (grade != 'F') printf("%d is %c %s\n" i+1, grade, str); } } |
(3) Java 문제
예제 다음 Java로 구현된 프로그램의 실행 결과를 확인하시오.
public class Test { public static void main(String[ ] args) { String str = "agile"; int x[ ] = { 1, 2, 3, 4, 5 }; char y[ ] = new char[5]; int i = 0; while (i < str.length()) { y[i] = str.charAt(i); i++; } for (int p : x) { i--; System.out.print(y[i]); System.out.print(p + " "); } } } |
SECTION 151 포인터
(2) C 문제
#include <stdio.h> main ( ) { int a = 50; int *b = &a; *b = *b + 20; printf("%d, %d\n", a, *b); char *s; s = "gilbut"; for (int i = 0; i < 6; i += 2) { printf("%c, ", s[i]); printf("%c, ", *(s + i)); printf("%s\n", s + i); } } |
SECTION 152 사용자 정의 함수
(2) C 문제
예제) 다음은 재귀 함수를 이용해 팩토리얼(Factorial) 연산을 수행하는 C 프로그램이다. 그 실행 결과를 확인하시오.
#include <stdio.h> int factorial (int n); main( ) { int (*pf) (int); pf = factorial; printf("%d", pf(3)); } int factorial (int n) { if (n <= 1) return 1; else return n * factorial(n - 1); } |
SECTION 153 Java의 클래스
(2) Java 문제 1
다음은 Java에서 클래스를 만들고 객체를 생성해서 사용하는 간단한 프로그램이다. 어떤 일을 수행하는지 확인하시오.
class ClassA { int a = 10; int funcAdd(int x, int y) { return x + y + a; } } public class Test { public static void main(String[ ] args) { int x = 3, y = 6, r; ClassA cal = new ClassA(); r = cal.funcAdd(x, y); System.out.print(r); } } |
(3) Java 문제2
ex) 다음 Java 프로그램의 실행 결과를 확인하시오.
class ClassA { ClassA() { System.out.print('A'); this.prn(); } void prn() { System.out.print('B'); } } class ClassB extends ClassA { ClassB() { super(); System.out.print('D'); } void prn() { System.out.print('E'); } void prn(int x) { System.out.print(x); } } public class Test { public static void main(String[ ] args) { int x = 7; ClassB cal = new ClassB( ); cal.prn(x); } } |
SECTION 155 Python의 활용
(2) Python 문제 1
예제) 다음 Python으로 구현된 프로그램에 "xyz321"을 입력했을 때 그 실행 결과를 확인하시오.
x = input(' 입력 :') a = [ 'abc123', 'def456', ghi789' ] a.append(x) a.remove('def456') print(a[1][-3:], a[2]["-3], sep = ',') for i in range(3, 6): print(i, end = ' ') |
(3) Python 문제 2
예제) 다음 Python 프로그램의 실행 결과를 확인하시오.
a = {'apple', 'lemon', 'banana'} a.update( {'kiwi', 'banana'} ) a.remove('lemon') a.add('apple') for i in a; print(i) |
SECTION 157 객체지향 프로그래밍 언어
언어 | 특징 |
JAVA | 분산 네트워크 환경에 적용이 가능함 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있음 운영체제 및 하드웨어에 독립적이며, 이식성이 강함 |
C++ | C 언어에 객체지향 개념을 적용한 언어임 모든 문제를 객체로 모델링하여 표현함 |
Smalltalk | 1세대 객체지향 프로그래밍 언어로, 순수한 객체지향 프로그래밍 언어임 최초로 GUI를 제공하였음 |
SECTION 158 스크립트 언어
(1) 스크립트 언어(Script Language)
스크립트 언어는 HTML 문서 안에 직접 프로그램이 언어를 삽입하여 사용하는 언어이다.
기계어로 컴파일 도지 않고 별도의 번역기가 소스를 분석하여 동작한다.
게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용한다.
() 스크립트 언어의 분류
분류 | 내용 |
서버용 스크립트 언어 | 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄 종류 : ASP, JSP, PHP, 파이썬 |
클라이언트용 스크립트 언어 | 클라이언트의 웹 브라우저에서 해석되어 실행됨 종류 : 자바 스크립트(JAVA Script), VB 스크립트(Visual Basic Script) |
(2) 스크립트 언어의 종류
언어 | 특징 |
ASP | 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어 마이크로소프트 사에서 제작하였음 Windows 계열에서만 수행 가능함 |
JSP(Java Server Page) | JAVA로 만들어진 서버용 스크립트 언어 다양한 운영체제에서 사용 가능함 |
PHP | Linux, Unix, Windows 운영체제에서 사용 가능한 서버용 스크립트 언어 |
파이썬 | 객체지향 기능을 지원하는 대화형 인터프리터 언어 플랫폼에 독립적이고 문법이 간단하여 배우기 쉬움 |
SECTION 159 선언형 언어
(3) 선언형 언어의 종류
언어 | 특징 |
XML | 기존 HTM의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어 HTML에 사용자가 새로운 태그(Tag)를 정의할 수 있음 문서의 내용과 이를 표현하는 방식이 독립적임 |
SECTION 160 라이브러리
(2) C언어의 대표적인 표준 라이브러리
C언어는 라이브러리를 헤더 파일로 제공한다.
C언어에서 헤더 파일을 사용하려면 '#include <stdio.h>'와 같이 include문을 이용해 선언한 후 사용해야 한다.
헤더 파일 | 기능 |
stdio.h | 데이터의 입/출력에 사용되는 기능들을 제공함 주요 함수 : printf, scanf, fprintf, fscanf, fclose, fopen 등 |
math.h | 수학 함수들을 제공함 주요 함수 : sqrt, pow, abs 등 |
string.h | 문자열 처리에 사용되는 기능들을 제공함 주요 함수 : strlen, strcpy, strcmp 등 |
stdlib.h | 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공함 주요 함수 : atoi, atof, srand, rand, malloc, free 등 |
(3) Java의 대표적인 표준 라이브러리
패키지 | 기능 |
java.util | 날짜 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능을 제공함 주요 클래스 : Data, Calender, Random, StringTokenizer 등 |
(4) Python의 대표적인 표준 라이브러리
random | 무작위 선택을 위한 기능을 제공함 주요 메소드 : choice(), sample(), random(), randrange() 등 |
SECTION 예외 처리
(1) 예외 처리(Exception Handling)
예외 처리는 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해놓은 처리 루틴이 수행되도록 하는 것이다.
예외가 발생했을 때 일반적인 처리 루틴은 프로그램을 종료시키거나 로그(Log)를 남기는 것이다.
'자격증 > 정보처리기사 실기' 카테고리의 다른 글
시나공 정보처리기사 실기 요약 11장 응용 SW 기초 기술 활용 (0) | 2021.09.30 |
---|---|
시나공 정보처리기사 실기 요약 9장 소프트웨어 개발 보안 구축 (0) | 2021.09.29 |
시나공 정보처리기사 실기 요약 8장 SQL 응용 (0) | 2021.09.29 |
시나공 정보처리기사 실기 요약 7장 애플리케이션 테스트 관리 (0) | 2021.09.27 |
시나공 정보처리기사 실기 요약 6장 화면 설계 (0) | 2021.09.27 |