
우리가 일상적으로 사용하는 컴퓨터는 어떤 원리로 작동될까? 또, 우리가 컴퓨터를 사용하여 해결하는 여러 일들은 어떻게 가능한걸까? 컴퓨터 과학이란 무엇이고, 컴퓨터가 작동하게 하기 위해 어떤 약속들이 필요한지 살펴보자.

우리는 컴퓨터를 통해 다양한 정보를 처리한다. 간단한 숫자부터 시작해서, 문자, 사진, 영상, 음악까지 정보를 표현하는 형태는 매우 많다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할 수 있을까?

컴퓨터는 정보를 어떻게 가공하여 출력하는 걸까? 우리가 일상 생활에서 다양한 문제를 처리하는 방식 처럼, 컴퓨터 또한 순서대로 필요한 동작을 하며 문제를 처리한다. 이를 알고리즘이라고 하는데, 알고리즘은 어떻게 정의할 수 있고, 그 정확성과 효율성은 어떨까?

진행 날짜 2024년 2월 6일 범위 2진법 정보의 표현 알고리즘 스크래치: 기초 스크래치: 심화 Mission Quiz 1. 숫자 10을 2진법으로 표현하기 위해서 최소 몇 개의 비트가 필요할까요? 정답 Quiz 2. [링

C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다.

문자열을 다루기 위해서는 문자열 형식을 가진 변수가 필요하다. 사용자로부터 문자열을 입력받고 이를 다른 문자열과 합쳐서 출력하는 프로그램을 C로 작성해보자.

스크래치에서 블록으로 표현했던 조건문과 루프 또한 C로 동일하게 구현할 수 있다. 또, 스크래치에서 여러 기능을 가진 블록들을 이어붙였던 것 처럼 C의 다양한 문법을 이용하면 조건문과 루프를 더 간단한 텍스트 형식으로 표현할 수 있다.

C에서는 정수나 문자열 외에도 다양한 데이터 타입이 정의되어 있다. 또한 각 타입에 맞는 형식 지정자를 통해 적절한 포맷으로 출력하고, 다양한 연산자를 통해 조건문을 설정하거나 데이터 값을 계산할 수 있다.

프로그래밍을 하다 보면 가끔 반복적으로 작성해야 하는 코드가 있다. 이런 코드를 여러번 쓰지 않고 함수 형태로 저장해두면 코드를 간결하고 이해하기 쉽게 만들 수 있다. 사용자 정의 함수를 사용 하는 방법을 알아보자.

컴퓨터는 RAM(랜덤 액세스 메모리)이라는 물리적 저장장치를 포함하고 있다. 우리가 작성한 프로그램은 구동 중에 RAM에 저장되는데, RAM은 유한한 크기의 비트만 저장할 수 있기 때문에 때때로 부정확한 결과를 내기도 한다.

진행 날짜 2024년 2월 15일 범위 C 기초 문자열 조건문과 루프 자료형, 형식 지정자, 연산자 [사용자 정의 함수, 중첩 루프](https://velo

우리가 작성한 C 코드를 실행하기 위해서는 컴파일링을 해줘야 한다. C문법로 작성된 텍스트 형식의 파일은 컴파일링시 구체적으로 어떤 단계를 거쳐서 컴퓨터가 해석 가능한 파일로 변환될까?

우리가 소스코드를 작성하다보면, 때때로 우리 의도와는 다른 오류나 결과를 맞닥뜨리게 된다. 이를 “버그”라고 하는데, 버그를 효과적으로 찾고 해결하는 방법에 대해 알아 보자.

규모가 큰 프로그램을 작성할 때는 보통 한 사람이 아닌 여러 사람들이 함께 작업을 진행하게 된다. 이 때는 내가 기여한 부분이 프로그램에 오류를 발생시키지 않도록 주의를 기울여야 한다. 또한 코드의 내용 뿐만 아니라 그 형식도 신경써야 한다.

우리가 특정 자료형의 변수를 선언하면 이는 메모리상 어딘가에 특정 크기만큼의 자리를 차지하게 된다. 만약 비슷한 종류의 값을 모아서 저장하고 싶다면 어떻게 해야 할까?

우리가 특정 자료형의 변수를 선언하면 이는 메모리상 어딘가에 특정 크기만큼의 자리를 차지하게 된다. 만약 비슷한 종류의 값을 모아서 저장하고 싶다면 어떻게 해야 할까? 메모리상에서 여러 값을 연이어서 저장하고 사용하는 방법과 그 이점을 알아보자.

우리는 여태껏 문자열을 저장하기 위해 string 자료형을 사용했다. ‘문자열’이라는 단어는 다시 말해 문자가 ‘나열되어 있다’ 또는 ‘배열되어 있다’ 라는의미로 추측해 볼 수 있다. 이런 관점에서 봤을 때 string 자료형은 C에서 정확히 어떻게 정의되어 있을까?

문자열 안에 포함되어 있는 문자를 검색하기 위해서는 어떻게 해야 할까? 그리고 특정 문자를 다른 문자로 바꾸기 위해서는 어떻게 해야 할까?

프로그램을 실행할 때 컴파일하고자 하는 코드 외에도 컴파일 후 저장하고자 하는 파일명과 같이 추가적인 정보를 함께 줄 수도 있다. 이런 정보들을 명령행 인자 라고 부르며, 우리가 작성하는 프로그램에서도 명령행 인자를 받을 수 있도록 설계할 수 있다.

진행 날짜 2024년 2월 28일 범위 컴파일링 디버깅 코드의 디자인 배열(1) 배열(2) [문자열과 배열](h

이제까지 배운 메모리의 구조, 자료형, 배열과 같은 기본적인 개념을 활용하여 검색이나 정렬과 같은 문제를 푸는 알고리즘을 배울 차례다.먼저 주어진 배열 속에서 특정 값을 찾는 방법부터 알아보자.

프로그램을 실행하면 작업이 완료될때까지 어느정도 시간이 소요된다. 이때, 처리하는 데이터가 많아지고 처리하는 작업이 복잡해질수록 실행 시간은 매우 중요해진다. 특정 알고리즘을 작성하였을 때 그 실행 시간을 표기하는 방법을 알아보자.

주어진 배열에서 선형 검색으로 값을 찾는 방법을 알아보자.또, 전화번호부와 같이 배열이 여러개가 있는 경우, 한 배열의 특정 속성값을 찾고 동일한 위치의 다른 배열의 속성값을 출력하는 방법도 알아보며 이를 더 간단하고 확장성있게 구현하는 방법을 배워보자.