일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 게시글 목록 api
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch12
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch6
- @Aspect
- 코드로 시작하는 자바 첫걸음
- 스프링 db1 - 스프링과 문제 해결
- 2024 정보처리기사 수제비 실기
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch11
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch2
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch3
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch4
- 스프링 고급 - 스프링 aop
- 스프링 입문(무료)
- 자바의 정석 기초편 ch1
- 스프링 mvc2 - 타임리프
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch14
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch7
- jpa 활용2 - api 개발 고급
- Today
- Total
나구리의 개발공부기록
2장 - 프로그래밍 언어 활용 핵심 요약 본문
2장 - 프로그래밍 언어 활용 핵심 요약
소소한나구리 2024. 5. 10. 16:102024년도 시나공 필기 책 내용 정리
섹션4. 데이터 타입
1. C/JAVA의 자료형
종류 | C | JAVA |
문자 | char(1Byte) | char(2Byte) |
정수 | int(4Byte) | int(4Byte) |
long(4Byte) / 운영체제에따라 다름 | long(8Byte) | |
논리 | bool(1Byte) | boolean(1Byte) |
2. Python의 시퀀스 자료형의 종류
- 리스트(List) : 다양한 자료형의 값을 연속적으로 저장하며, 필요에 따라 개수를 늘리거나 줄일 수 있음
- 튜플(Tuple) : 리스트처럼 요소를 연속적으로 저장하지만, 요소의 추가, 삭제, 변경은 불가
- range : 연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용됨
섹션5. 변수
1. 변수명 작성 규칙
- 영문자, 숫자, _ 를 사용할 수 있음
- 첫 글자는 영문자나 _로 시작해야하며 숫자는 불가능
- 글자수에 제한이 없음
- 공백이나 *, +, -, / 등의 특수문자를 사용할 수 없음
- 대/소문자를 구분함
- 예약어를 변수명으로 사용 불가
변수 선언시 문장 끝에 반드시 세미콜론(;)을 붙여야 함 - C,Java
섹션6. 연산자
1. 산술 연산자
연산자 | 의미 | 비고 |
% | 나머지 | 정수만 연산할 수 있으며 실수를 사용하면 오류가 발생함 |
++ | 증가 | 전치 : 변수 앞에 증감 연산자가 오는 형태, 먼저 변수의 값을 증/감 시킨 후 변수를 연산에 사용 (++a, --a) 후치 : 변수 뒤에 증감 연산자가 오는 형태, 변수를 연산에 사용한 후 변수의 값을 증감 시킴 (a++, a--) |
-- | 감소 |
2. 비트 연산자 (비교하는 2진수의 각 자리를 비교)
- & (and) : 모든 비트가 1일 때만 1
- ^ (xor) : 모든 비트가 같으면 0, 하나라도 다르면 1
- | (or) : 모든 비트 중 한 비트라도 1이면 1
- ~ (not) : 각 비트의 부정, 0이면1, 1이면0 (네거티브)
- << (왼쪽시프트) : 비트를 왼쪽으로 이동, 2ⁿ을 곱한 것과 같음
- >> (오른쪽시프트) : 비트를 오른쪽으로 이동, 2ⁿ으로 나눈 것과 같음
3. 논리 연산자
- ! (not) : 부정
- && (and) : 모두 참이면 참
- || (or) : 하나라도 참이면 참
4. 조건 연산자 (3항연산자)
- 조건에 따라 서로 다른 수식을 수행
- mx = a < b ? b : a // a 가 b보다 작으면 true, b를 반환함, a가 b보다 작지 않으면 false, a를 반환
5. 연산자 우선 순위
대분류 | 중분류 | 연산자 | 결합규칙 | 우선순위 |
단항 연산자 | 단항 연산자 | !, ~, ++ , -- , sizeof | ← | 높음 낮 |
이항 연산자 | 산술 연산자 | *, /, % | → | |
+, - | ||||
시프트 연산자 | <<, >> | |||
관계 연산자 | <, >, <=, >= | |||
==, != | ||||
비트 연산자 | & → ^ → | | |||
논리 연산자 | && → || | |||
삼항 연산자 | 조건 연산자 | ?, : | ||
대입 연산자 | 대입 연산자 | =, +=, -=, *=, /=, %=, <<=, >>= 등 | ← | |
순서 연산자 | 순서 연산자 | , | → |
섹션7. 데이터 입/출력
1. 주요 서식 문자열
- %d : 정수형 10진수를 입/출력하기 위해 지정
- %s : 문자열을 입/출력하기 위해 지정
- %c : 문자를 입/출력하기 위해 지정
2. scanf()
- C언어의 표준 입력함수로 키보드로 입력받아 변수에 저장하는 함수
- scanf("%3d", &a); // 10진수 정수 3자리를 입력받아 변수 a에 저장, 변수에는 &로 주소연산자를 지정해야 함
3. printf()
- C언어의 표준 출력함수, 인수로 주어진 값을 화면에 출력하는 함수
- printf("%d, %c", a, b); // a의 값을 정수로 출력하고 쉼표와 공백을 한칸 띄고 b의 값을 문자로 출력
4. JAVA의 출력 함수
- printf()
- System.out.printf("%d", r); //r의 값을 10진 정수의 형태로 출력
- print()
- System.out.print(r + s); // r과 s를 더한 값을 출력
- println()
- System.out.println(r + "은(는) 소수"); // r의 값과 은(는)소수를 출력하고 줄건너뛰기
섹션8. 제어문
1. 단순 if문
- 조건이 한 개일 때 사용하는 제어문
// 조건이 참일 때만 실행하는 경우
if (a > b)
printf("Gilbut");
// 조건이 참일 때와 거짓일 때 실행할 문장이 다른 경우
if (a > b)
printf("참");
else
printf("거짓");
2. 다중 if문
- 조건이 여러 개일 때 사용하는 제어문
if (score >= 90)
printf("우수");
else if (score < 40)
printf("불량");
else
printf("일반");
3. switch문
- 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문
- break문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 break문 또는 switch문이 종료될 때까지 모든 문장이 실행됨
switch (a) {
case 1:
printf("바나나")
break;
case 2:
printf("딸기")
break;
default:
printf("없음")
}
섹션9. 반복문
1. for문
- 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어ans
- 초기값, 최종값, 증가값을 모두 생략하면 무한반복문이 됨
for(i = 1; i <= 10; i++)
sum = sum + i;
2. while문
- 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문
- while문은 조건이 처음부터 거짓이면 한 번도 수행하지 않음
while (i <= 10)
i = i + 1;
3. do ~ while 문
- while문과 동일하나 실행할 문장을 무조건 한번 실행한 다음 조건을 판단하여 탈출 여부를 결정
do
i = i + 1;
while (i <= 10)
4. break, countinue
- switch문이나 반복문의 실행을 제어하기 위해 사용되는 예약어
- break : switch문이나 반복문 안에서 break가 나오면 블록을 벗어남
- continue : continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮김, 반복문에서만 사용됨
섹션10. 배열과 문자열
1. 1차원 배열
- 변수들을 일직선상의 개념으로 조합한 배열
- char a[3] = {'A', 'B', 'C'};
2. 2차원 배열
- 변수들을 평면(행, 열)로 조합한 배열
- int b[2][3] = {{11, 22, 33}, {44, 55, 66}};
3. 배열 형태의 문자열 변수
- C언어에서는 큰따옴표 " "로 묶인 글자는 글자 수에 관계없이 문자열로 처리됨
- 배열에 문자열을 저장하면 문자열의 끝을 알리기 위한 널문자'\0'가 문자열 끝에 자동으로 삽입됨
- char a[5] = "love"; // 배열 a[0] = 'l' ... 배열a[4] = '\0'(null 문자)
섹션11. 포인터
1. 포인터와 포인터 변수
- 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *을 붙힘
- int *a;
- 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙힘
- a = &b;
- 실행문에서 포인터 변수에 간접 연산자 *을 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말함
- c = *a; // b의 값을 저장
2. 포인터와 배열
- 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근할 수 있음
- 배열 위치를 나타내는 첨자를 생략하고 배열의 대표명만 지정하면 배열의 첫 번째 요소의 주소를 저정하는 것과 같음
- 배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 & 연산자를 사용
int a[5], *b;
b = a; // 포인터 변수 b가 a의 첫번째 요소 주소값을 가르킴
b = &a[0]; // 위와 동일
섹션12. 구조체
1. 구조체의 정의
- 자료의 종류가 다른 변수의 모임
- 구조체 정의 == int 나 char같은 자료형을 하나 만드는 것을 의미
- 예약어인 struct를 사용하여 정의
struct sawon { // 구조체 정의
char name[10]; // 다양한 자료형의 멤버들 선언
int jikwi[10];
int pay;
}
섹션13. Python의 기초
1. input( ) 함수
- Python의 표준 입력함수로 키보드로 입력받아야 변수에 저장하는 함수
- 입력되는 값은 문자열로 취급되어 저장됨
- a = input('입력하세요') # 입력하세요가 출력되고 커서가 깜빡이면서 입력을 기다리고 값을 입력하면 a에 저장됨
2. print( ) 함수
- 인수로 주어진 값을 화면에 출력하는 함수
- print(82, 24, sep ='-', end='.')
# 82-24. 로 출력됨 sep은 값을 분리하는 문자를 지정, end는 문장의 끝에 올 문자를 지정
3. 입력 값의 형변환
- input( ) 함수는 입력되는 값을 무조건 문자열로 저장하므로 숫자로 사용하기 위해서는 형을 변환해야함
# 변환 데이터가 1개일 때
a = int(input())
# 변환 데이터가 2개 이상일 때
a, b = map(int, input().split())
4. 리스트(List)
- 필요에 따라 개수를 늘이거나 줄일 수 있으므로 선언 시 크기를 적지 않음
- 배열과 달리 하나의 리스트에 정수, 실수, 문자열 등 다양한 자료형을 섞어서 저장할 수 있음
# 방법1
a = [10, 'mike', 23.45]
# 방법2
a = list([10, 'mike', 23.45])
# 인덱스 접근, 배열 a의 0번째 인덱스의 요소의 값을 1로 변경
a[0] = 1
5. 딕셔너리(Dictionary)
- 연관된 값을 묶어서 저장하는 용도, 자바의 map의 형태
- 딕셔너리에서는 인덱스가 아닌 사용자가 원하는 키를 직접 지정한 후 사용함
- 딕셔너리 뒤에 대괄호 [ ]를 사용하여, 대괄호 안에 키를 입력하여 값(value)에 접근함
# 방법1
a = {'이름':'홍길동', '나이':25, '주소':'서울'}
# 방법2
a = dict({'이름':'홍길동', '나이':25, '주소':'서울'})
# 접근, 딕셔너리 a의 '이름' 키의 값을 '이순신'으로 변경
a['이름'] = '이순신'
6. 슬라이스(slice)
- 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라 반환하는 기능
a = ['a', 'b', 'c', 'd', 'e']
a[1:3] # ['b', 'c']
a[0:5:2] # ['a', 'c', 'e']
a[3:] # ['d', 'e']
a[:3] # ['a', 'b', 'c']
a[::3] # ['a', 'd']
섹션14. Python의 활용
1. if문
if (a == b):
print('참')
else:
print('거짓')
2. for문
# range를 이용하는 방식
for i in range(1,11): # 1 ~ 10 까지 변수 i에 값을 저장하면서 반복
sum = sum + i
# list를 이용하는 방식
a = [1,2,3,4,5,6,7,8,9,10]
for i in a: # a의 요소를 하나씩 꺼내서 변수 i에 저장하면서 반복
sum = sum + i
3. while문
while i <= 10:
i = i + 1
4. 클래스 없는 메소드의 사용
def calc(x, y):
x *= y
return x
a, b = 3, 4
a = calc(a, b) # a = 12
print(a, b) #출력 결과 : 12 8
섹션15. 스크립트 언어
1. 자바스크립트
- 웹 페이지의 동작을 제어하는 데 사용되는 클라이언트용 스크립트 언어
- 클래스 기반의 객체 상속을 지원하며 프로토타입 개념을 활용할 수 있음
2. PHP
- 서버용 스크립트 언어로 Linux, Unix, Windows 운영체제에서 사용 가능함
- C, Java 등과 문법이 유사하므로 배우기 쉬워 웹 페이지 제작에 많이 사용됨
3. 파이썬
- 귀도 반 로섬(Guido van Rossum)이 발표한 대화형 인터프리터 언어
- 객체지향 기능을 지원하고 플랫폼에 독립적이며 문법이 간단하여 배우기 쉬움
4. 쉘 스크립트
- 유닉스/리눅스 계열의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어
- 컴파일 단계가 없어서 실행 속도가 빠름
- 저장시 확장자로 .sh가 붙음
- 쉘의 종류 : Bash Shell, Bourne Shell, C Shell, Korn Shell 등
- 쉘 스크립트에서 사용되는 제어문 : 선택형 - if, case / 반복형 - for, while, until
5. Basic
- 절차지향 기능을 지원하는 대화형 인터프리터 언어로 초보자도 쉽게 사용할 수 있는 문법 구조를 갖음
섹션16. 라이브러리
1. 라이브러리의 개념
- 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
- 표준 라이브러리 : 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리, 여러 종류의 모듈이나 패키지로 구성됨
- 외부 라이브러리 : 개발자들이 필요한 기능을 만들어 인터넷 등에 공유해 놓은 것으로 다운받아 설치한 후 사용
2. C언어의 stdio.h
- 데이터의 입/출력에 사용되는 기능들을 제공
- 주요 함수 : printf, scanf, frpintf, fscanf, fcolse, fopen 등
3. C언어의 math.h
- 수학 함수들을 제공
- 주요 함수 : sqrt, pow, abs 등
4. C언어의 string.h
- 문자열 처리에 사용되는 기능들을 제공
- 주요 함수 : strlen, strcpy, strcmp 등
5. C언어의 stdlib.h
- 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공
- 주요 함수 : atoi, atof, srand, rand, malloc, free 등
6. C언어의 time.h
- 시간 처리에 사용되는 기능들을 제공
- 주요 함수 : time, clock 등
섹션16. 라이브러리
1. JAVA의 예외 처리
- JAVA에서는 try ~ catch 문을 이용해 예외를 처리함
- try 블록 코드를 수행하다 예외가 발생하면 예외를 처리하는 catch 블록으로 이동하여 예외 처리 코드를 수행하므로 예외가 발생한 이후의 코드는 실행되지 않음
- catch 블록에서 선언한 변수는 해당 catch 블록에서만 유효함
- try ~ catch 문 안에 또다른 try ~ catch 문을 포함할 수 있음
- try ~ catch 문 안에서는 실행 코드가 한 줄이라도 중괄호{}를 생략할 수 없음
'2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비) > 필기 4강 - 프로그래밍 언어 활용' 카테고리의 다른 글
3장 - 응용 SW 기초 기술 활용 핵심 요약 (0) | 2024.05.10 |
---|---|
2장 - 프로그래밍 언어 활용 | 섹션15. 스크립트 언어, 섹션16. 라이브러리, 섹션17. 예외 처리 (0) | 2024.05.10 |
2장 - 프로그래밍 언어 활용 | 섹션13. Python의 기초, 섹션14. Python의 활용 (0) | 2024.05.10 |
2장 - 프로그래밍 언어 활용 | 섹션10. 배열과 문자열, 섹션11. 포인터, 섹션12. 구조체 (0) | 2024.05.10 |
2장 - 프로그래밍 언어 활용 | 섹션7. 데이터 입/출력, 섹션8. 제어문, 섹션9. 반복문 (0) | 2024.05.09 |