[정보처리기사 실기 정리] 6. 프로그래밍 언어 활용

전현준·2024년 4월 21일
0

정보처리기사 실기

목록 보기
7/12
post-thumbnail

🚨 제 기준에서 확실히 아는 내용은 제외하고 정리했습니다!
약 70% 생략된 내용

1. 프로그래밍을 위한 기본 사항


1. 진수

(2) 진수 변환

  • 10진수 → 2진수 변환

  • 아스키 코드
    • NULL : 0
    •  : 32
    • A : 65
    • a : 97

2. C언어


3. 식별자

(3) 식별자 표기법

  • 카멜 표기법 (inputFuntion) : 첫 단어는 시작만 소문자, 단어의 처음은 대문자로 지정
  • 파스칼 표기법 (InputFunction) : 각 단어의 첫글자는 대문자로 지정
  • 스네이크 표기법 (input_function) : 단어 사이에 언더바를 넣는 방법
  • 헝가리안 표기법 (nScore) : 식별자 표기시에 int형일 경우 n을 넣고, char는 c, 문자열 sz

4. 변수

(3) 변수 유효범위

  • static 변수: static 변수는 프로그램 시작 시 변수 생성, 종료 시 변수 소멸
    • 어디서든 선언해도 가장 먼저 읽어옴

      #include <stdio.h>
      int fn(){
      	static int a = 3; // main 보다도 static 변수가 먼저 초기화
      }
      int main(){
      	fn();	
      }

5. 표준 입출력 함수

(1) printf 함수

  • 포맷 스트링
#include <stdio.h>
int main(){
	float a = 1.234;
	int b = 10;
	print("%-05.1f\n",a); // 1.2 (-를 붙이면 왼쪽 정렬)
	print("%5d", b); // 10___ (공란임)
}

6. 연산자

(4) 연산자 상세

  • 비트 연산자
    • & : AND 연산자
    • | : OR 연산자
    • ^ : XOR 연산자 (서로 다르면 1)
    • ~ : NOT 연산자

9. 배열

(2) 배열 종류

  • 2차원 배열
// 초기화 방법
int a[2][3] = {1,2,3,4}

// a[0][0] = 1
// a[0][1] = 2
// a[0][2] = 3
// a[1][0] = 4
// a[1][1] = 0
// a[1][2] = 0

11. 구조체

#include <stdio.h>
struct Student{
	char gender;
	int age;
}

int main(){
	struct Student s = {'M',25};
	print("%c", s.gender);
	return 0
}

12. 함수

