기본문법

2022. 6. 8. 16:34정처기(필기)/프로그래밍언어활용

더보기

(1) 데이터 타입

1. 데이터 타입의 개념

- 프로그래밍 언어에서 실수형, 정수형과 같은 여러 종류의 데이터를 식별하는 형태

 

 

2. 데이터 타입의 유형

  • 불린 타입 : 조건이 참인지 거짓인지 판단
  • 문자 타입 : 문자 하나를 저장할 때 사용
  • 문자열 타입 : 나열된 여러 개의 문자를 저장할 때 사용
  • 정수 타입 : 정수값을 저장할 때 사용
  • 부동 소수점 타임 : 소수점을 포함하는 실수값을 저장할 때 사용

 

더보기

(2) 변수

1. 변수란

- 저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억장치에 기억하기 위한 공간

 

2. 변수 설정 규칙

  1. 영문, 대문자, 소문자, 숫자, 밑줄, 달러 사용 가능
  2. 첫 자리에는 숫자를 사용할 수 없고, 변수 이름의 중간에는 공백을 사용할 수 없음
  3. 데이터값의 의미나 역할을 표현하기 때문에 이미 사용되고 있는 예약어는 변수로 사용할 수 없음

 

더보기

(3) 배열 및 포인터

1. 배열의 개념

 - 배열은 같은 타입의 변수들로 이루어진 집합

- 여러 자료를 묶어서 하나의 단위로 처리할 수 있게 하는 구조적 자료형

 

 

2. 배열 선언

- 초깃값이 없는 경우 -> 타입 배열명[배열_요소_개수];

- 초깃값이 있는 경우 -> 타입 배열명[배열_요소_개수] = [초깃값];

 

▼C언어 배열 선언 및 출력 예제

#include <stdio.h>
void main() {
	int a[4] = {1, 2};
    int i;
    for(i = 0; i < 4; i++) {
    	printf("%d\n", a[i]);
    }
}

설명 : a 배열의 요소 개수는 4개지만, 초기값은 1, 2로 두 개만 명시되어 있으므로 나머지 2개의 공간은 0으로 초기화, 0번째 요소부터 3번째 요소의 값을 출력

 

 

3. 포인터의 개념

- 포인터는 변수의 주소값을 저장하는 공간이다. 

 

① 포인터 선언

데이터_타입* 포인터_변수명 = &변수명;

- 데이터 타입 뒤에 *를 붙이면 주소를 저장하는 포인터 변수, 일반 변수명에 &를 붙이면 해당 변수명의 주솟값

 

 

 

더보기

(4) 연산자

1. 연산자 개념

- 연산자는 프로그램 실행을 위해 연산을 표현하는 기호

 

2. 연산자 종류

  • 증감 연산자
  • 산술 연산자
  • 시프트 연산자 
  • 관계 연산자
  • 비트 연산자(&, |, ^, ~)
  • 논리 연산자(&&, ||, !)
  • 삼항 연산자((조건식) ? a : b)
  • 대입 연산자

 

3. 연산자 우선순위

증산시 관비 논삼대

-> 증감 연산자/산술 연산자/시프트 연산자/관계 연산자/ 비트 연산자/ 논리 연산자/삼항 연산자/대입 연산자

 

더보기

(5) 명령문

1. 명령문 개념

- 명령문은 프로그램을 구성하는 문장으로, 지시사항을 처리하는 단위

 

2. 조건문의 개념

- 조건문은 조건의 참, 거짓 여부에 따라 실행 경로를 달리하는 if 문과 여러 경로 중의 하나를 선택하는 switch 문으로 구분한다.

 

[1] if 문

조건이 참인지 거짓인지에 따라 경로를 선택하는 명령문

 

▼ if문 사용 예제

class ifEx1{
	public static void main(String[] args) {
    	int score = 5;
        
        if(score %2 = 0) {
        System.out.print("짝수");
        }
        else {
        System.out.print("홀수");
        }    
    }
}

 

[2] switch문

- 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 명령어

 

class SwitchEx1 {
	public static void main(String[] args) {
    	int score = 5;
        
        switch(score % 2) {
        case 0 :
        	System.out.println("짝수");
        	break;
        default :
        	System.out.print("홀수");
            
        }
    }
}

 

