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

정보처리기사 필기 요약 4과목 프로그래밍 언어 활용 - 1장 서버 프로그램 구현, 2장 프로그래밍 언어 활용

by 리드민 2021. 8. 7.
반응형

SECTION 126 개발 환경 구축

(2) 하드웨어 환경

클라이언트(Client) 서버(Server)

웹 서버 : 정적 파일들을 제공한다.

웹 애플리케이션 서버(WAS; Web Application Server) : 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역활

(3) 소프트웨어 환경

빌드 도구 : 소스의 빌드 및 배포, 라이브러리 관리를 지원하는 소프트웨어

 

SECTION 127 서버 개발

(2) 서버 개발 프레임워크

클래스나 인터페이스를 제공하는 소프트웨어를 의미한다.

프로그래밍 언어가 제한적이므로 선정할 수 있는 프레임워크도 제한적이다.

프레임 워크 특징
Spring JAVA(썬 마이크로 시스템즈 제작)를 기반으로 만들어진 프레임워크
Node.js JavaScript를 기반으로 만들어진 프레임워크
Django Python을 기반으로 만들어진 프레임워크
Codeigniter PHP를 기반으로 만들어진 프레임워크
Rudy on Rails Ruby를 기반으로 만들어진 프레임워크

 

SECTION 128 보안 및 API

(2) 소프트웨어 개발 보안 점검 항목

세션 통제 : 서버와 클라이언트의 연결을 말하며 세션 통제

(3) API(Application Programming Interface)

라이브러리를 이용할 수 있도록 규칙 등을 정의해 놓은 인터페이스를 의미한다.

 

SECTION 130 패키지 소프트웨어

(1) 패키지 소프트웨어(Package Software)의 개요

패키지 소프트웨어를 구입하여 기업 환경에 적합하게 커스터마이징(Customizing)하여 사용한다.

패키지 소프트웨어를 이용하여 시스템을 구축하는 방식을 패키지 개발 방식이라고 한다.

70% 이상 충족시키는 패키지 소프트웨어가 있을 때만 사용하는 것이 적합하다.

  패키지 소프트웨어-기성복 전용 개발 소프트웨어-맞춤복
기능 요구사항 70% 이상 충족시키는 패키지 소프트웨어가 있는 경우 이용 모든 기능 요구사항 반영 가능

 

SECTION 131 데이터 타입

(2)

종류 데이터 타입 크기
문자 char 1Byte
정수 int 4Byte
실수 float 4Byte
double 8Byte

배열이 자료의 형과 크기가 동일한 변수

'struct'

struct sawon {
char name[10]
char position[10]
int pay;
}

 

SECTION 132 변수

(2) 변수명

영문자, 숫자, _(under bar)를 사용할 수 있다.

첫 글자 영문자

글자 수에 제한이 없다.

공백이나 *, +, -, / 등의 특수문자를 사용할 수 없다.
대/소문자를 구분한다.

예약어
세미콜론(;)을 붙여야 한다.

헝가리안 표기법(Hungarian Notation)이라고 한다.

(3) 기억 클래스

종류 기억영역 예약어 생존기간 사용 범위
자동 변수 메모리(스택) auto 일시적 지역적
레지스터 변수 레지스터 register
정적 변수(내부) 메모리(데이터) static 영구적
정적 변수(외부) 전역적
외부 변수 extern

자동 변수(Automatic Variable)

함수나 블록이 실행되는 동안에만 존재하며 이를 벗어나면 자동으로 소멸된다.

외부 변수(External Variable)

참조(reference)하기 위한 변수이다.

외부 변수는 함수 밖에서 선언한다.

정적 변수(Static Variable)

함수나 블록 내에서 선언하다.

레지스터 변수(Register Variable)

자주 사용하는 변수를 레지스터에 저장하여 처리 속도를 높이기 위해 사용한다.

 

SECTION 133 연산자

(1) 산술 연산자

연산자 의미 비고
+ 덧셈  
- 뺄셈  
* 곱셈  
/ 나눗셈  
% 나머지 & = 9%3; 대입 연산자
++ 증가 연산자 전치 : 변수 앞에 증감 연산자가 오는 현태로 먼저 변수의 값을 증감시킨 후 변수를 연산에 사용한다.(++a, --a).
후치 : 변수 뒤에 증감 연산자가 오는 형태로 먼저 변수를 연산에 사용한 후 변수의 값을 증감시킨다(a++, a--).
-- 감소 연산자

