[C언어] 입출력 함수와 연산자(1)
·
🛠️Backend/⚙️C
✅ 1. 표준 입출력의 개념(1) C 프로그램과 함수stdlib.h 헤더 파일에 EXIT_SUCCESS 는 0으로 되어있음. 즉, return 0 임.일반적인 함수에서는 반환값이 존재할 때 return 으로 자료형에 맞는 반환값을 넘겨줘야함.하지만 main() 함수에서는 반환값이 존재할 때 return을 안해줘도 return 0; 문자를 자동으로 넣어주게됨.int argc: 터미널로 넘기는 단어의 갯수를 보내줌char* argv[]: 이것도 단어 두개를 배열에 하나씩 담아서 보내줌.(2) 표준 입출력의 개념표준 입력(stdin) 과 표준 출력(stdout) 이 있음.✅ 2. 형식화 입출력함수(1) printf() 함수[ printf() 함수 예시 ]#include int main() { char c..
[자료구조] 5강 - 연결 리스트
·
🎓방송통신대학교/🔢자료구조
✅ 1. 리스트의 개념(1) 배열의 정의배열은 하드웨어 메모리의 물리적인 순서와 동일함 ( 실제 메모리의 물리적 주소 공간에 연속적으로 저장됨. )원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 '순서'적으로 결정하는 특징배열의 순서는 메모리 공간에서 저장되는 '원소값의 물리적 순서'(2) 리스트의 의미여러 개의 데이터를 어떤 정의에 의해서 결정된 논리적인 순서대로 묶어서 관리할 수 있는 자료구조를 말한다.리스트의 '순서'는 데이터가 저장되는 물리적인 위치와 상관없이 사람들의 머릿속에 인식되는 '논리적인 순서', 혹은 리스트에서 나타나는 원소들 간의 '의미적인 순서'를 의미한다.배열은 인덱스로 표현되는 '추상적 순서'가 배열 원소의 메모리 공간에서의 물리적인 위치와 일치함.하지만, 리스트의 ..
[자료구조] 4강 - 큐
·
🎓방송통신대학교/🔢자료구조
✅ 1. 큐의 개념(1) 큐의 의미작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케줄을 의미한다.쉽게말해, 들어간 순서대로 하나씩 순서대로 처리하는 방식을 의미함.한쪽에서는 삽입연산만 발생 가능하고, 다른 한쪽에서는 삭제연산만 발생 가능한 양쪽이 모두 터진 관한쪽에서는 삽입연산: 서비스를 받기 위한 기다림다른 한쪽에서는 삭제연산: 서비스를 받는 중선입 선출(FIFO:First-In-First-Out) 또는 선착순 서브(FCFS:First-Come-First-Serve) 알고리즘과 함께 사용됨(2) 큐의 정의 ✅ 2. 큐의 추상 자료형(1) 큐의 객체 정의큐의 추상자료형큐 객체: 0개 이상의 원소를 갖는 유한 순서 리스트(2) 큐의 연산큐의 앞(front): 원소의 삭제 연산이 이루어지는 곳큐의 뒤..
[C언어] 자료형과 선행처리기
·
🛠️Backend/⚙️C
✅ 1. 자료형과 상수(1) 자료형의 개념[ 자료형(data type) 이란? ]컴퓨터에서 값의 표현 방법을 정의한 것쉽게말해, 데이터가 어떤 종류의 값이고, 메모리에서 어떻게 저장되고 처리 될지를 정의하는 규칙을 의미한다.값을 저장하거나 계산을 할 때 자료형을 엄격하게 구분하여 처리함(2) C 언어 자료형의 종류[ 기본형 (primitive types) ]언어에서 미리 정의되어 있는 가장 기본적인 데이터 저장 단위를 의미한다.즉, 복잡한 구조 없이 하나의 값만 저장할 수 있는 자료형이다.기본 자료형에는 정수형, 문자형, 실수형 세 가지가 존재한다.[ 열거형 (enumerated type) ]// 내부적으로 각 이름에는 0부터 시작하는 정수 값이 자동 할당 됨 ( Sunday = 0 ... )enum W..
[자료구조] 3강 - 스택
·
🎓방송통신대학교/🔢자료구조
✅ 1. 스택의 개념(1) 스택의 정의객체와 그 객체가 저장되는 순서를 기억하는 방법에 관한 자료구조이다.가장 먼저 입력된 자료가 가장 나중에 출력되는 관계를 표현함쉽게말해, 스택은 후입선출로써 가장 나중에 넣은 객체가 가장 먼저 나온다.이러한 추상 자료형을 구현하려면 구현과정에서 저장되는 순서를 기억해줘야 한다는 의미이다.관계를 표현하기 위해서 연산이 필요하며, 객체에 대한 정의와 연산이 모여서 순서가 기억되는 스택의 추상 자료형이 완성됨쉽게말해, 자료 구조에서 데이터를 단순히 저장하는 것뿐만 아니라, 데이터를 다루는 연산이 중요하며 스택(abstract data type, ADT)은 **데이터(객체) + 연산(push, pop 등)**이 모여 만들어지고 스택은 후입선출(LIFO) 순서를 유지한다는 특..
[컴퓨터과학 개론] 2강 - 컴퓨터와 자료(2)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 데이터와 정보(1) 데이터와 정보의 관계I = P(D): information = process(data) 형태로 프로그램에 데이터를 넣으면 정보를 얻는 수식(2) 데이터의 표현 형태데이터의 유형과는 무관하게 일관된 표현 방식인 비트 패턴을 사용하여 표현을 한다.즉, 문자, 정수, 실수, 이미지, 비디오, 오디오 등 모든 데이터의 표현은 비트 패턴으로 표현이 된다는 의미이다.메모리에 저장된 데이터 유형에 맞는 해석과 처리가 필요하고 이걸 해주는것이 입출력장치, 메모리, 프로그램/CPU이다.(3) 데이터의 표현 단위[ 비트: binary digit ]비트는 컴퓨터에서 데이터를 표현하기 위해 0 과 1로 표현하는 최소 단위이다.[ 바이트: byte ]0과 1을 표현하는 하나의 비트를 8개 묶은것을..
[자료구조] 2강 - 배열
·
🎓방송통신대학교/🔢자료구조
✅ 1. 배열의 정의일정한 차례나 간격에 따라 벌여 놓음차례(순서)와 관련된 기본적인 자료구조이다.원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 순서적으로 결정하는 특징이 있다.배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서와 같다.인덱스와 원소값( indext, value ) 의 쌍으로 이루어져 있음.(1) 배열의 의미인덱스로 표현되는 순서를 갖는 특정 배열이 존재하며, 그곳에는 순서대로 원소가 들어가게 된다.원소들이 모두 같은 자료형과 같은 크기의 기억 공간을 가지게 된다.배열의 인덱스값을 이용해서 원소값에 접근하기 때문에 직접 접근이 가능함[ 배열의 인덱스 값 ]컴퓨터의 내구구조나 메모리 주소와 무관하게 개발자에게 개념적으로 정의되는 추상화된 값이다.메모리 주소값은 실제 ..
[자료구조] 1강 - 자료구조란 무엇인가?
·
🎓방송통신대학교/🔢자료구조
✅ 1. 자료와 정보(1) 자료의 가공 및 결과P (process: 프로세스)D (data: 자료, 데이터)I (information: 정보)프로세스에 자료를 넣으면 정보를 얻게 된다.컴퓨터의 근본적인 목적은 자료를 처리하여 최종적으로 정보를 제공해주는 것이다.(2) 자료의 정의현실 세계에서 관찰이나 측정을 통해서 수집된 값이나 사실우리의 생활에서 실제로 만질 수 있거나 볼 수 있는 것(길이, 무게, 부피 등을 측정할 수 있는 대상)에 대해서 물리적인 단위로 표현하여 얻어낼 수 있는 내용쉽게말해, 자료는 더 이상 쪼개지지 않는 원시 데이터이다.(3) 정보의 정의자료가 가공이 되어서 유의미한 형태로 변환이 되어 제공이 되는 것을 정보라고 한다.쉽게말해, 자료가 2개 이상 서로 상호작용을 통해 얻게 되는 유..
[컴퓨터과학 개론] 1강 - 컴퓨터와 자료(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 컴퓨터(1) 컴퓨터란?[ 프로그램이 가능한 데이터 처리기 ]단순히 데이터 처리기 자체의 의미는 입력, 처리, 출력을 정의하는 용어라 계산기도 데이터 처리기로 볼 수 있음.명확한 분류를 위해 컴퓨터의 특징인 프로그램을 추가하면 컴퓨터가 무엇인지 명확해짐. ( 프로그램이 가능한 데이터 처리기 )[ 프로그램 이란? ]컴퓨터가 데이터를 어떻게 처리할 지를 알려주는 일련의 명령어 집합을 의미함.처리 가능한 작업의 유형과 연산의 집합을 결정쉽게말해, 하나의 컴퓨터에 여러 프로그램을 돌릴 수 있기 때문에 작업의 유형과 연산의 집합을 결정 할 수 있게됨.프로그래밍 과정의 결과물을 프로그램이라고 함. ( 알고리즘을 만들고 그것을 프로그래밍 언어로 구현 )[ 정리 ]컴퓨터는 특수 목적의 한 종류의 작업을 처리하는..
[C언어] C 언어의 개요
·
🛠️Backend/⚙️C
✅ 1. C 언어의 등장과 발전(1) 컴퓨터 프로그래밍과 프로그래밍 언어[ 프로그래밍이란? ]컴퓨터가 작업을 수행하기 위해 실행해야 하는 일련의 명령을 작성하는 것[ 프로그래밍 언어 ]프로그램을 작성하기 위해 사용되는 언어(2) C 언어의 탄생1972년 Bell 연구소의 Denis Ritchie가 시스템 프로그래밍을 위한 목적으로 개발한 프로그래밍 언어이다.컴퓨터 기종간 호환성이 높은 고급 프로그래밍 언어하드웨어 수준의 제어와 빠른 실행이 가능한 프로그램을 만들 수 있는 언어PDP-7 컴퓨터에서 어셈블리어로 구현한 Unix 커널을 C언어로 재작성 즉, C로 바꿔서 쉽게 보이게함.다양한 컴퓨터에 Unix 운영체제를 이식할 수 있게 됨 ( 현대의 운영체제들은 대부분 Unix 기반으로 만들어져 있음. )(3)..