관리 메뉴

SW

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (1) 본문

대학교/자격증

[2020 정보처리기사 필기] 프로그래밍 언어 활용 (1)

SWKo 2020. 8. 11. 23:42

126. 데이터 타입

1. 데이터 타입

- 데이터 타입은 변수에 저장될 데이터의 형식을 나타내는 것으로, 변수에 값을 저장하기 전에 문자형, 정수형, 실수형 등 어떤 형식의 값을 저장할지 데이터 타입을 지정하여 변수를 선언해야 한다.

- Int, Float, Char, String, Boolean, Array

- Array형은 사용할 값중괄호 안에 입력한다. {1,2,3,4,5}

 

2. C/C++의 데이터 타입 크기 및 기억 범위

- char : 1Byte, -128 ~ 127

- unsigned char : 1Byte, 0 ~ 255

- short : 2Byte, -32,768 ~ 32,767

- int : 4Byte, -2,147,483,648 ~ 2,147,483,647

- long : 4Byte, -2,147,483,648 ~ 2,147,483,647

- long long : 8Byte, 매우큼

- unsigned short : 2Byte, 0~65,535

- unsigned int : 4Byte

- unsigned long : 4Byte

- float : 4Byte

- double : 8Byte

- long double : 8Byte

 

3. JAVA의 데이터 타입 크기

- char : 2Byte

- byte : 1Byte

- short : 2Byte

- int : 4Byte

- long : 8Byte

- float : 4Byte

- double : 8Byte

- boolean : 1Byte

 

핵심

- 데이터 타입 크기


127. 변수

1. 변수의 개요

- 변수는 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값을 의미한다.

- 변수는 저장하는 값에 따라 정수형, 실수형, 문자형, 포인터형 등으로 구분한다.

 

2. 변수명 작성 규칙

- 영문자, 숫자, _ 를 사용할 수 있다.

- 첫 글자는 영문자나 _로 시작해야 하며, 숫자는 올 수 없다.

- 글자 수에 제한이 없다.

- 공백이나 *, +, -, / 등의 특수문자 사용 불가

- 대소문자 구분

- 예약어를 변수명으로 사용할 수 없다.

- 변수 선언 시 문장 끝에 반드시 세미콜론(;)을 붙여야 한다.

 

 3. 기억 클래스

- 변수 선언 시 메모리 내에 변수의 값을 저장하기 위한 기억영역이 할당되는데, 할당되는 기억영역에 따라 사용 범위에 제한이 있다. 이러한 기억영역을 결정하는 작업기억 클래스(Storage Class)라고 한다.

- C언어에서는 자동변수, 레지스터 변수, 정적 변수(내부), 정적 변수(외부), 외부 변수

- 자동변수

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

     - 초기화하지 않으면 쓰레기값이 저장된다.

- 외부변수

     - 현재 파일이나 다른 파일에서 선언된 변수나 함수를 참조하기 위한 변수, 함수 밖에서 선언, 함수가 종료되어도 값이 소멸되지 않음

     - 초기화하지 않으면 0으로 초기화, 다른 파일에서 선언된 변수를 참조할 경우 초기화할 수 없다.

- 정적 변수

     - 함수나 블록 내에서 선언하는 내부 정적 변수와 함수 외부에서 선언하는 외부 정적 변수가 있다.

     - 내부 정적 변수는 선언한 함수나 블록 내에서만 사용할 수 있고, 외부 정적 변수는 모든 함수에서 사용할 수 있다.

     - 두 변수 모두 함수나 블록이 종료되어도 값이 소멸되지 않는다

     - 초기화는 변수 선언 시 한 번만 할 수 있으며, 초기화를 생략하면 자동으로 0으로 초기화 된다.

- 레지스터 변수

     - 레지스터 변수는 메모리가 아닌 CPU 내부의 레지스터에 기억영역을 할당받는 변수이다.

     - 함수나 블록이 실행되는 동안에만 존재하며 벗어나면 자동 소멸

     - 레지스터의 사용 개수는 한정되어 있어 꽉 차면 자동 변수로 취급되어 메모리에 할당된다.

     - CPU에 저장되어 메모리 주소를 가질 수 없기 때문에 변수의 주소를 구하는 주소 연산자(&)를 사용할 수 없다.

 

4. 변수의 선언

- 자료형 변수명 = 값;

 

핵심

- C언어에서 사용하는 기억 클래스 : auto, extern, register, static


128. 연산자

1. 산술 연산자

- 산술연산자에는 +, -, *, /, %, ++, -- 가 있다.

 

2. 관계 연산자

- 관계연산자에는 ==, !=, >, >=, <, <= 가 있다.

 

3. 비트 연산자

- 비트 연산자에는 &(and), ^(xor), |(or), ~(not), <<(왼쪽 시프트), >>(오른쪽 시프트)

 

4. 논리 연산자

- 논리 연산자에는 !(not), &&(and), ||(or) 가 있다.

 

5. 대입 연산자

- 대입 연산자에는 +=, -=, *=, /=, %=, <<=, >>= 가 있다.

 

6. 조건 연산자

- 조건 ? 수식1 : 수식2;

 

7. 기타 연산자

- sizeof, ,(콤마), (자료형)

 

8. 연산자 우선순위

- 위가 높고 아래가 낮다.

- 단항 연산자(!, ~, ++, --, sizeof)

- 산술 연산자(*, /, %)

- 산술 연산자(+, -)

- 시프트 연산자(<<, >>)

- 관계 연산자(<. <=, >, >=)

- 관계 연산자(==, !=)

- 비트 연산자(&, ^, |)

- 논리 연산자(&&, ||)

- 조건 연산자(?:)

- 대입 연산자(=, +=, -=, *=, /=, %=, <<=, >>=)

- 순서 연산자(,)

 

핵심

- 우선순위 : ++, *, <<, <, ==, &, &&, ?:, =

- 연산자 중에서 오른쪽에서 왼쪽으로의 결합 규칙을 따르는 것은 단항 연산자와 대입 연산자이다.

- 어떤 자료형을 다른 자료형으로 바꿀 때는 캐스트 연산자 사용


129. 제어문

1. 제어문

- if문, 다중 if문, switch문, goto, 반복문 등

 

2. 단순 if문

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

 

3. 다중 if문

- 다중 if문은 조건이 여러 개일 때 사용하는 제어문이다.

 

4. switch문

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

- case문의 레이블에는 변수를 지정할 수 없고 한 개의 상수만 지정할 수 있다.

 

5. goto문

- goto문은 프로그램 실행 중 현재 위치에서 원하는 다른 문장으로 건너뛰어 수행을 계속하기 위해 사용하는 제어문이다.

 

핵심

- 제어문 종류

- case 레이블

- %x는 16진수로 출력하는 서식 지정자


130. 반복문

1. 반복문

- for, while, do~while

 

2. for문

- for문은 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문이다.

- for(;;)와 같이 조건에 참여하는 수식을 모두 생략하면 for문은 무한 반복한다.

 

3. while문

- while문은 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문이다.

 

4. do~while문

- do~while문은 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어나는 while문과 같은 동작을 하는데, 다른 점은 do~while문은 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다는 것이다.

 

5. break, continue

- switch문이나 반복문의 실행을 제어하기 위해 사용되는 예약어이다.

- break : switch문이나 반복문 안에서 break가 나오면 블록을 벗어난다.

- continue : continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮긴다. 반복문에서만 사용된다.

 

핵심

- for, while, do~while

- do~while은 실행할 문장을 무조건 한 번 실행

Comments