[3] 반복문

- 특정 부분을 조건이 만족할 때까지 실행하도록 하는 명령문

 

- C, Java에서의 for 문

for(초기식; 조건식; 증감식) {

명령문;

}

 

- Python에서의 for 문

for 변수 in range(시작값, 끝값 +1) : 

명령문 

-> 변수는 시작값부터 끝값까지 1씩 증가함

 

for 변수 in range(반복횟수) : 

명령문 

-> range에 정의한 경우 0부터 반복횟수-1까지 변수가 1씩 증가

 

▼python for문 사용예제

i = 0
sum = 0
for i in range(1, 11) :
	sum = sum + i
    
print(sum)

 

while문

- 조건이 참인 동안에 해당 분기를 반복해서 실행하는 명령문이다. 

while(조건문) {명령문;}

 

do-while문

- 참, 거짓과 관련 없이 무조건 한 번은 실행하고, 그다음부터는 조건이 참인 동안에 해당 분기를 반복해서 실행하는 명령문

do {

명령문;

}while(조건문);

 

 

- 루프제어 명령어

 

▼break문 사용 예시

#include <stdio.h>
void main() {
	int i = 0;
    while(i < 10) {
    i++;
    if(i == 7)
    	break;
    printf("%d", i);
    }
}

 

▼continue문 사용 예시

#include <stdio.h>
void main() {
	int i = 0;
    while(i < 10) {
    i++;
    if(i == 7) 
    	continue;
    printf("%d", i);
  }
}

 

더보기

(6) 사용자 정의 함수

1. 사용자 정의 함수 개념

- 특별한 목적의 작업을 수행하도록 설계된 블록

 

2. C, 자바에서 사용하는 사용자 정의 함수

반환_데이터_타입 함수명(데이터_타입 변수명, ....) {

명령어;

return 반환값;

}

 

3. 파이썬에서 사용하는 사용자 정의 함수

def 함수명(변수명, ...);

명령어

return 반환값

 

더보기

(7) 클래스

1. 클래스 개념

- 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 틀이다. 

 

2. 클래스 정의

- 클래스는 변수와 메소드 형태로 구성되어 있다.

- 클래스에서 변수는 변수 선언과 동일하고, 메소드는 사용자 정의 함수와 문법이 동일하다.

- 파이썬은 별도로 변수 선언을 하지 않기 때문에 메소드 형태로 구성되어 있다.

 

▼ 클래스 정의

[1] 자바 클래스

public class 클래스명 {
	private 변수_타입 변수명;
    public 반환_데이터_타입 메소드명(데이터_타입 변수명, ...) {
    	명령어;
        return 반환값;
    }
}

 

[2] 파이썬 클래스

class 클래스명;
	def 메소드명(self, 변수명, ...);
    명령어
    return 반환값

-> 파이썬은 함수명에 입력받은 값 앞에 self라는 키워드를 적어야 한다. 

 

[3] 자신 클래스 참조

this 포인터 : this 포인터는 현재 객체를 가리키는 포인터, 자바에서 사용하는 것으로 클래스 내부의 변수와 함수를 가리킬 수 있음

self :  self는 현재 객체를 가리키는 포인터, 파이썬에서 사용하는 것으로 클래스 내부의 변수와 함수를 가리킬 수 있음

 

 

[4] 클래스 선언

- 클래스를 일반변수로 선언한 경우 선언함과 동시에 생성자가 호출되고, 일반 변수로 선언한 곳에서 함수가 종료되면 소멸자가 호출된다. 

- 자바에서 클래스를 포인터 변수로 선언한 경우 new 키워드를 이용해 선언함과 동시에 생성자가 호출되고, finalize 키워드를 호출하면 소멸자가 호출된다.

- 파이썬에서는 del키워드를 호출하면 소멸자가 호출된다.

 

▼자바클래스 선언

클래스 클래스변수 = new 클래스(매개변수);

클래스변수.finalize();

 

▼파이썬 클래스 선언

클래스변수 = 클래스(매개변수) //생성시

del 클래스변수 //소멸시