본문 바로가기

반응형
SMALL

전체 글

데이터구조 4차시: Recursion Recursion: 재귀함수, 순환함수 Recursion함수의 개념 recursion함수는 묘한 매력이 있다.이걸 사용해서 프로그램을 짜면,엄청나게 짧게 짜더라도, 놀라운 일을 후딱 해치우기 때문이다.그런데,이해하기는 쉽지 않다. Recursion 함수를 정의하자면 함수가 내부에서 자기 자신을 호출하는 것이다.보통은 함수가 다른 함수를 호출하거나,일을 끝내면 return하는 것이 도리이거늘,recursion함수는 자기 자신을 호출한다.헐...그러면, 이건 도대체 뭘 의미하는가?혹시,,이런 경험있으세요,, 밤 늦은 시간에 지친 몸을 이끌고엘리베이터에 탔다.혼자였다.옆에 붙은 거울을 보는데,그 반대쪽에도 거울이 붙어 있다. 그러면 이런 일이 벌어진다. 거울 속에 내가 있고, 그 안에 내가 있고, 그 속에 내.. 더보기
데이터구조 3차시: Abstract Data Type, typedef Abstract Data Type data type, 혹은 데이터형C언어에서 변수들은 data type을 가진다.가장 대표적인 것인 int, int는 정수값을 말한다. int형의 변수에는 음의 정수, 0, 양의 정수를 저장할 수 있다.실수값을 저장할 수 있는 data type은 float, 혹은 double 또는 새로운 데이터형을 만들 수도 있다.struct를 이용하는 것이다.예를 들어,struct A{ int a; char c[10];}; 와 같이 하면struct A라는 새로운 data type을 만든 것이다.그리고 struct A a라고 하면,a 라는 변수를 만든 것이고,이 변수의 data type은 struct A가 된다. abstract data typeAbstract Data Type (줄여서 .. 더보기
객체기반SW설계 31차시: Method overriding 실습 Method overriding에 대해 실습합니다. 더보기
프로그래밍개론 19차시: bit연산자 bit 연산자에 대해서 설명합니다. 더보기
프로그래밍개론 18차시: 관계연산자, 논리연산자 관계연산자에 대해서 설명합니다. 논리연산자에 대해서 설명합니다. 더보기
프로그래밍개론 17차시: 연산자 shorthand와 증감연산자 연산자의 shorthand에 대해서 설명합니다. 증감연산자의 사용에 대해서 설명합니다. 더보기
프로그래밍개론 16차시: Operator개요 연산자 (operator)에 대해서 알아봅니다. 더보기
프로그래밍개론 15차시: 이진수, 실수형, 오버플로 실수 데이터형 (Data type for Real Numbers) C언어에서는 실수를 위해 다음과 같은 두 가지 데이터형을 제공한다. 자료형 크기 float 4 bytes double 8 bytes 프로그램으로 확인해 보는 크기와 최대, 최소값 아래는 float와 double형의 크기와각각에 해당하는 최소값과 최대값을 출력해주는 프로그램이다.실수형의 최소, 최대값을 알기 위해서는line 2에서와 같이 float.h 헤더파일을 사용해야 하고,FLT_MIN (MAX), DBL_MIN(MAX)가 최소, 최대값에 해당한다. 1 2 3 4 5 6 7 8 9 10 11 12#include #include int main(void) { printf("float size is %d\n", sizeof(float)); .. 더보기
프로그래밍개론 14차시: int형, sizeof, 데이터 범위 정수 자료형 (Data type for Integer) C언어에서는 정수를 저장할 수 있는 자료형으로 다음 4가지를 제공한다. 주의할 것은 long형은 Windows 운영체제에서는 int와 동일하다.다른 운영체제에서는 다를 수도 있으니, 경우에 따라 확인해서 사용해야 한다. 자료형 설명 저장가능한 최소값 저장가능한 최대값 char 1 바이트 크기를 갖는다. -128 127 short int 혹은 short 2 바이트 크기를 갖는다. -32,768 32,767 int 4 바이트 크기를 갖는다. -2,147,483,648 2,147,483,647 long Windows에서는 int와 동일하다. -2,147,483,648 2,147,483,647 sizeof( )데이터형이 갖는 크기를 알려면sizeof( )연.. 더보기
프로그래밍개론 13차시: #define 매크로와 데이터형 char 매크로 (Macro) #define프로그래밍하면서어떤 숫자는 너무 길거나 복잡해서 불편한 경우가 있다.예를 들어,원주율 파이(pi)같은 것이 그런 것이다.3.141592.....이걸 다 치고 있으려면 시간도 많이 걸리고,오타날 확률도 있다.그리고,숫자가 짧긴 하지만,다른 사람이 보기에 그 숫자가 무엇을 의미하는지가직관적이지 않을 때가 있다.예를 들어,13.무슨 뜻일까?주민번호 자릿수 이다. 그래서, C언어에서는 특정 수에 이름을 붙여서 사용할 수 있도록 하는#define 매크로라는 것을 제공하고 있다. 아래 프로그램을 보면 쉽게 이해간다.#define MYNUMBER 15#define이라고 쓰고, 내가 사용하고 싶은 이름을 쓰고,그 이름에 해당하는 숫자를 쓰면 된다.이 때, #define 매크로 뒤에는 .. 더보기
프로그래밍개론 12차시: printf format specifier printf의 형식지정자 (format specifier)C언어에서printf를 이용하면숫자등을 간단히 출력할 수 있다.예를 들어int변수 a의 값을 출력하려면 다음과 같이 한다.int a = 10;printf("%d", a); 이것이 가능한 이유는'%d'가 a의 값을 10진수로 출력할 수 있게 하기 때문이다이런 것을 형식지정자라고 한다. 정수출력에 사용되는 형식지정자%d : 10진수%o : 8진수%x : 16진수, a~f의 소문자 사용%X: 16진수, A-F의 대문자 사용 이러한 형식지정자를사용하면,같은 숫자라도 다양한 형식으로 출력해 볼 수 있다.아래 프로그램은 10진수 15를8진수와 16진수로 출력하고 있다. 출력함수 printf에서 사용할 수 있는 형식지정자에 대해 설명합니다. 더보기
프로그래밍개론 11차시: 상수 숫자 (Numbers) C언어에서 사용할 수 있는 숫자들에 대해서 설명합니다. 10진수10, 20, 0, -1,-10아주 쉽다. 음수는 앞에 '-'를 붙이면 된다. 16진수이제, 컴퓨터의 세계로 왔으니,컴퓨터가 사용하는 16진수도 알아야 한다.16진수는 앞에 '0x' 혹은 '0X'라고 먼저 쓰고,그 뒤에 숫자를 쓴다. '0'은 숫자 0이다. 10진수 16진수 0 0x0 1 0x1 2 0x2 3 0x3 4 0x4 5 0x5 6 0x6 7 0x7 8 0x8 9 0x9 10 0xA 11 0xB 12 0xC 13 0xD 14 0xE 15 0xF 16 0x10 17 0x11 8진수16진수를 많이 쓰지만, 8진수도 쓴다.앞에 숫자 '0'을 붙여서 나타낸다. 10진수 8진수 0 00 1 01 2 02 3 03 4 0.. 더보기
프로그래밍개론 10차시: 변수 선언과 초기화 변수(Variable)의 사용 아래 프로그램은 변수 사용의 다양한 예를 보여준다.별로 어려운 것은 없다.여기서는 덧셈 연산 (+)만 보여주는 데,뺄셈은 '-'곱셈은 '*'나눗셈은 '/' 등의 기호도 사용할 수 있다. (이것은 나중에 자세히 설명한다.) 변수의 초기화 변수를 선언하면서 동시에 값을 지정하는 것을 초기화라고 한다.int x = 10;그런데, 이것은 사실 이런 것과 같다.int x;x = 10;초기화를 안 할 경우, 변수 x에는 선언할 때 이상한 값이 저장된다. 일명 쓰레기값. 영어로는 Garbage value.x를 가지고 계산하기 전에적정한 값을 저장하는 것을 잊지 않을 수 있으면 초기화는 안 해도 되지만,그럴 자신이 없으면 초기화해두는 습관을 가지는 것도 좋다.초기값으로는 '0'을 해 두면.. 더보기
프로그래밍개론 9차시: 변수 이름붙이기 Variable (변수) 변수는 값을 저장하기 위한, 이름 붙여진 공간이다.아래 프로그램을 보자.line 5: int x;공간을 만들고, 거기에 x라는 이름을 붙여서 변수를 만든 것이다.int는 integer의 약자로, 정수를 의미한다.이것은 변수에 저장될 수 있는 값을 한정한다.즉, 변수 x에는 정수가 저장됨을 의미한다.int 같은 것을 변수의 data type (데이터형)이라고 한다. 비유를 들면 이렇다.휘발유 내차;경유 너차;내차에는 휘발유를 넣어야 하고,너차에는 경유를 넣어야 하는 것과 같다. line 5-7:변수 x, y, z, 세 개를 선언하는 것이다.모두 정수를 저장할 수 있는 변수이다. int x, y, z;같은 data type을 갖는 변수들이면,위와 같이 한 줄로 선언해도 된다. lin.. 더보기
프로그래밍개론 8차시: scanf 함수 쓸모있는 프로그램을 만들어보자.화면에 별 소용도 없는 Hello 같은 인사말을 출력하는프로그램말고,요긴하게 쓸 수 있는 프로그램을 만들어 보자. 계산기는 어떨까?헐,,목표가 너무 높은거 아냐.그래서,아주 간단한 계산기를 만들어보자.2개의 숫자를 입력하면,두 숫자의 합을 출력해주는 프로그램을 만들어보자.C언어로 말이다. 이걸 만들려면,,2개의 숫자를 입력받는 방법을 알아야 하고,2개의 숫자를 더하는 방법을 알아야 하고,합을 출력하는 방법을 알아야 한다.알아야 할 것 투성이다. 완성 프로그램하나하나 설명해 가면서 만드는 것도의미는 있지만,일단, 다 만들어 놓고,한 줄 한 줄 설명해보자.일단, 구현한 계산기 프로그램과 실행결과이다. line 5-7:계산기는 숫자를 2개 입력받아야 하는데,이를 저장하기 위한 변.. 더보기

반응형
LIST