반응형

 

프로그래밍 언어 활용 - 3

 

필수암기 363선



221. 2차원 배열

● 변수들을 평면, 즉 행과 열로 조합한 배열이다.

예) int b [2][3] = {{11, 22, 33}, {44, 55, 66}};

- 2개의 행과 3개의 열을 갖는 정수형 배열 b를 선언한다.

배열 b a[0][0] a[0][1] a[0][2]
11 22 33
44 55 66
a[1][0] a[1][1] a[1][2]

 

222. 포인터와 포인터 변수

포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙인다. (예 : int *a;)

포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙인다. (예: a = &b;)

실행문에서 포인터 변수에 간접 연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말한다. (예 : c = *a;)

 

예제) 다음 C언어로 구현된 프로그램의 출력 결과를 확인하시오.

main()
{
    int a = 50;
    int *b;
    b = &a;
    *b = *b + 20;
    printf("%d, %d", a, *b);
}

1) 정수형 변수 a를 선언하고 50으로 초기화한다.

2) 정수형 변수가 저장된 곳의 주소를 기억할 포인터 변수 b를 선언한다.

3) 정수형 변수 a의 주소를 포인터 변수 b에 기억시킨다. b에는 a의 주소가 저장된다.

4) b가 가리키는 곳의 값에 20을 더한다. b가 가리키는 곳이 a이므로 결국 a의 값도 바뀌는 것이다.

5) 결과 : 70, 70

 

 

223. 배열 형태의 문자열 변수

C언어에서는 큰따옴표(" ")로 묶인 글자는 글자 수에 관계없이 문자열로 처리된다.

배열에 문자열을 저장하면 문자열의 끝을 알리기 위한 널 문자('\0')가 문자열 끝에 자동으로 삽입된다.

예) char a [5] = "love";

- 5개의 요소를 갖는 문자형 배열 a를 선언하고, "love"로 초기화한다.

배열 a l o v e \0
a[0] a[1] a[2] a[3] a[4]

 

 

224. 포인터와 배열

 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근할 수 있다.

배열 위치를 나타내는 첨자를 생략하고 배열의 대표명만 지정하면 배열의 첫 번째 요소의 주소를 지정하는 것과 같다.

배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 & 연산자를 사용한다.

 

1) int a[5], *b
2) b = a;
3) b = &a[0];

1) 5개의 요소를 갖는 정수형 배열 a와 정수형 포인터 변수 b를 선언한다.

2) 배열의 대표명을 적었으므로 a 배열의 시작 주소인 a [0]의 주소를 b에 저장한다.

3) a 배열의 첫 번째 요소인 a [0]의 주소(&)를 b에 저장한다.

 

배열 a a[0] a[1] a[2] a[3] a[4]
첫 번째 두 번째 세 번째 네 번째 다섯 번째
*(a + 0) *(a + 1) *(a + 2) *(a + 3) *(a + 4)

 

 

225. Python의 input() 함수

 Python의 표준 입력 함수로, 키보드로 입력받아 변수에 저장하는 함수이다.

입력되는 값은 문자열로 취급되어 저장된다.

예) a = input('입력하세요.')

- 입력하세요. 가 출력되고 커서가 깜빡거리면서 입력을 기다린다.

- 키보드로 값을 입력하면 변수 a에 저장된다.

 

226. Python의 print() 함수

 인수로 주어진 값을 화면에 출력하는 함수이다.

예) print() 82, 24, sep = '-', end = '.')

- 82와 24 사이에 분리문자 '-'가 출력되고, 마지막 종료문자 '.'가 출력된다.

결과 : 82-24.

 

227. 입력 값의 형변환

input() 함수는 입력되는 값을 무조건 문자열로 저장하므로 숫자로 사용하기 위해서는 형을 변환해야 합니다.

변환할 데이터가 1개일 때

예) a = int(input())

- input()으로 입력받은 값을 정수로 변환하여 변수 a에 저장한다.

 변환할 데이터가 2개 이상일 때