(3) 비트 연산자

비트 연산자는 비트별(0,1)로 연산하여 결과를 얻는 연산자이다.

연산자 의미 비고
& and 모든 비트가 1일 때만 1
^ xor 모든 비트가 같으면 0, 하나라도 다르면 1
| or 모든 비트 중 한 비트라도 1이면 1
~ not 각 비트의 부정, 0이면 1, 1이면 0
<< 왼쪽 시프트 비트를 왼쪽으로 이동
>> 오른쪽 시프트 비트를 오른쪽으로 이동

(4) 논리 연산자

논리 연산자는 두 개의 논리 값을 연산하여 참(true) 또는 거짓(false)을 결과로 얻는 연산자이다. 관계 연산자와 마찬가지로 거짓은 0, 참은 1이다.

연산자 의미 비고
! not 부정
&& and 모두 참이면 참
|| or 하나라도 참이면 참

(5) 대입 연산자

연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 대입 연산자를 제공한다. 대입 연산자는 산술, 관계, 비트, 논리 연산자에 모두 적용 될수 있따.

연산자 의미
+= a+=1 a=a+1
-= a-=1 a=a-1
*= a*=1 a=a*1
/= a/=1 a=a/1
%= a%=1 a=a%1
<<= a<<=1 a=a<<1
>>= a>>=1 a=a>>1

(6) 조건 연산자

조건 연산자는 조건에 따라 서로 다른 수식을 수행한다.

형식

조건 ? 수식1: 수식2; '조건'의 수식이 참이면 '수식1'을, 거짓이면 '수식2'를 실행한다.

 

번호 조건 연산식 결과
2 c -= a<b ? a-b : b-a  
4 c += b<b ? ++a:b++;  

(8) 연산자 우선순위

대분류 중분류 연산자 결함 규칙 우선 순위
단항 연산자 단항 연산자 !, ~, ++, --, sizeof 높음





















낮음
이항 연산자 산술 연산자 * / %
+ -
시프트 연산자 << >>
관계 연산자 <   <=   >=   >
==   !=
비트 연산자 &
^
|
  논리 연산자 &&
||
삼항 연산자 조건 연산자 ? :
대입 연산자 대입 연산자 = += -= *= /= %= <<= >>= 등
순서 연산자 순서 연산자 ,

 

SECTION 134 데이터 입/출력

(2) scanf( ) 함수

scanf("%3d, &a);

d: 10진수로 입력

&a : 입력받은 데이터를 변수 a의 주소에 저장

ex) scanf("%d %f", &i, &j); -> '%d'와 i, "%f"와 j는 자료형이 일치해야 한다.

서식 문자열 의미
%d 정수형 10진수를 입/출력하기 위해 지정한다.
%o 정수형 8진수를 입/출력하기 위해 지정한다.
%x 정수형 16진수를 입/출력하기 위해 지정한다.
%c 문자를 입/출력하기 위해 지정한다.
%s 문자열을 입/출력하기 위해 지정한다.

 

SECTION 135 제어문

(2) 단순 if문

if문은 조건에 따라서 실행할 문장을 달리하는 제어문, 단순 if 문은 조건이 한 개 일 때 사용하는 제어문이다.

ex 2) a가 b보다 크면 'a-b', 아니면 'b-a'를 수행하기

#include <stdio.h>
main()
{
int a = 10, b = 20, cha;
if (a > b)
cha = a - b;
else
cha = b - a;
printf("%d\n", cha);
}

(3) 다중 if문

ex 1) 점수에 따라 등급 표시하기

#include <stdio.h>
main( )
{
int jum = 85;
if (jum >= 90)
printf("학점은 A입니다.\n");
else if (jum >= 80)
printf("학점은 B입니다. \n");
else if (jum >=70)
printf("학점은 C입니다.\n");
else
printf("학점은 F입니다.\n");
}

형식2 : if문 안에 if문이 포함된다.

