* 변수
1) 변수의 개념
- 변수는 어떤 값을 저장하기 위한 이름을 가진 공간
- 변수는 데이터 타입에 따른 공간을 할당하는 선언과 값을 세팅하는 할당을 통해 사용
int a; // 선언
a = 30; // 할당
2) 변수 명명 규칙
- 컴파일러 또는 인터프리터의 코드 해석을 위해 모든 문자, 숫자를 변수로 사용할 수는 없음
첫 자리에 숫자 사용X, 변수 이름 중간 공백 안됨, 이미 사용되고 있는 예약어는 사용 X
- 일반적인 변수 명명방법
프로그램 가독성 향상과 유지보수성 증가를 위해서 표준화 팀에서 변수 명명 규칙을 제시함
- 변수명명법
파스칼 케이싱 : 클래스, 열거형, 이벤트, 메서드 등의 이름을 만들 때 대문자로 시작하는 변수명 사용
복합어일 경우 중간에 시작하는 새로운 단어는 대문자로 함
카멜 케이싱 : 첫번째 문자는 소문자로 시작하고 복합어일 경우 파스칼 케이싱과 동일하게 적용
GNU naming convention (snake) : 모두 소문자를 사용하고 복합어 사이에 _를 사용하여 연결
헝가리안 표기법 : 첫글자 g는 전역변수, m은 멤버 변수를 의미
n과 i는 자연수, i는 주로 인덱스로 사용, n은 주로 카운트에 사용
GNU naming convetion : 거의 모든 명명법에서 상수를 표기하는 방법은 거의 동일
모든 문자를 대문자로 사용하는 형태의 gnu naming convention 사용
* 연산자
연산자는 프로그램 실행을 위해 연산을 표현하는 도구
산술연산자, 시프트연산자 관계연산자, 논리연산자가 있음
1) 산술연산자
+, -, *, /,%
2) 시프트연산자 : 대상을 비트로 변환하여 비트를 이동시키는 연산자
<< : 왼쪽 값을 오른쪽 값만큼 비트 이동
1010<<2 = 1000
>> : 왼쪽 값에 오른쪽 값만큼 부호 비트를 채우면서 오른쪽으로 시프트
1010>>2 = 1110
>>> : 왼쪽 값에 오른쪽 값만큼 0으로 비트를 채우면서 오른쪽으로 시프트 시킨다
1010>>>2 = 0010
3) 관계연산자 : 두 피 연산자의 크기 및 동일 여부를 비교하여 불린 값을 반환하는 연산자
>,<.>=,<=,==,!=
4) 논리연산자 : 논리 게이트처럼 두 피연산자에 대해 and or not 연산
&&, ||, !
5) 비트연산자 : 두 값을 비트로 변환하여 and or xor not 연산 수행
&,|,^,~
6) 증감연산자 : 피연산자가 하나인 단항 연산자, 1씩 증가 감소
(전위)++n, --n, (후위)n++, n--
7) 복합대입연산자
동일한 변수명이 대입 연산자의 좌우에 나타날 때 =과 같이 단순히 피 연산자에 값을 대입하는 연산자
a+=b (a= a+b)
8) 삼항연산자 : 조건식의 결과에 따라 대입의 결과가 달라지는 경우 사용하는 연산자
(조건식)? "true일 때 반환값" : "false일 때 반환값"
9) 연산자 우선순위 :
괄호 -> 부정 증감산술연산자 -> 곱셈 나눗셈 -> 덧셈 뺄셈 -> 시프트 -> 관계연산자 -> 논리연산자 -> 삼항 연산자 -> 대입연산자
* 사용자 정의 자료형
기존에 존재하는 자료형에 새로운 이름을 부여하거나 여러 자료형을 묶어 새로운 자료형으로 사용하는 것
c언어에서는 typedef를 통한 별칭이나 구조체, 객체 지향 언어에서는 주로 클래스
1) c 언어
긴 자료형을 짧게 축약하거나 구조체를 만들 때 typedef라는 키워드를 이용해서 사용자 정의 자료형을 선언
- 기존의 자료형에 새로운 이름 부여
typedef <자료형> <선언명>
typedef <int> INT
INT a = 0;
- 구조체
여러 데이터 타입을 하나의 타입으로 묶은 자료형
struct node {
int data;
node* next;
}
2) 객체지향 : 클래스
class Node {
int data;
Node* next;
}
class linkedlist {
Node* head;
Node* tail;
int size;
public:
linkedlist() : head(nullptr), tail(nullptr), size(0) {};
~linkedlist();
insert(int data);
delete(int data);
search(int data);
}
'정보처리기사 실기 > 02. 응용SW엔지니어링' 카테고리의 다른 글
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용하기 - 2 (0) | 2020.03.25 |
---|---|
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용하기 - 1 (0) | 2020.03.25 |
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 데이터 타입 (0) | 2020.03.20 |
[2020 정보처리기사 실기 - 애플리케이션 테스트 관리] 3. 애플리케이션 성능 개선하기 (0) | 2020.03.11 |
[2020 정보처리기사 실기 - 애플리케이션 테스트 관리] 2. 애플리케이션 통합 테스트하기 (0) | 2020.03.10 |