[CS50] C 언어 - 사용자 정의 함수, 중첩 루프
·
Lang/C
들어가기 전에 프로그래밍을 하다 보면 가끔 반복적으로 작성해야 하는 코드가 있습니다. 이런 코드를 여러번 쓰지 않고 함수 형태로 저장해두면 코드를 간결하고 이해하기 쉽게 만들 수 있습니다. 사용자 정의 함수를 사용 하는 방법을 배워봅니다. 더불어서 하나의 루프로 수행하기 힘든 작업을 중첩 루프를 이용하여 해결하는 방법도 배워 보겠습니다. 학습 목표 사용자 정의 함수와 중첩 루프를 작성할 수 있습니다. 핵심 단어 사용자 정의 함수 중첩 루프 “cough”라고 세 번 말하는 C 프로그램을 작성 동일한 작업을 반복 #include int main(void) { printf("cough\n"); printf("cough\n"); printf("cough\n"); } For문 사용 #include int main..
[CS50] C 언어 - 자료형, 형식 지정자, 연산자
·
Lang/C
들어가기 전에 C에서는 정수나 문자열 외에도 다양한 데이터 타입이 정의되어 있습니다. 또한 각 타입에 맞는 형식 지정자를 통해 적절한 포맷으로 출력하고, 다양한 연산자를 통해 조건문을 설정하거나 데이터 값을 계산할 수 있습니다. 학습 목표 다양한 데이터 타입과 형식 지정자를 나타내는 방법을 학습합니다. 다양한 연산자를 이용하여 조건문을 표현하는 방법을 학습합니다. 핵심 단어 char long float double % && || 데이터 타입 변수의 데이터 타입으로 사용할 수 있는 것들 bool: 불리언 표현, (예) True, False, 1, 0, yes, no char: 문자 하나 (예) 'a', 'Z', '?' string: 문자열 int: 특정 크기 또는 특정 비트까지의 정수 (예) 5, 28, ..
[CS50] C 언어 - 조건문과 루프
·
Lang/C
들어가기 전에 스크래치에서 블록으로 표현했던 조건문과 루프 또한 C로 동일하게 구현할 수 있습니다. 스크래치에서 여러 기능을 가진 블록들을 이어붙였던 것 처럼 C의 다양한 문법을 이용하면 조건문과 루프를 더 간단한 텍스트 형식으로 표현할 수 있습니다. 학습 목표 조건문과 루프를 c로 작성할 수 있습니다. 핵심 단어 int if while for int 변수가 정수(integer)라는 것을 알려주는 것이고, counter는 변수의 이름, 0은 그 값에 0을 저장(초기화)하는 것 변수의 값을 1씩 증가 조건문 일치 연산자(==) 같다는 것을 표현 루프 while true라는 항상 참이 되는 성립 조건을 통해 while 루프가 영원히 수행 특정 횟수만큼 작업을 수행 for for ( ) 안에 각각 (변수 초기..
[CS50] C 언어 - 문자열
·
Lang/C
들어가기 전에 문자열을 다루기 위해서는 문자열 형식을 가진 변수가 필요합니다. 사용자로부터 문자열을 입력받고 이를 다른 문자열과 합쳐서 출력하는 프로그램을 C로 작성해보겠습니다. 학습 목표 C로 문자열 형식을 가진 변수를 선언하고 출력하는 프로그램을 만들 수 있습니다. 핵심 단어 형식지정자 string make 변수 선언 스크래치와 C (1) 스크래치의 ask 함수 = C의 get_string 함수 사용자의 이름을 받아서 저장할 변수 answer 형식 지정자 string 사용 할당 연산자(=) 사용 string 단어나 구절, 문장을 부르는 말(숫자와는 다른 종류의 데이터) 형식 지정자 변수가 저장하는 데이터의 종류를 아주 정확하게 명시 할당 연산자(=) 오른쪽에서 왼쪽으로 가는 화살표와 비슷 오른쪽에 있..
[CS50] C 언어 - C 기초
·
Lang/C
들어가기 전에 그래픽 인터페이스로 상호작용성이 좋은 스크래치로도 간단한 프로그래밍을 할 수 있지만, 텍스트 기반의 프로그래밍 언어를 이용해도 컴퓨터에게 동일한 일을 하게 할 수 있습니다. 가장 널리 쓰이는 프로그래밍 언어중 하나인 C의 기초를 배워보겠습니다. 학습 목표 C로 “hello, world”를 출력하는 프로그램을 만들 수 있습니다. 핵심 단어 stdio.h clang 컴파일러 C언어 C #include int main(void) { printf("hello, world\n"); } C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어 스크래치와 C int main(void) ‘시작한다’의 의미 앞으로 우리가 작성할 코드 모두는 이 int main(void) { } 의 중괄호 사이에 작성 prin..
[CS50] 컴퓨팅 사고 - Quiz 1
·
Lang/C
이진법(단일선택, 5점) 숫자 10을 2진법으로 표현하기 위해서 최소 몇 개의 비트가 필요할까요? 7비트 4비트 100비트 8비트 정보의 표현(단일선택, 5점) 링크(https://ko.wikipedia.org/wiki/ASCII) 하단의 아스키 코드를 사용하여 edwith을 10진수로 표현해 보세요. 069 100 119 073 084 072 101 100 119 105 116 104 069 068 087 073 084 072 101 068 087 105 084 104 알고리즘(단일선택, 5점) 총 512페이지의 전화번호부에서 '이펭수'은 64페이지에 있습니다. 책의 절반씩을 찾아보는 두 번째 알고리즘을 사용한다면, '이펭수'을 찾기 위해 페이지를 몇 번 찾아봐야 할까요? 4번 1번 3번 2번 2진법과..
[CS50] 컴퓨팅 사고 - 스크래치: 심화
·
Lang/C
학습 목표 스크래치를 이용하여 보다 복잡한 알고리즘을 구현할 수 있습니다. 핵심 단어 스크래치 블록 변수와 루프 https://scratch.mit.edu/studios/25128634/ 변수를 사용하면 정보를 저장하고 다시 재사용할 수 있음 변수와 조건문 조건문을 활용하면 더 복잡한 프로그램도 가능 (여기서는 ‘참’ 또는 ‘거짓’ 값을 가지는 불리언 변수를 사용) boostcourse 모두를 위한 컴퓨터 과학 (CS50 2019)을 수강하고 정리한 글입니다
[CS50] 컴퓨팅 사고 - 스크래치: 기초
·
Lang/C
학습 목표 스크래치를 이용하여 간단한 알고리즘을 구현할 수 있습니다. 핵심 단어 스크래치 블록 스크래치 그래픽 프로그래밍 언어 블록을 옮겨 붙여서 알고리즘을 만들어 볼 수 있음 화면 왼 쪽에는 함수나 변수 등을 나타내는 퍼즐 조각들이 있음 스크래치 블록 입력이 주어졌을 때 블랙 박스를 거쳐 출력이 되는 컴퓨터의 작동 원리를 생각해보면, 하나의 블록이 블랙 박스의 역할을 하는 것 가령 “말해라” 라는 블록에 “hello, world”라는 입력을 주게되면 그 결과로 고양이가 “hello, world”라고 말하게 됨 이러한 입력과 출력을 이어 붙여서 여러 작업을 순차적으로 수행할 수도 있음 boostcourse 모두를 위한 컴퓨터 과학 (CS50 2019)을 수강하고 정리한 글입니다
[CS50] 컴퓨팅 사고 - 알고리즘
·
Lang/C
학습 목표 우리가 일상 생활에서 하는 일들을 컴퓨터가 이해할 수 있는 알고리즘으로 표현할 수 있습니다. 효율적인 알고리즘에 대해 설명할 수 있습니다. 핵심 단어 알고리즘 의사코드 알고리즘 입력(input) 숫자, 글자, 색깔 등을 컴퓨터가 이해할 수 있는 2진법으로 표현한 것 컴퓨팅 입력을 받아 그 입력을 처리한 후 출력(output)하는 과정 알고리즘 입력(input)에서 받은 자료를 출력(output)형태로 만드는 처리 과정 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열 정확성과 효율성이 중요함 먼저, 전화번호부 가운데를 폅니다. 만약 Mike Smith가 그 페이지에 있다면 우리 알고리즘은 끝납니다. 없다면, 전화번호부가 이름순으로 정렬되어 있으므..
[CS50] 컴퓨팅 사고 - 정보의 표현
·
Lang/C
학습 목표 컴퓨터가 문자, 사진, 영상, 음악 등 다양한 정보를 처리하는 방식을 설명할 수 있습니다. 핵심 단어 ASCII 유니코드 RGB ASCII 설명미국정보교환표준부호(아스키코드/American Standard Code for Information Interchange) 문자를 숫자로 표현하는 표준 총 **128개의 부호(8개의 비트만을 사용)**로 정의되어 있음 가령 알파벳 A는 10진수 기준으로 65, 알파벳 B는 66로 되어 있음 Unicode 8, 16, 24, 32비트 사용 가능 ASCII보다 더 다양한 문자와 이모티콘 표현 가능 그림, 영상, 음악의 표현 픽셀은 빨강, 초록, 파랑 세 가지 색을 서로 다른 비율로 조합하여 특정한 색을 갖는 작은 점 예를 들어, 빨간색 72, 초록색 72,..