[정보처리기사 실기] 6. 프로그래밍 언어 활용 (1)-1
📌 데이터 타입
- 자료형과 같은 여러 종류의 데이터 식별
- 메모리 공간 효율적으로 사용하기 위해 사용
✅ 기본 타입
- 불린(Boolean)
- C++ : bool
- Java : boolean
- 문자(Character)
- C, C++, Java : char
- 문자열 타입(String)
- C : char[]- C++, Java : string
- 정수 타입(Integer)
- C, C++, Java : int
- 부동 소수점(Float)
- C, C++, Java : float, double
📌 기본 저장 공간
✅ 변수
: 주기억장치에 값을 저장하기 위한 공간
- 자료형과 변수명으로 선언
- 파이썬은 선언 X
✅ 배열
: 같은 타입의 변수들로 이루어진 집합
- 배열 선언
- C, C++
-타입[배열_요소_개수]={초깃값};
- 초깃값 선언안하면 쓰레깃값 저장
- 배열 요소 개수보다 적은 개수만큼 초기화하면 명시되지 않은 값은 0으로 초기화 - Java
-타입 []배열명 = new 타입[배열_요소_개수];
-타입 배열명[] = new 타입[배열_요소_개수];
- 초깃값 있는 경우타입 []배열명 = {초깃값};
- 배열 요소 개수 명시되어 있지 않은 경우 초깃값 개수만큼 선언
- 초깃값 선언하지 않을 경우 0 또는 NULL값 저장
- C, C++
✅ 포인터
: 변수의 주솟값을 저장하는 공간
- 선언 :
데이터_타입* 포인터_변수명 = &변수명
- 데이터 타입 뒤에 *는 포인트 변수 의미, &은 해당 변수명의 주솟값
📌 자료형
✅ 자바
- 자료형
- HashSet
-(Hash)Set 변수명 = new HashSet();
- 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료형이며 클래스 (순서 중요X)
- 메서드 : add(값), remove(값), size()
- 중복된 값이 들어오면 추가하지 않음 - ArrayList
-(Array)List 변수명 = new Arraylist();
- 크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료형이며 클래스 (순서 중요O)
- 메서드 : add(값), add(인덱스, 값), remove(인덱스), get(인덱스), size()
- HashMap
-(Hash)Map 변수명 = new HashMap();
- 키와 값으로 구성된 객체를 저장하는 구조로 되어있는 자료구조 구현
- 메서드 : put(키, 값), remove(키), get(키), size()
- HashSet
✅ 파이썬
- 자료형
- 세트형
-세트명 = set([요소1, 2, ...])
or세트명 = {}
- 집합의 성질
- 메서드 : add(값), update([값1, 값2, ...]), remove(값)
- 리스트형
-리스트명 = [요소1, 요소2..]
- 크기 가변적으로 변하는 선형리스트의 성질
- 메서드 : append(값), insert(인덱스, 값), remove(값)
- 리스트 인덱싱 : 중간 값에 접근
- 리스트 슬라이싱 : 여러 개의 데이터에 동시 접근
-리스트명[시작_인덱스:종료_인덱스:스텝]
- 튜플형
-튜플명 = (요소1, 요소2 ...)
- 초기에 선언된 값에서 값을 생성, 삭제, 수정이 불가능한 형태의 자료형
- 튜플 인덱싱
- 튜플 슬라이싱
- 딕셔너리형
-딕셔너리명 = {키1:값1, 키2:값2 ...}
- 키와 값으로 구성된 객체 저장하는 구조
- 요소 추가 :딕셔너리명[키] = 값
- 요소 삭제 :del 딕셔너리명[키]
- 세트형
📌 식별자
- 변수, 상수, 함수 등 서로 구분하기 위해 사용되는 이름
- 프로그램의 구성요소 구별
✅ 명명 규칙
- 사용 가능 문자 : 영문 대소문자, 숫자, _ , $
- 변수 사용 규칙 : 첫 자리에 숫자X, 중간에 공백X
- 변수 의미 부여 : 예약어 사용X
✅ 표기법
- 카멜 표기법 : 첫자리는 소문자, 각 단어 첫글자는 대문자
e.g. inputFunction - 파스칼 표기법 : 각 단어 첫글자는 대문자
e.g. InputFunction - 스네이크 표기법 : 단어 사이에 언더바
e.g. input_function - 헝가리안 표기법 : 두어에 자료형 붙임 n(int), c(char), sz(string)
e.g. nScore -> 정수형
📌 연산자
✅ 산술 연산자 (+,-,*,/,%)
✅ 시프트 연산자 (<<,>>)
✅ 관계 연산자 (<,>,=<,>=,==,!=)
✅ 논리 연산자 (&&,||)
✅ 비트 연산자 (&,|,^,~)
✅ 대입 연산자 (=,+=,-=,*=,/=,%=)
✅ 증감 연산자 (++x,x++,--x,x--)
✅ 삼항 연산자(조건?참일때값:거짓일때값)
📌 표준함수
✅ 출력 함수
- C
- 단순출력 :
printf("");
stdio.h헤더 선언 필요 - 변수출력 : C언어만 해당 변수에 저장된 값 출력할 때에는 포맷스트링 이용
- 단순출력 :
#include <stdio.h>
void main() {
char a = 'A';
int b = 10;
printf(%c, %d, a, b);
}
- C++
- 단순출력 :
std::cout << 문자열;
iostream 헤더 선언 필요 using namespace std;
선언하면std::
생략가능- 개행 : std::endl;
- 변수출력 :
std::cout << 변수명;
- 단순출력 :
#include <iostream>
using namespace std;
void main() {
char a = 'A';
int b = 10;
cout << a << endl << b;
}
- Java
- 단순출력 :
Systeml.out.println(문자열);
ln없으면 개행 X - 변수출력
-System.out.println(변수명);
-System.out.printf(포맷_스트링, 변수명);
- 단순출력 :
public static void main(String[] args) {
int a = 5;
System.out.print(a);
}
- Python
- 단순출력 :
print(문자열)
,print(문자열, end='')
-> 개행X - 변수출력 :
print(변수명)
- 단순출력 :
✅ 입력 함수
-
C
- 변수값 입력 :
scanf(포맷_스트링, &변수명);
- 문자열 입력 :
scanf("%s", 배열명);
- scanf 사용시 stdio.h 선언 필요
- 문자열 입력받는 경우가 아니라면 변수명 앞에 를 붙임
- 문자열 입력받는 경우 배열명을 쓰고 '&' 안붙임
- 변수값 입력 :
-
C++
- 변수값 입력 :
std::cin >> 변수명
- iostream 헤더 선언 필요
- 변수값 입력 :
-
자바
- Scanner 클래스를 스캐너 변수에 생성
- 스캐너 변수를 이용해 정수형은 nextInt, 실수형은 nextFloat,nextDouble, 문자열은 nextLine을 통해 입력받음
public static void main(String[] args) {
String s;
int i;
float f;
Scanner c = new Scanner(System.in);
s = c.nextLine();
System.out.println(s);
i = c.nextInt();
System.out.println(i);
f = c.nextFloat();
System.out.print(f);
}
- 파이썬
- 숫자를 입력받을 때는 문자열로 저장 후 eval 함수를 써서 숫자로 변환
변수명 = input()
변수명 = eval(변수명)
📌 명령문
: 프로그램을 구성하는 문장, 조건문과 반복문
✅ 조건문
- if문
- 조건이 참인지 거짓인지에 따라 경로 선택
- swith문
- 파이썬은 지원 X
- break 만나면 switch~case 탈출
- case의 어떤 값도 만족하지 않으면 default로 진입
- if문은 산술 or 논리적으로 비교 가능, switch는 조건 동일한지 여부만
✅ 반복문
- while문
- 조건이 참인 동안 반복 실행
- for문
- 초깃값, 최종값, 증감값 지정하여 반복
- 특별한 조건 없으면 무한 루프
📌 루프 제어 명령어
: 반복문에서 무한루프 방지
- break : 반복문이나 switch문 중간에 탈출
- continue : 다음 반복으로 넘어갈 수 있도록 해줌
📌 사용자 정의 자료형 활용
✅ 열거체
- 서로 연관된 정수형 상수들의 집합
- 정수형 상수에 이름을 붙임
#include <iostream>
enum Week {
Sunday, // 0
Monday, // 1
Tuesday = 5,
Wednesday // 6
};
void main() {
enum Week week; // enum Week 타입의 week 변수 선언
week = Wednesday;
std::cout << week;
}
// 출력결과 6
✅ 구조체
- 사용자가 기본 타입을 가지고 새롭게 정의할 수 있음
- 자바, 파이썬은 지원X
#include <iostream>
using namespace std;
struct Student { // 구조체 타입 정의
char gender;
int age;
int num
};
void main() {
struct Student s; // struct Student 타입의 s라는 변수 선언
s.gender = 'M';
s.age = 24;
s.num = 20200001;
cout << s.gender << endl;
cout << s.age << endl;
cout << s.num << endl;
}
Author And Source
이 문제에 관하여([정보처리기사 실기] 6. 프로그래밍 언어 활용 (1)-1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@suea724/정보처리기사-실기-6.-프로그래밍-언어-활용-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)