관리 메뉴

나구리의 개발공부기록

Chapter 01 - 프로그래밍을 위한 기본 사항(진수) , Chapter 02 - C언어(C언어 기본, 자료형, 식별자) 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/실기 6강 - 프로그래밍 언어 활용

Chapter 01 - 프로그래밍을 위한 기본 사항(진수) , Chapter 02 - C언어(C언어 기본, 자료형, 식별자)

소소한나구리 2024. 5. 18. 23:27
728x90

2024년도 수제비 실기책(6판) 내용 정리 


Chapter 01 - 프로그래밍을 위한 기본 사항

1. 진수

1) 진수(Antilogarithm) 개념

  • 진수는 특정 개수의 숫자만을 이용하여 수를 나타내는 수 체계

2) 진수 변환

 

(1) 10진수를 n 진수로 변환

  • 10 진수 값을 몫이 n보다 작을 때까지 n으로 나누고 나머지 값들을 표시한 후에 나머지 값들을 읽음
  • 10 진수 이하일 때는 0 ~ 9를 사용하지만, 10진수 초과할 경우는 10을 넘어가는 값들을 영어 알파벳으로 표현
  • 2진수의 자릿수를 모두 작성해놓고 해당 값을 더하면서 구할 수도 있음
10진수 16진수
0 ~ 9 0 ~ 9 
10 A
11 B
12 C
13 D
14 E
15 F
2진수 1 1 1 1 1 1 1 1 1
자리수 2⁸ 2⁷ 2 2⁵ 2⁴ 2⁰
10진수 표현 256 128 64 32 16 8 4 2 1

 

ex) 10진수 181 = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 2진수 10110101

 

 

문제 - 10진수 13을 2진수로 변환(10진수 이하 진수로 변환)

 

  • 10진수 값을 몫이 2보다 작은 값이 될 때까지 2로 나누고 나머지 값들을 표시 후 나머지 값들을 읽음
  • 13 / 2 = 6, 13 % 2 = 1, 몫은 6, 나머지는 1
  • 6 / 2 = 3, 6 % 2 = 0, 몫은 3, 나머지는 0
  • 3 / 2 = 1, 3 % 2 = 1, 몫은 1, 나머지는 1
  • 13의 2진수 = 1101

 

문제 - 10진수 201을 16 진수로 변환

 

  • 10진수 값을 몫이 16미만이 될 때까지 16으로 나누고 나머지 값들을 표시 후 10 이상의 숫자들을 영어 알파벳으로 변환 후 나머지 값을 읽음
  • 201 / 16 = 12 , 201 % 16 = 9, 몫은 12 = C, 나머지는 9
  • 201의 16진수 = C9

(2) n진수를 10 진수로 변환

 

  • n진수에서 마지막 자리는 자리 숫자에 자리값 n⁰ 을 곱하고, 마지막에서 두 번째 자리는 자리 숫자에 자릿값인 n¹을 곱하고, 마지막에서 세 번째 자리는 자리 숫자에 자릿값인 n²를 곱하고 ⋯ 계산한 값들을 합산하여 10진수를 계산

문제 - 2진수 1101을 10진수로 변환(10진수 이하 진수를 10진수로 변환)

자리 숫자 1 1 0 1
자릿값 2³ = 8 2² = 4 2¹ = 2 2⁰ = 1
계산 1 X 8 = 8 1 X 4 = 4 0 X 2 = 0 1 X 1 = 1
계산한 값들을 합산 = 8 + 4 + 0 + 1 = 13(10진수)

 

문제 - 16진수 C9를 10진수로 변환(10진수 초과 진수를 10진수로 변환)

자리 숫자 C = 12 9 = 9
자릿값 16¹ = 16 16⁰ = 1
계산 12 X 16 = 192 9 X 1 = 9
계산한 값들을 합산 = 192 + 9 = 201(10진수)
자리 숫자를 2진수로 변환 C = 12 = 1100 9 = 1100
변환된 2진수의 각 자리를 10진수로 변환 11001100 = 128, 64, 0, 0, 8, 1, 0, 0
변환된 10진수를 합산 = 128 + 64 + 8 + 1 = 201(10진수)

2) 아스키 코드

(1) 아스키 코드(ASCII; American Standard Code for Information Interchange) 개념

 

  • 미국 ANSI에서 표준화한 정보교환용 부호체계
  • 영문 키보드로 입력할 수 있는 모든 기호가 할당된 기본적인 부호체계