if(조건1)
{
if(조건2)
실행한 문장1;
else
실행한 문장2;
}
else
실행한 문장3;

ex 2) 홀수, 짝수 판별하기

#include <stdio.h>
main()
{
int a = 21, b =10;
if(a % 2 == 0)
if(b % 2 == 0)
printf("모두 짝수\n");
else
printf("a:짝수, b:홀수\n");
else
if(b%2 == 0)
printf("a:홀수, b:짝수\n");
else
printf("모두 홀수\n");
}

(4) switch 문

switch 문은 조건에 따라 분기할 곳이 여러 곳은 경우 간단하게 처리할 수 있는 제어문이다.

형식

switch(수식)
{
case 레이블1:
실행할 문장1;
break;
case 레이블2;
실행할 문장2;
break;
.
.
.
default:
실행할 문장3;
}

ex)

#include <stdio.h>
main()
{
int jum = 85;
switch (jum/10)
{
case 10:

case 9;
  printf("학점은 A입니다.\n");
  break;
case 8;
  printf("학점은 B입니다.\n");
  break;
case 7:
  printf("학점은 C입니다.\n");
  break;
case 6:
  printf("학점은 D입니다.\n");
  break;
default:
  printf("학점은 F입니다. \n);
}
}

SECTION 136 반복문

for문

형식

for(식1; 식2; 식3)
실행할 문장;

while 문

while(조건)
실행할 문장;

ex)

#include <stdio.h>
main()
{
   int a = 0, hap = 0;
   while (a < 5)
   {
      a++;
      hap += a;
   }
printf("%d, %d\n", a, hap);
}

(4) do~while 문

while 문과 같으나 다른 점은 do~while 문은 실행할 문장을 무조건 한번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다.

형식

do
     실행할 문장;
while(조건);

ex)

#include <stdio.h>
main ( )
{
int a = 1, hap =0;
do
{
hap += a;
a += 2;
} while(a<10);
printf("%d, %d\n", a, hap);
}

 

SECTION 137 배열과 문자열

(2) 1차원 배열

ex1) 1차원 배열 a의 각 요소에 10, 11, 12 ,13, 14를 저장한 후 출력하기

#include <stdio.h>
main( )
{
int a[5];
int i;
for (i=0; i<5; i++)
a[i] = i +10;
for (i = 0; i < 5; i++)
printf("%d", a[i]);
}

 

SECTION 138 포인터

(1) 포인터와 포인터 변수

main( )
{
int a = 50;
int *b;
b = &a;
*b = *b+20;
/* b가 가리키는 곳의 값에 20을 더한다. b가 가리키는 곳이 a이므로 결국 a의 값도 바뀌는 것이다. 포인터 변수 b에 저장된
주소에 저장된 값 */
printf("%d, %d", a, *b);
}

(2) 포인터와 배열

ex)

main( )
{
int a[5];
int i;
int *p;
for (i = 0; i < 5; i++)
a[i] = i + 10;
p = a;
for (i = 0; i < 5; i++)
printf("%d", *(p+1));
}
*(p+i)
10 11 12 13 14
1000 1004 1008 1012 1016

*(1000) -> %d

 

SECTION 140 절차적 프로그래밍 언어

(3) 절차적 프로그래밍 언어의 종류

C, ALGOL, COBOL, FORTRAN

 

SECTION 141 객제지향 프로그래밍 언어

(3) 객체지향 프로그래밍 언어

JAVA, C++, Smalltalk

 

SECTION 142 스크립트 언어

(1) 스크립트 언어(Script Language)의 개요

스크립트 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용

서버용 스크립트 언어 : ASP, JSP, PHP, 파이썬

클라이언트용 스크립트 언어 : 자바 스크립트(JAVA Script), VB 스크립트(Visual Basic Script)

(3) 스크립트 언어의 종류

자바 스크립트, ASP : 윈도우 계열에서만 수행가능한 프로그래밍 언어, JSP(Java Server Page) : JAVA로 만들어진 서버용 스크립트, 파이썬(Python) : 대화형 인터프리터 언어

 

SECTION 143 선언형 언어

(1) 선언형 언어

함수형 언어 : LISP, 논리형 언어 :PROLOG

반응형