(3) 표준 함수

  • strcat(dest, src) / strncat(dest, src, 3) : 문자열 끼리 연결
    • strcat("Hi", "Bye") - HiBye
  • strcpy / strncpy
  • strcmp(s1, s2) / strncmp(s1,s2, maxlen) : ASCII 비교
    • s1이 크면 1, 작으면 -1, 같으면 0
  • strlen
  • strrev(str) : 문자열 뒤집기
  • strchr(str, c) : 일치하는 문자가 있는지 검사, 위치를 return 한다.
    #include <stdio.h>
    #include <string.h>
    int main(){
    	char a[20] = "Hello";
    	char *p = strchr(a, 'l');
    	print("%s", p); // llo
    	return 0;
    }
  • 랜덤 함수
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(){
    	srand(time(NULL)
    	for(int i = 0;i<6;i++){
    		num = rand()%45+1;
    	}
    }
  • atoi / itoa / atof : Ascii To Integer / Integer To Ascii / Ascii To Floating Point
    • itoa(value, str, redix) : redix(진수)로 값을 str에 저장하기

13. 포인터

(3) 구조체와 포인터

  • 일반 구조체는 .으로, 구조체 포인터는 ->로 접근한다.

(5) 함수 포인터

  • 리턴타입 (* 함수_포인터)(함수 파라미터);
  • int (*pf2)(int);

[C언어 틀렸던 문제]

#include <stdio.h>
int main(){
	char *p = "Korea";
	print("%s\n", p+3);     // ea
	print("%c\n", *(p+2));  // r
	print("%c\n", *p+2);    // ? 
}

  • 100 이하의 완전수 : 6, 28

#include <stdio.h>
chat n[30];
char *soojebi(){
	gets(n);
	return n;
}
int main(){
	char *p1 = soojebi();
	char *p2 = soojebi();
	char *p3 = soojebi();
	print("%s\n", p1);
	print("%s\n", p2);
	print("%s\n", p3);
	return 0;
}

💡 # 입력
홍길동
김철수
박영희

💡 # 출력
박영희
박영희
박영희



3. 자바


1. 자바 기본 구조

  • 클래스 단위
  • public static void main()

2. 자료형

  • 논리형 : boolean

3. 변수

  • 자바의 변수는 초기화하지 않으면 정수형은 0, 실수형은 0.0 문자형은 NULL자동 초기화

4. 배열

(2) 배열 종류

  • 1차원 배열 선언 방법
    • 초기값이 없는 경우
      • 자료형 []배열명 = new 자료형[배열_요소_개수];
      • 자료형 배열명[] = new 자료형[배열_요소_개수];
    • 초기값이 있는 경우
      • 자료형 []배열명 = {초깃값};
  • 2차원 배열 선언 방법
    • 초기값이 있는 경우
      • 자료형 [][]배열명 = {{초깃값}, {초깃값}, ...}
      • int [][]a = {{1,2}, {3}, {4,5,6}}

5. 함수

(2) 표준 입력 함수

public class Soojebi(){
	public static void main(){
		String a = null;
		BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
		a = r.readLine();
	}
}

6. 문자열

(2) 문자열 비교

  • 리터럴은 같은 주소 값을 공유함
  • new로 생성된 객체는 힙에 저장되기에 다른 주소 값을 공유함


9. 클래스

(2) 클래스 접근 제어자

  • public
  • protected : 같은 패키지 내부에 있는 클래스, 하위 클래스(상속 받은 경우)에서 접근 가능
  • default : 같은 패키지 내부에 있는 클래스
  • private

(5) 클래스 this

  • 현재 객체를 가리키는 키워드
  • this.변수 / this(매개변수)

10. 클래스 상속

(2) 클래스 상속 문법

class 부모_클래스명{}

class 자식 extends 부모{}

💡 부모 호출

  • 자바 : 자식 클래스를 생성하면 부모 클래스의 생성자를 먼저 방문❗❗❗❗
  • 파이썬 : 자식 클래스를 생성하면 자식 클래스의 생성자만 방문

(3) 오버로딩

  • 동일 이름의 메소드를 매개변수만 다르게 함

(4) 오버라이딩

  • 하위 클래스에서 상위 클래스 메소드를 재정의할 수 있는 기능
  • 매개변수 개수, 타입이 같아야함

(5) 부모클래스 접근

  • super / super.변수 / super(매개변수) / super.메소드(매개변수)

11. 추상 클래스

abstract class A {
	abstract void fn();
}

class B extends A{
	void fn(){
		// 내용 구현
	}
}

[자바 틀린 문제]



4. 파이썬


꽁꽁 얼어붙은 한강위로 파이썬이 기어다닙니다


2. 자료형

(3) 컬렉션 자료형

  • 문자열 포맷스트링
a ="Hello"
print("%s" % a)
b = "%s" % " world!"
  • 리스트형
    • extend(literal) : 리스트 마지막에 컬렉션 자료형 literal을 추가하는 메소드

4. 연산자

(2) 연산자 종류

  • Swap 연산자
    • a, b = b, a

7. 함수

(2) 람다 함수

  • lambda 매개변수 : 표현식

  • (lambda n, m : n + m)(2, 3)

  • sum = lambda n, m : n + m

  • 내장 함수를 이용한 람다 함수

    • map / fliter

      a = [1,2,3,4,5]
      b = fliter(lambda num : num > 2, a) # 람다 함수에 조건을 넣어, 조건을 만족하는 값 만 대입

8. 클래스

class 클래스명:
	def __init__ (self, 매개변수):
	
	def __del__ (self, 매개변수):
	
	def 메소드명(self, 매개변수 ...):
		return ...
		
클래스변수 = 클래스명(매개변수) # 생성
del 클래스변수 # 소멸자 호출

(3) self

  • self는 현재 객체를 가리키는 키워드
  • self.변수명 / self.함수명(매개변수)

(6) 클래스 접근 제어자

  • public : self.a
  • protected : self._b
  • private: self.__c

[파이썬 틀린문제]

뭐해..

profile
백엔드 개발자 전현준입니다.

0개의 댓글

관련 채용 정보