TIL - 20260117

juni·2026년 1월 16일

TIL

목록 보기
241/316

0117 정보처리기사 필기 (4/N): 2과목 - 연산자, 제어문, 배열


✅ 1. 연산자 (Operators)

  • 연산자는 프로그램에서 데이터를 가공하고, 비교하며, 논리적인 판단을 내리는 데 사용되는 기호입니다. 연산의 우선순위를 이해하는 것이 중요합니다.
종류설명주요 연산자
산술 연산자수학적 계산을 수행.+, -, *, /, % (나머지)
관계 연산자두 값의 크기를 비교하여 true 또는 false를 반환. (비교 연산자)==, !=, >, <, >=, <=
논리 연산자두 개의 논리값(true/false)을 연산하여 결과를 반환.&& (AND), `
증감 연산자변수의 값을 1씩 증가시키거나 감소시킴.++ (증가), -- (감소)
대입 연산자변수에 값을 할당.=, +=, -=, *=, /=
비트 연산자데이터를 비트(bit) 단위로 연산.&, `

➕ 증감 연산자의 전위(Prefix)와 후위(Postfix) - (시험 단골)

  • ++--가 변수의 앞에 붙느냐 뒤에 붙느냐에 따라 연산 순서가 달라집니다.
구분예시설명
전위 (Prefix)y = ++x;1. x의 값을 먼저 증가시킨다.
2. 증가된 x의 값을 y에 대입한다.
후위 (Postfix)y = x++;1. x의 현재 값을 먼저 y에 대입한다.
2. 그 후에 x의 값을 증가시킨다.

✅ 2. 제어문 (Control Flow Statements)

  • 제어문은 프로그램의 실행 흐름을 조건이나 반복에 따라 제어하는 구문입니다.

➕ 2-1. 조건문 (Conditional Statements)

  1. if-else if-else: 조건식의 결과가 true일 때 해당하는 코드 블록을 실행합니다.

    if (score >= 90) {
        grade = 'A';
    } else if (score >= 80) {
        grade = 'B';
    } else {
        grade = 'C';
    }
  2. switch: 하나의 변수 값을 여러 개의 상수 값과 비교하여, 일치하는 case의 코드 블록을 실행합니다.

    • break: switch 문을 빠져나가기 위해 각 case의 끝에 반드시 사용해야 합니다. break가 없으면 다음 case가 연달아 실행됩니다.
    • default: 일치하는 case가 없을 때 실행됩니다.

➕ 2-2. 반복문 (Loop Statements)

  1. for: 정해진 횟수만큼 코드를 반복 실행할 때 주로 사용됩니다.

    • 구조: for (초기화식; 조건식; 증감식) { ... }
  2. while: 조건식이 true인 동안 코드를 계속해서 반복 실행합니다. 반복 횟수를 정확히 모를 때 유용합니다.

    • 구조: while (조건식) { ... }
  3. do-while: while문과 유사하지만, 조건 검사를 나중에 하므로 코드 블록이 최소 한 번은 반드시 실행되는 것을 보장합니다.

    • 구조: do { ... } while (조건식);

➕ 2-3. 분기문 (Branching Statements)

  • 반복문 내에서 실행 흐름을 제어합니다.
    • break: 현재 실행 중인 반복문을 즉시 완전히 빠져나갑니다.
    • continue: 현재 반복문의 나머지 부분을 건너뛰고, 다음 반복(iteration)을 즉시 시작합니다.

✅ 3. 배열 (Array)

  • 배열동일한 데이터 타입을 갖는 여러 개의 데이터를, 연속된 메모리 공간에 저장하는 자료구조입니다.

➕ 배열의 특징

  1. 동일한 데이터 타입: 하나의 배열에는 같은 종류의 데이터만 저장할 수 있습니다. (e.g., int 배열, char 배열)
  2. 고정된 크기: C나 Java와 같은 언어에서 배열은 한 번 생성되면 크기를 변경할 수 없습니다. (정적 배열)
  3. 인덱스 (Index): 배열의 각 요소에 접근하기 위해 사용하는 0부터 시작하는 번호입니다.
    • 크기가 N인 배열의 인덱스 범위는 0부터 N-1까지입니다.

➕ 배열의 선언 및 사용 (C/Java 기준)

  • 1차원 배열:

    // 크기가 5인 정수형 배열 선언
    int scores;
    
    // 선언과 동시에 초기화
    int ages[] = { 25, 30, 22, 40 };
    
    // 인덱스를 통한 접근
    scores = 100; // 첫 번째 요소에 100 저장
    printf("%d", ages); // 30 출력
  • 2차원 배열:

    • 1차원 배열을 여러 개 묶어놓은 형태로, 행과 열을 가지는 표(Table) 또는 행렬(Matrix)과 같은 구조입니다.
    • 선언: 데이터타입 변수명[행크기][열크기];
    • 예시: int matrix[3][4]; (3행 4열의 정수형 2차원 배열)

📌 요약

  • 연산자는 데이터를 가공하고 비교하는 기호이며, 특히 증감 연산자전위/후위 차이를 명확히 구분해야 합니다.
  • 제어문은 프로그램의 흐름을 제어하며, 조건문(if, switch)반복문(for, while, do-while)이 있습니다.
  • 반복문 내에서 break는 반복을 중단하고, continue는 현재 반복만 건너뜁니다.
  • 배열동일한 타입의 데이터를 연속된 공간에 저장하는 자료구조이며, 0부터 시작하는 인덱스를 통해 각 요소에 접근합니다.

0개의 댓글