예) a, b = map(int, input(). split())

- input(). split()으로 입력받은 2개의 값을 정수로 변환하여 변수 a, b에 저장한다.

 

 

228. 리스트(List)

리스트는 필요에 따라 개수를 늘리거나 줄일 수 있기 때문에 리스트를 선언할 때 크기를 적지 않는다.

배열과 달리 하나의 리스트에 정수, 실수, 문자열 등 다양한 자료형을 섞어서 저장할 수 있다.

Python에서 리스트의 위치는 0부터 시작한다.

 

229. 딕셔너리(Dictionary)

연관된 값을 묶어서 저장하는 용도로 딕셔너리를 사용한다.

리스트가 저장된 요소에 접근하기 위한 키로 위치값인 0, 1, 2 등의 숫자를 사용했다면, 딕셔너리에서는 사용자가 원하는 키를 직접 지정한 후 사용한다.

딕셔너리에 접근할 때는 딕셔너리 뒤에 대괄호([ ])를 사용하며, 대괄호([ ]) 안에 키를 지정한다.

 

 

229. 슬라이스(Slice)

문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라 (slicing) 반환하는 기능이다.

반응형
반응형

 

프로그래밍 언어 활용 - 2

 

필수암기 363선



211. 주요 서식 문자열

● % d : 정수형 10진수를 입·출력하기 위해 지정함

● % s : 문자열을 입·출력하기 위해 지정함

● % c : 문자를 입·출력하기 위해 지정함

 

212. Printf() 함수

● C언어의 표준 출력 함수로, 인수로 주어진 값을 화면에 출력하는 함수이다.

예) Printf("% d, % c, a, b);

- a의 값을 정수로 출력하고 쉼표(,)와 공백 한 칸을 띄운 후, b의 값을 문자로 출력한다.

 

213. JAVA의 출력 함수

Printf()

예) System.out.printf("% d", r);

- r의 값을 10진수 정수로 출력한다.

 

 Print()

예) System.out.print(r + s);

- r과 s를 더한 값을 출력한다.

 

 Println()

예) System.out.println(r + "은(는) 소수");

- r의 값과 은(는) 소수를 출력한 후, 커서를 다음 줄의 처음으로 옮긴다.

 

214. 단순 if문

 조건이 한 개일 때 사용하는 제어문이다.

 

조건이 참일 때만 실행하는 경우

if (a > b)
    print("Gilbut");

- a가 b보다 크면 Gilbut을 출력하고, 아니면 if문을 벗어난다.

 

 조건이 참일 때와 거짓일 때 실행할 문장이 다른 경우

if (a > b)
    print("참");
else
    print("거짓");

- a가 b보다 크면 "참"을 출력하고, 아니면 "거짓"을 출력한다.

 

215. 다중 if문

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

if (score >= 90)
    print("우수");
else if (score < 40)
    print("불량");
else
    print("일반");

- score의 값이 90 이상이면 우수를 출력한다.

- score의 값이 40 미만이면 불량을 출력한다.

- score의 값이 90 이상도, 40 미만도 아니면 일반을 출력한다.

 

216. switch문

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

Break문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 Break문 또는 swich문이 종료될 때까지 모든 문장이 실행된다.

switch (a) {
case 1 :
    print("바나나");
    break;
case 2 :
    print("딸기");
    break;
default:
    print("없음");
}

- a가 1이면 바나나를 출력하고 switch문을 탈출한다.

- a가 2이면 딸기를 출력하고 switch문을 탈출한다.

- a가 1이나 2가 아니면 없음을 출력하고 switch문을 탈출한다.

 

217. for문

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

for (i = 1; i <= 10; i++)
    sum = sum + i;

- 반복 변수 i가 1부터 1씩 증가하면서 10보다 작거나 같은 동안 sum에 i의 값을 누적시킨다.

 

218. while문

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

while문은 조건이 처음부터 거짓이면 한 번도 수행하지 않는다.

while (i <= 10)
    i = i + 1;