(2) 주요 아스키 코드

10진수 부호 10진수 부호 10진수 부호
0 NULL 65 A 97 a
32 space 1칸 66 B 98 b
48 0 67 C 99 c
49 1 90 Z 122 z
  • c언어에서 NULL은 \0으로도 표기 됨

Chapter 02 - C언어

1. C언어 기본

1) C언어 기본 구조

  • 본문 전에 처리하는 전처리 부분과 본문으로 구성되어 있음
  • 헤더는 xxx.h 파일로 되어 있고, 헤더 안에는 프로그래밍에 필요한 함수들이 포함되어 있음

2) 전처리기

(1) 전처리기(Preprocessor)개념

 

  • 실행 파일을 생성하는 과정에서 소스 파일 내에 존재하는 전처리 지시문을 처리하는 작업

(2) 전처리기 종류 - C언어에서 #이 붙으면 지시문 또는 전처리기 임

종류 설명
#include C언어 프로그램에 헤더 파일을 포함할 때 사용하는 전처리기
#define 매크로를 정의할 때 사용하는 전처리기
상숫값을 지정하기 위한 예약어로 구문의 상수로 치환할 때 사용하는 전처리기
// C언어 기본 코드
#include <stdio.h>    // stdio.h 헤더파일을 읽어옴, 해당 파일 안에 printf함수가 포함됨
#define A 5     // A를 5로 변환

int main() {    // main 함수의 시작부분(프로그램이 제일 처음 실행되는 부분)
  printf("수제비 %d", A);  // printf 함수로 수제비 문자열을 출력하고 %d 부분에 A인 5를 10진수로 출력
  return 0;    // 함수가 끝나고 0을 반환, main함수가 int main()으로 되어있기 때문에 return이 있어야 함
}

// 출력 : 수제비 5

2. 자료형

1) 자료형(Data Type)의 개념

  • 프로그래밍 언어에서 실수, 정수 자료형과 같은 여러 종류의 데이터를 식별하는 형태
  • 메모리 공간을 효율적으로 사용하고 2진수 데이터를 다양한 형태로 사용하기 위해 존재함

2) 자료형 유형

유형 설명 선언 형식
문자(Character) 문자 하나를 저장하고자 할 때 사용하는 자료형
메모리에 저장은 숫자로 저장됨
char
정수(Integer) 정숫값을 저장하고자 할 때 사용하는 자료형 int
부동 소수점
(Floating Point)
소수점을 포함하는 실수값을 저장하고자 할 때 사용하는 자료형 float - 4byte, 소수점 6자리까지
double - 8byte, 소수점 15자리까지

3. 식별자

1) 식별자(Identifier)개념

  • 변수, 상수, 함수 등 서로 구분하기 위해서 사용되는 이름, 프로그램의 구성요소를 구별하기 위해 사용함

2) 식별자 명명 규칙

구분 규칙 사용 가능 예시 사용 불가능 예시
사용 가능 문자 영문 대문자/소문자, 숫자, 밑줄(_)의 사용이 가능 a, A, a1, _, _hello ?a, <a
변수 사용 규칙 첫 자리에는 숫자를 사용할 수 없음
변수 이름의 중간에는 공백을 사용할 수 없음
_1, a1, a100
my_student
1, 1a, 1A, 1234
my student
변수 의미 부여 이미 사용되고 있는 예약어의 경우 변수로 사용 불가 For, If, While int, short, long, for, while, do, continue, break, if, else
  • 예약어(Reserved Word) : 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있는 단어로 식별자로는 사용할 수 없음, 자료형, 조건문, 반복문, 루프 제어 명령문, 함수 반환 값 등이 이에 해당함

3) 식별자 표기법

표기법 설명 예시
카멜 표기법
(Camel Case)
여러 단어가 이어지면 첫 단어 시작만 소문자로 표시하고, 각 단어의 첫 글자는 대문자로 지정하는 표기법 inputFunction
파스칼 표기법
(Pascal Case)
여러 단어가 이어지면 각 단어의 첫 글자는 대문자로 지정하는 표기법 InputFunction
스네이크 표기법
(Snake Case)
여러 단어가 이어지면 단어 사이에 언더바를 넣는 표기법 input_function
헝가리언 표기법
(Hungarian Case)
두어에 자료형을 붙이는 표기법
int형일 경우 n, char일 경우 c, 문자열일 경우 sz를 붙임
nScore
728x90