Table of Contents 개요 for 문 for 문제 while 문 while 문제 do while 문 break 문 continue 문 종합 문제 1. 개요 반복문은 말 그대로 반복작업을 명령할 때 유용한 구문입니다. 거두절미하고 반복문의 필요성을 알아보기 위해 1부터 10까지의 자연수를 모두 곱한 결과를 출력하는 프로그램을 만들어 보도록 하겠습니다. 정수형 변수만을 활용한다면 아래와 같이 프로그래밍할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //code by RiKang, weeklyps.com #include int main(void) { int a; a=1; a*=2; a*=3; a*=4; a*=5; a*=6; a*=7; a*=8; a*..
Table of Contents 개요 풀이 구현 더 알아보기 : 공간 복잡도 최적화 1. 개요 냅색 문제 ( 배낭 문제 ) 는 프로그래밍계에서 유명한 문제로서 요약하면, 담을 수 있는 무게의 최댓값이 있는 배낭, 그리고 무게와 가치를 가진 짐들이 있을 때 배낭에 넣을 짐들의 가치가 최대가 되도록 배낭에 넣을 짐들을 고르는 문제입니다. 이 문제는 짐을 쪼갤 수 있는 경우와 쪼갤 수 없는 경우로 나뉩니다. 이 중 쪼갤 수 없는 경우는 0/1 배낭 문제 ( 0/1 knapsack problem ) 이라고 불리며 동적 계획법으로 해결이 가능합니다. 아래의 링크를 통해 0/1 배낭 문제의 예시를 보고 코딩한 후, 채점해 볼 수 있습니다. 아래의 풀이와 구현은 이 문제를 기준으로 설명하므로 반드시 읽어보시길 바랍니..
Table of Contents 개요 if 문 관계 연산자와 논리 연산자 if 문제 else 문 else if 문 else 문제 팁 추가 문제 switch case 문 1. 개요 지금까지의 내용은 입출력 함수, 정수형 변수, 실수형 변수입니다. 그런데 이 것들만 가지고 프로그래밍을 하면 순차적으로 모든 구문을 실행하는 프로그램밖에 만들 수 없습니다. 만일 아래와 같은 프로그램을 만들고자 한다면, 이들만으로는 굉장히 어렵다는 걸 알 수 있습니다. 이럴 때 사용할 수 있는 게 조건문입니다. 조건문은 주어진 조건에 따라 프로그램의 흐름을 바꾸는 구문입니다. 이전까지 소개된 입출력 함수나 변수의 경우엔 기초적인 사용법을 알면 누구나 비슷하게 사용할 수 있는 내용이었습니다. 하지만 조건문부터는 프로그램의 흐름을 ..
Table of Contents 선언 서식 문자 실수 오차 표현 범위 1. 선언 이전 글에서 나온 정수형 변수는 정수만을 저장하기 위해 만들어진 변수형입니다. 따라서 정수가 아닌 0.4, 2.6 같은 수는 저장할 수 없다는 문제가 있습니다. 아래의 프로그램을 돌려보면 소수점 이하의 숫자는 버려지는 걸 확인하실 수 있습니다. 1234567891011//code by RiKang, weeklyps.com#include int main(void) { int a, b; a=0.4; printf("%d\n",a); b=2.6; printf("%d\n",b); return 0;}cs 따라서 정수형 변수와는 별개로, 이러한 소수들을 저장하기 위한 실수형 변수가 존재합니다. 자주 사용되는 실수형 변수로는 float 와..
Table of Contents printf이스케이프 시퀀스문제 1. printf C언어로 프로그램을 만들 때, 가장 많이 하게 되는 작업 중 하나가 사용하고 싶은 기능을 가진 함수를 만드는 것입니다. 그러나 사용할 함수를 모두 스스로 코딩할 필요는 없습니다. 미리 만들어져 있는 함수를 가져다 씀으로써 효율적인 프로그래밍이 가능하기 때문입니다. 이 글에서는 그러한 함수 중, printf 를 소개합니다. printf 는 에 있는C언어의 대표적인 출력 함수로서, printf("출력할 내용"); 이런 식으로 큰따옴표 안에 원하는 내용을 적기만 하면 되는 편리한 함수입니다. 아래와 같은 프로그램을 실행해보면 큰따옴표 안의 내용이 출력되는 걸 확인할 수 있습니다. 123456789//code by RiKang, ..
Table of Contents 컴파일러 hello world! 프로그램 분석 1. 컴파일러 영어로 compiler, 이름 그대로 컴파일을 해주는 도구입니다. C언어가 아무리 프로그래밍 언어라고 해도, 기계 입장에서는 0101010으로 이루어진 것이 아닌 꽤 복잡한 언어입니다. 따라서 CPU가 C언어의 명령들을 그대로 실행하는 것에는 무리가 있습니다. 하지만 C 컴파일러가 있다면 문제 되지 않습니다. C 언어로 작성된 명령들을 C 컴파일러에게 전달하면, C 컴파일러가 알아서 컴퓨터가 이해할 수 있는 기계어로 바꾸어 주기 때문입니다. 이러한 과정을 컴파일이라고 합니다. 당연하다면 당연한 이야기지만, 결국 C언어를 공부하기 위해선 이 컴파일러가 필요하게 됩니다. 컴파일러는 직접 PC에 설치하여 사용할 수도 ..
Table of Contents 프로그래밍 언어 C언어 들어가기 전에 1. 프로그래밍 언어 컴퓨터, 스마트폰 등에 장착된 CPU가 0과 1만 가지고 정보를 처리한다는 건 이미 유명한 사실입니다. 하지만, 그렇다고 해서 프로그래머가 010001100...01010 이런 식으로 하나하나 타이핑을 하며 프로그램을 만들지는 않습니다. ( 프로그래밍이 01010을 치는 작업이라면 간단한 프로그램 하나 만드는 데 평생이 걸릴지도 모르는 일입니다.) 그리고 기계는 기본적으로 한글이나 영어 같은 인간의 언어를 이해할 수 없습니다. 인간의 언어와 기계의 언어, 이 둘 사이에는 프로그래밍을 배우기 전까진 인식하기 힘든 큰 갭이 있는 것입니다. 바로 이러한 갭을 줄여주기 위하여 개발된 것이 '프로그래밍 언어' 입니다. 인간..