- i가 10보다 작거나 같은 동안 i의 값을 1씩 누적시킨다.

 

 

219. do~while문

 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어난다.

 실행할 문장을 무조건 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다.

do
     i = i + 1;
while (i <= 10);

- i가 10보다 작거나 같은 동안 i의 값을 1씩 누적시킨다.

 

220. 1차원 배열

 변수들을 일직선상의 개념으로 조합한 배열이다.

예) char a [3] = {'A', 'B', 'C'};

- 3개의 요소를 갖는 문자형 배열 a를 선언한다.

A B C
a[0] a[1] a[2]

 

반응형
반응형

 

프로그래밍 언어 활용 - 1

 

필수암기 363선



200. 배치 프로그램의 필수 요소

대용량 데이터 : 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리가 가능해야 함

 자동화 : 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행되어야 함

 견고성 : 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 함

 안정성/신뢰성 : 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 함

 성능 : 다른 응용 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료되어야 함

 

201. C / JAVA의 자료형

종류 C JAVA
문자 char(1Byte) char(1Byte)
정수 int(4Byte) int(4Byte)
long(8Byte) long(8Byte)
논리   boolean(1Byte)



 

202. Python의 시퀀스 자료형의 종류

● 리스트(LIST) : 다양한 자료형의 값을 연속적으로 저장하며, 필요에 따라 개수를 늘리거나 줄일 수 있음

● 튜플(Tuple) : 리스트처럼 요소를 연속적으로 저장하지만, 요소의 추가, 삭제, 변경은 불가능함

● Range : 연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용됨

 

203. C언어의 구조체

자료의 종류가 다른 변수의 모임이다.

예약어 Struct를 이용해 정의한다.

 

204. 변수명 작성 규칙

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

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

글자 수에 제한이 없으나 너무 길지 않게 한다.

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

 대·소문자를 구분한다.

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

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

 

205. 가비지 콜렉터(Garbage Collector)

 선언만 하고 사용하지 않는 변수들이 점유한 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있도록 하는 것이다.

 

206. 산술 연산자

연산자 의미 비고
% 나머지 *정수만 연산할 수 있으며, 실수를 사용하면 오류가 발생함
++ 증가 *전치 : 변수 앞에 증감 연산자가 오는 형태로 먼저 변수의 값을 증감시킨 후 변수를 연산에 사용함(++a, --a)

*후치 : 변수 뒤에 증감 연산자가 오는 형태로 먼저 변수를 연산에 사용한 후 변수의 값을 증감시킴(a++, a--)
-- 감소

 

 

207. 비트 연산자

 & (and) : 모든 비트가 1일 때만 1 

 ^ (xor) : 모든 비트가 같으면 0, 하나라도 다르면 1

 | (or) : 모든 비트 중 한 비트라도 1이면 1

 ~ (not) : 각 비트의 부정, 0이면 1, 1이면 0

 << (왼쪽 시프트) : 비트를 왼쪽으로 이동

 >> (오른쪽 시프트) : 비트를 오른쪽으로 이동

 

208. 논리 연산자

●! (not) : 부정

 && (and) : 모두 참이면 참

 || (or) : 하나라도 참이면 참

 

 

209. 연산자 우선순위

대분류 중분류 연산자 결합규칙 우선순위
단항 연산자 단항 연산자 ! ~ ++ -- sized < 높음
산술 연산자 * / % >  
+ -  
시프트 연산자 << >>  
관계 연산자 < <= >= >  
== !=  
비트 연산자 & ^ |  
논리 연산자 && ||  
삼항 연산자 조건 연산자 ? :  
대입 연산자 대입 연산자 = += -= *= /= %= <<= >>= 등 <  
순서 연산자 순서 연산자 . > 낮음

 

 

210. 조건 연산자

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

예) mx = a < b? b : a;

- a가 b보다 작으면 mx에 b를 저장하고 그렇지 않으면 mx에 a를 저장한다.

반응형

+ Recent posts