일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 정보처리기사2022
- 정보처리기사 2022
- 뽀모도로 타이머
- 2022 정보처리기사
- 다행이야...ㅎ
- pem키 분실
- 플러터
- 대학생
- CRUDS
- 다음에 또 만나자
- 지독한 컨셉충
- N-Queen
- 스프링 MVC
- 모바일 청첩장
- 개강해짐
- 교육봉사
- FLUTTER
- 재택치료
- 수제비2022 정리
- 자가격리
- 다들 안잊어서
- 대외활동
- 레이튼 교수와 이상한 마을
- 확진
- 생일축하해 나 자신
- 수제비 2022
- AWS
- 얘들아 잘 지내니
- 교수님 과제 이제 그만..
- 아싸의 생일
- Today
- Total
Rei’s Tech diary
Chapter 2. 프로그래밍 언어 활용 본문
[1] 기본 문법 활용
#. 데이터 타입의 유형
유형 | 설명 |
불린 타입 (Boolean Type) |
조건이 참인지 거짓인지 판단하고자 할 때 사용 예) boolean a = TRUE; |
문자 타입 (Char Type) |
문자 하나를 저장하고자 할 때 사용 예) char a = 'A'; |
문자열 타입 (String Type) |
나열된 여러 개의 문자를 저장하고자 할 때 사용 예) String a = 'Hello'; |
정수 타입 (Int Type) |
정숫값을 저장하고자 할 때 사용 예) int a = 5; |
부동 소수점 타입 (Float Type) |
소수점을 포함하는 실숫값을 저장하고자 할 때 사용 예) float a = 4.5; |
#. 변수(Variable)
변수는 저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억장치에 기억하기 위한 공간이다.
#. 변수 설정 규칙 ★
구분 | 규칙 | 사용 가능 예시 | 사용 불가능 예시 |
사용 가능 문자 |
영문 대문자/소문자, 숫자, 밑줄('_'), 달러('$')의 사용이 가능 | a, A, a1, _, _hello, $a | ?a, <a |
변수 사용 규칙 |
첫 자리에는 숫자를 사용할 수 없음 | _1, a1, a100 | 1, 1a, 1A, 1234 |
변수 이름 중간에는 공백을 사용할 수 없음 | my_student | mu student | |
변수 의미 부여 |
데이터값의 의미나 역할을 표현 | age, student | |
이미 사용되고 있는 예약어의 경우에는 변수로 사용할 수 없음 | For, If, While | int, short, long, for, while, do, continue, break, if, else |
#. 배열(Array)
- 배열은 같은 타입의 변수들로 이루어진 집합이다.
- 배열은 여러 자료를 묶어서 하나의 단위로 처리할 수 있게 하는 구조적 자료형이다.
#. 배열 선언
구분 | 선언 |
초기값이 없는 경우 | 타입 배열명[배열_요소_개수]; |
초기값이 있는 경우 | 타입 배열명[배열_요소_개수] = {초깃값}; |
- 배열 요소 개수에 정의된 숫자만큼 같은 타입의 데이터 공간이 할당된다.
- 초깃값을 선언하지 않을 경우 쓰레기 값이 저장된다.
- 배열 요소 개수보다 적은 개수만큼 초기화할 경우 초깃값이 명시되지 않은 값들은 자동으로 0으로 초기화된다.
■ C언어 배열 선언 및 출력 예제
#include <stdio.h>
void main(){
int a[4] = {1, 2};
int i;
for(i=0; i<4; i++)
printf("%d\n", a[i]);
}
1
2
0
0
- a 배열의 요소 개수는 4개지만, 초기값은 1, 2로 두 개만 명시되어 있으므로 나머지 2개의 공간은 0으로 초기화
#. 포인터(Pointer)
- 포인터는 변수의 주솟값을 저장하는 공간
#. 포인터 선언
데이터 타입* 포인터_변수명 = &변수명; |
- 데이터 타입 뒤에 *를 붙이면 주소를 저장하는 포인터 변수라는 의미
- 일반 변수명에 &를 붙이면 해당 변수명의 주솟값
- 주소에 해당하는 값을 가리킬 때는 *를 사용
■ 포인터 예제
int a = 10;
int* b = &a;
printf("%d %d", a, *b); // b가 가리키는(*) 값은 a이므로 *b와 a는 같다.
#. 연산자(Operation)
- 연산자는 프로그램 실행을 위해 연산을 표현하는 기호이다.
#. 연산자의 종류 ★
연산자 | 연산자 | 설명 |
증감 연산자 |
++X | 변수의 값을 1 증가시킨 후에 해당 변수를 사용 |
X++ | 변수를 사용한 후에 변수의 값을 1 증가 | |
--X | 변수의 값을 1 감소시킨 후에 해당 변수 사용 | |
X-- | 변수를 사용한 후에 변수릐 값을 1 감소 | |
산술 연산자 |
+, -, *, / | 덧셈, 뺄셈, 곱셈, 나눗셈 연산자 |
% | 나머지 연산자 | |
시프트 연산자 |
<< | 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동하는 연산자 |
>> | 왼쪽 값에 오른쪽 값만큼의 부호 비트를 채우면서 오른쪽으로 이동하는 연산자 | |
관계 연산자 |
>, < | 두 값 중 왼쪽의 값이 오른쪽 값보다 큰지, 작은지를 확인하는 연산자 |
>=, <= | 두 값 중 왼쪽의 값이 오른쪽 값보다 크거나 같은지, 작거나 같은지 확인하는 연산자 | |
== | 두 값이 같은지 확인하는 연산자 | |
!= | 두 값이 다른지 확인하는 연산자 | |
비트 연산자 |
& | 두 값을 비트로 연산하여 같은 비트의 값이 모두 1이면 해당 비트값이 1이 되고, 그렇지 않으면 0이 되는 연산자 (AND 연산자) |
| | 두 값을 비트로 연산하여 같은 비트의 값이 하나라도 1이면 해당 비트 값이 1이 되고, 그렇징 ㅏㄶ으면 0이 되는 연산자 (OR 연산자) | |
^ | 두 값을 비트로 연산하여 같은 비트의 값이 서로 다르면 해당 비트값이 1이 되고, 그렇지 않으면 0이 되는 연산자 | |
~ | 모든 비트의 값을 반대로 바꾸는 반전 기능을 하는 연산자 (1의 보수화) |
|
논리 연산자 |
&& | 두 개의 논릿값이 모두 참이면 참을 반환, 그렇지 않으면 거짓을 반환 피연산자 중 둘 다 참이면 참이 되는 연산자 |
|| | 두 개의 논릿값 중 하나 이상 참이면 참을 반환, 그렇지 않으면 거짓을 반환 피연산자 중 하나라도 참이면 참이 되는 연산자 |
|
! | 한 개의 논릿값이 참이면 거짓을 반환, 거짓이면 참을 반환 (NOT 연산) | |
삼항 연산자 | (조건식)? a: b | 조건식이 참일 경우 변수 a실행, 거짓일 경우 변수 b실행 |
대입 연산자 |
= | 왼쪽의 변수에 오른쪽 값을 대입하는 연산자 |
+= | 왼쪽의 변수에 오른쪽 값을 더한 후 그 결괏값을 왼쪽의 변수에 대입하는 연산자 | |
-= | 왼쪽의 변수에 오른쪽 값을 뺀 후 그 결괏값을 왼쪽의 변수에 대입하는 연산자 | |
*= | 왼쪽의 변수에 오른쪽 값을 곱한 후 그 결괏값을 왼쪽의 변수에 대입하는 연산자 | |
/= | 왼쪽의 변수에 오른쪽 값을 나눈 후 그 결괏값을 왼쪽의 변수에 대입하는 연산자 | |
%= | 왼쪽의 변수에 오른쪽 값을 나눈 후 그 나머지를 왼쪽의 변수에 대입하는 연산자 |
#. 연산자 우선순위 (증산시 관비 논삼대) ★
우선순위 | 연산자 | 항의 개수 | 유형 |
0 | ( ) | - | 괄호 |
1 |
X++ | 단항 | 증감 |
X-- | 단항 | 증감 | |
2 |
++X | 단항 | 증감 |
--X | 단항 | 증감 | |
! | 단항 | 논리 | |
~ | 단항 | 비트 | |
3 |
* | 이항 | 산술 |
/ | 이항 | 산술 | |
% | 이항 | 산술 | |
4 |
+ | 이항 | 산술 |
- | 이항 | 산술 | |
5 |
<< | 이항 | 시프트 |
>> | 이항 | 시프트 | |
6 |
< | 이항 | 관계 |
<= | 이항 | 관계 | |
> | 이항 | 관계 | |
>= | 이항 | 관계 | |
7 |
== | 이항 | 관계 |
!= | 이항 | 관계 | |
8 | & | 이항 | 비트 |
9 | ^ | 이항 | 비트 |
10 | | | 이항 | 비트 |
11 | && | 이항 | 논리 |
12 | || | 이항 | 논리 |
13 | (조건식)? a : b | 삼항 | 삼항 |
14 |
= | 대입 | 대입 |
+= | 대입 | 대입 | |
-= | 대입 | 대입 | |
*= | 대입 | 대입 | |
/= | 대입 | 대입 | |
%= | 대입 | 대입 |
#. 조건문
- 조건문은 조건의 참, 거짓 여부에 따라 실행 경로를 달리하는 if 문과 여러 경로 중의 하나를 선택하는 switch 문으로 구분된다.
① if 문
if (조건문){
명령문;
}
else if (조건문){
명령문;
}
else {
명령문;
}
■ if 문 사용 예제 (짝수 홀수 판별 프로그램)
class soojebi{
public static void main(String[] args){
int score = 5;
if(score % 2 == 0){
System.out.print("짝수");
}
else{
System.out.print("홀수");
}
}
}
②switch 문
swich (식){
case 값:
명령문;
break;
default:
명령문;
}
■ switch 문 사용 예제(짝수 홀수 판별 프로그램)
class soojebi{
public static void main(String[] args){
int score = 5;
switch(score % 2){
case 0:
System.out.print("짝수");
break;
default:
System.out.print("홀수");
}
}
}
#. 반복문
- 반복문은 특정 부분을 조건이 만족할 때까지 실행하도록 하는 명령문
- 반복문을 사용할 때 특별한 조건이 없으면 무한 처리를 반복(무한 루프)하게 된다.
① for 문
- for 문은 초기식, 조건식, 증감식을 지정하여 반복하는 명령어이다.
㉮ C, 자바 언어에서의 for 문
for(초기식; 조건식; 증감식){
명령문;
}
■ 자바 언어에서의 for문 사용 예제 (1~2까지 숫자 더하기)
class Soojebi{
public static void main(String[] args){
int i = 0;
int sum = 0;
for (i=1; i<3; i++)
sum = sum + i;
System.out.print(sum);
}
}
㉯ 파이썬에서의 for 문
# 방법1.
for 변수 in range (시작값, 끝값 + 1) :
명령문
# 방법2.
for 변수 in range (반복횟수) :
명령문
■ 파이썬에서의 for 문 예제 (1~10까지 숫자 더하기)
i = 0
sum = 0
for i in range (1, 11) :
sum = sum + i
print(sum)
② while 문
- while 문은 조건이 참인 동안에 해당 분기를 반복해서 실행하는 명령문이다.
while(조건문){
명령문;
}
■ while 문 예제 (1 ~ 2까지 숫자 더하기)
class soojebi{
public static void main(String[] args){
int i = 1;
int sum = 0;
while(i<3){
sum = sum + i;
i++;
}
System.out.print(sum);
}
}
③ do while 문
do{
명령문;
]while(조건문);
■ do while 문 예제 (1 ~ 2까지 숫자 더하기)
class soojebi{
public static void main(String[] args){
int i = 2;
int sum = 0;
do{
sum = sum + i;
i++;
}while(i < 0);
System.out.print(sum);
}
}
④ 루프 제어 명령어
- 루프 제어 명령어는 break 문, continue 문이 있다.
■ break 문 사용 예시
#include <stdio.h>
void main(){
int i = 0;
while(i < 10 ) {
i++;
if ( i == 7 )
break;
print("%d", i);
}
}
출력 : 123456
■continue 문 사용 예시
#include <stdio.h>
void main(){
int i = 0;
while(i < 10 ) {
i++;
if ( i == 7 )
continue;
print("%d", i);
}
}
출력 : 1234568910
#. 사용자 정의 함수
- 사용자 정의 함수는 특별한 목적의 작업을 수행하도록 설계된 블록이다.
#. 사용자 정의 함수 선언
① C, 자바에서 사용하는 사용자 정의 함수
반환_데이터_타입 함수면(데이터_타입 변수명, ...){
명령어;
return 반환값;
}
② 파이썬에서 사용하는 사용자 정의 함수
def 함수명(변수명, ...):
명령어
return 반환값
#. 클래스 (Class)
- 클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 틀.
- C 언어는 명령형 프로그래밍으로 클래스를 지원하지 않는다.
#. 클래스 정의
① 자바 클래스
public class 클래스명{
private 변수_타입 변수명;
public 반환_데이터_타입 메서드명(데이터_타입 변수명, ...){
명령어;
return 반환값;
}
}
② 파이썬 클래스
class 클래스명:
def 메서드명(self, 변수명, ...):
명령어
return 반환값
}
}
#. 자신 클래스 참조
- 자신 클래스 참조에는 자바의 this 포인터와 파이썬의 self가 있다.
구분 | 설명 |
this 포인터 | ˙ this 포인터는 현재 객체를 가리키는 포인터 ˙ 자바에서 사용하는 것으로 클래스 내부의 변수와 함수를 가리킬 수 있음 this.변수명; this.함수명(매개변수); |
self | ˙ self는 현재 객체를 가리키는 포인터 ˙ 파이썬에서 사용하는 것으로 클래스 내부의 변수와 함수를 가리킬 수 있음 self.변수명; self.함수명(매개변수); |
#. 클래스 선언
- 클래스를 일반변수로 선언한 경우 선언함과 동시에 생성자가 호출되고, 일반변수로 선언된 곳에서 함수가 종료되면 소멸자가 호출됨
구분 | 설명 |
자바 클래스 선언 | 클래스 클래스변수 = new 클래스(매개변수); //생성시 클래스변수.finalize( ); //소멸시 |
파이썬 클래스 선언 | 클래스변수 = 클래스(매개변수) //생성시 del 클래스변수 //소멸시 |
[2] 언어특성 활용
#. 절차적 프로그래밍 언어
- 절차적 프로그래밍 언어는 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 언어이다.
- 명령형 프로그래밍이라고도 불린다.
#. 절차적 프로그래밍 언어 특징
- 크게 복잡하지 않고 유지보수하기 쉽다.
- 복사해서 붙이지 않고도 같은 코드를 다른 곳에서 다시 사용할 수 있다.
- 순차적으로 진행되기 때문에 프로그램의 흐름을 파악하기 쉽다.
- 모듈화를 하거나 구조화를 할 수 있다.
#. 절차적 프로그래밍 언어 종류
종류 | 설명 |
알골 (ALGOL) |
˙알고리즘의 연구개발에 이용하기 위한 목적으로 생성 ˙ 절차형 언어로는 최초로 재귀 호출이 가능 ˙ 이후 언어의 발전에 큰 영향을 미침 |
C언어 | ˙ 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어 ˙ 모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 프로그래밍 언어 ˙ struct는 구조체를 사용하여 데이터를 처리할 때 사용하는 키워드 |
포트란 (FORTRAN) |
˙ 과학계산에서 필수적인 벡터, 행렬 계산 기능 등이 내장되어 있는 과학 기술 전문 언어 ˙ 산술 기호, 삼각함수, 지수함수, 대수함수 등과 같은 수학 함수들 사용가능 |
#. 객체지향 프로그래밍 언어
- 객체지향 프로그래밍 언어는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위인 "객체" 중심의 프로그래밍 언어이다.
#. 객체지향 프로그래밍 언어 기능
기능 | 설명 |
자료 추상화 | ˙ 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 기능 |
상속 | ˙ 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능 ˙ 상속을 통해 기존의 클래스를 상속받은 하위 클래스를 이용해 프로그램의 요구에 맞추어 클래스 수정 가능 ˙ 클래스 간의 종속 관계를 형성함으로써 객체를 조직화 |
다중 상속 | ˙ 다중 상속은 클래스가 2개 이상의 클래스로부터 상속받을 수 있게 하는 기능 |
다형성 | ˙ 어떤 한 요소에 여러 개념을 넣어 놓는 기법 |
동적 바인딩 | ˙ 실행 시간 중에 일어나거나 실행 과정에서 변경 될 수 있는 바인딩 ˙ 동적 바인딩은 프로그램의 한 개체나 기호를 실행 과정에 여러 속성이나 연산에 바인딩 함으로써 다형 개념을 실현 |
접근제어자 | ˙ 접근제어자가 지정된 클래스, 변수, 메서드를 외부에서 접근할 수 있도록 권한을 설정하는 기능 public > protected > default > private |
#. 객체지향 프로그래밍 언어 종류 ★
종류 | 설명 |
C++ | ˙ C++은 C문법에 객체지향 프로그래밍 개념과 일반화 프로그래밍을 위한 템플릿 기능이 추가 ˙ C++ 개발자는 원하는 많은 작업들을 성능하락이 없는 형태로 개발이 가능 ˙ 직접 신경써야 하는 것들(메모리 관리)이 많은 언어이기 때문에 개발이 어려움 |
C# | ˙ 마이크로소프트에서 개발한 객체지향 프로그래밍 언어 ˙ C++와 자바의 문법과 비슷한 문법을 가지고 있음 ˙ C#은 자바와 달리 불완전 코드(Unsafe Code)와 같은 기술을 통하여 플랫폼 간 상호 운용성 확보 |
자바 (JAVA) |
˙ 자바는 썬 마이크로 시스템즈가 개발한 객체지향적 프로그래밍 언어 ˙ 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너라 형태로 변환 ˙ 메모리 관리를 위해 가비지 컬렉터 사용 ˙ 대표적인 출력함수는 print, println, printf가 있음 ˙ 기본형 데이터 타입 크기 - boolean(1byte) - char (2byte) - byte (1byte) - short (2byte) - int (4byte) - long(8byte) - float(4byte) - double(8byte) |
델파이 (Delphi) |
˙ 기본적인 문법은 파스칼 문법에 여러 기능들이 추가되어 존재 ˙ 델파이는 윈도즈 아래에서 모든 부분을 프로그래밍할 수 있는 언어 ˙ 높은 생산성과 간결한 코드가 대표적인 장점, C++과 비슷한 저수준 시스템 프로그래밍도 가능 |
#. 스크립트 언어
- 스크립트 언어는 소스 코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어
- 응용 프로그램과 독립하여 사용되고 일반적으로 응용 프로그램의 언어와 다른 언어로 사용되어 최종사용자가 응용 프로그램의 동작을 사용자의 요구에 맞게 수행할 수 있도록 해줌
#. 스크립트 언어 특징
- 일반적으로 스크립트 언어는 빠르게 배우고 쉽게 작성할 수 있다.
- 다른 언어들에 비해 상대적으로 단순한 구문과 의미를 내포한다.
- 보통 스크립트 언어로 작성된 코드는 시작에서 끝날 때까지 실행되며, 시작(Entry Point)이 따로 명시되어 있지 않다.
#. 스크립트 언어 종류
종류 | 설명 |
PHP | ˙ 동적 웹 페이지를 만들기 위해 설계 ˙ 명령 줄 인터페이스 방식의 자체 인터프리터 제공 ˙ PHP의 대표 연산자 - @ : 오류 억제 연산자, 오류 메시지 무시 - < > : 값이 다름을 표현 - === : 값이 같고 타입도 같은지 확인 |
펄 (Perl) |
˙ 인터프리터 방식의 프로그래밍 언어 ˙ 실용성을 모토로 함 ˙ C, 쉘 스크립트 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입 ˙ 불특정한 데이터 길이의 제약 없이 강력한 문자열 처리 기능 제공 |
파이썬 (Python) |
˙ 인터프리터 방식이자 객체지향적이며 배우기 쉽고 이식성이 좋은 것이 특징 ˙ 다양한 플랫폼에서 사용 가능, 라이브러리가 풍부 ˙ 들여쓰기를 사용하여 블록을 구분하는 문법 채용 |
자바스크립트 (Javascript) |
˙ 객체 기반의 스크립트 프로그래밍 언어 ˙ 웹 브라우저 내에서 주로 사용, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능이 존재 ˙ 프로토타입의 개념이 존재 |
배시 (Bash) |
˙ sh와 대부분 호환, 리눅스에 기본 탑재. ˙ 제어문에는 조건을 위한 if, 반복을 위한 for, while이 있음 |
베이직 (Basic) |
˙ 교육용으로 개발된 언어 ˙ 다양한 종류의 베이직 언어가 존재하며 문법 차이가 큼 |
#. 선언형 언어
- 선언형 언어는 선언형 프로그래밍을 사용하여 해법을 정의하기보다는 문제를 설명하는 언어
- 선언형 언어는"무엇"을 할 것인지에 중점을 둔다.
#. 선언형 언어 유형
- 함수형 언어
- 논리형 언어
[3] 라이브러리 활용
#. 라이브러리 (Library)
- 라이브러리는 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체.
- 라이브러리는 모듈과 패키지를 총칭하며 모듈이 개별 파일이라면 피키지는 파일들을 모아 놓은 폴더라고 볼 수 있다.
#. 라이브러리 구성
구성 | 설명 |
도움말 | 라이브러리를 사용할 수 있도록 하는 도움말 문서 |
설치 파일 | 라이브러리를 적용하기 위해 제공되는 설치 파일 |
샘플 코드 | 라이브러리를 이해하고 손쉽게 적용하기 위해 제공되는 샘플 소스 코드 |
#. 라이브러리 종류
종류 | 설명 |
표준 라이브러리 | ˙ 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미 ˙ 각 프로그래밍 언어의 표준 라이브러리는 여러 종류의 모듈과 패키지를 가지며, 표준 라이브러리를 이용하면 별도의 파일 설치 없이 날짜와 시간 등의 기능을 이용할 수 있음 |
외부 라이브러리 | ˙ 표준 라이브러리와 달리 별도의 파일 설치 ˙ 외부 라이브러리는 누구나 개발하여 설치할 수 있으며, 인터넷 등을 이용하여 공유할 수도 있음 |
#. 표준 라이브러리
1) 입출력
- 핵심 입력과 출력 함수들을 정의
2) 문자열
- 문자열 처리 함수들을 정의
3) 시간 처리
- 데이터와 시간 처리 함수들을 정의
4) 수학
- 일반적인 수학 함수 정의
① 문자열 라이브러리 함수
- 문자열 함수를 사용하기 위해서는 string.h 헤더 파일을 include하여 사용한다.
함수 | 설명 |
strcat | 문자열끼리 연결하는 함수 strcat(dest, src); // src의 문자열을 dest 문자열 뒤에 붙임 |
strcpy | 문자열을 복사하는 함수 strcpy(dest, src); // src의 문자열을 dest 문자열에 복사 |
strcmp | 문자열을 비교하는 함수 strcmp(s1, s2); // s1 < s2 → -1, s1 == s2 → 0, s1 > s2 →1 |
strlen | 문자열의 길이를 알려주는 함수 strlen(s); |
② 표준 라이브러리 함수
- 표준 라이브러리 함수를 사용하기 위해서는 stdlib.h 헤더 파일을 include 하여 사용한다.
함수 | 설명 |
atoi | 문자열을 정수형으로 변환하는 함수 atoi(str); // 문자열을 정수형으로 변환 |
atof | 문자열을 실수형으로 변환하는 함수 atof(str); // 문자열을 실수형으로 변환 |
itoa | 정수형을 문자열로 변환하는 라이브러리 함수 itoa(value, str, radix); // value를 변환하여 str에 radix 진수로 저장 |
③ 수학 라이브러리 함수
수학 라이브러리 함수를 사용하기 위해서는 math.h 헤더 파일을 include하여 사용한다.
함수 | 설명 |
ceil | 소숫점 올림 함수 ceil(n); //소숫점 올림 |
floor | 소숫점 내림 함수 floor(n); // 소숫점 내림 |
#. 데이터 입출력
- 데이터 입출력은 프로그램으로 데이터가 입력 및 프로그램으로부터 데이터가 출력되도록 하기 위한 기법이다.
#. 데이터 입출력 구성
- 표준 입력
- 표준 출력
- 표준 오류
#. 예외 처리
- 예외 처리는 오류가 발생 시 오류를 그대로 실행시키지 않고 오류에 대응하는 방법으로 처리하는 프로그래밍 기법이다.
#. 예외처리 구성
구성 | 설명 |
throw | ˙ 프로그램이 정상적으로 실행될 수 있는 상황일 때 예외를 던짐 ˙ 강제로 예외를 발생시키는 경우레 사용하는 명령 |
try | ˙ 예외가 발생할만한 코드 블록을 지정 ˙ try{ }괄호 안에 예외 처리 대상 코드를 작성 ˙ 블록 안에서 예외가 발생했을 때 throw 명령으로 예외를 던짐 |
catch | ˙ if-else문처럼 try-catch문으로 한 쌍으로 쓰임 ˙ try안에서 throw한 예외 객체에 대한 예외 처리 ˙ catch 블록을 예외 핸들러라고 부름 |
#. 예외처리 사용 예시
try{
if(예외조건)
throw 예외객체;
}
catch (타입 예외객체){
예외처리;
}
#. 프로토타입
- 프로토타입은 속성과 메서드를 다른 클래스의 인스턴스 혹은 빈 객체에 추가하는 작업을 덜 수 있는 프로그래밍 스타일이다.
- 객체지향 프로그래밍과 달리 클래스를 명확히 정의하지 않아도 된다.
#. 프로토타입 구성
- 복제
- 객체 생성
- 마스터 객체
'정보처리기사 > [4] 프로그래밍 언어 활용' 카테고리의 다른 글
Chapter 3. 응용 SW 기초 기술 활용 - (2) (0) | 2022.03.25 |
---|---|
Chapter 3. 응용 SW 기초 기술 활용 - (1) (0) | 2022.03.25 |
Chapter 1. 서버프로그램 구현 (0) | 2022.03.22 |