저자 : 안기수 , 출판사 : 생 능 , 출판 일 : 2007 년 9 월 이 책 은 C 언어 문법 과 프로그래밍 방법 을 이해 하 기 쉽 게 서술 한 프로그램 입문서 로서 컴퓨터 비전 공자 나 전공 자 모두 를 대상 으로 합니다 . 이 책 에 포함 된 예제 프로그램 은 Visual C ++ 6 . 0 을 기준 으로 작성 되 었 으나 , Turbo C / C ++ 의 경우 와 실행 결과 를 비교 할 수 있 도록 함께 수록 하 여 컴파일러 에 상관없이 예 제 프로그램 의 실습 을 진행할 수 있 습니다 . 이 책 은 다음 과 같이 [ 프로그램 기초 ] , [ 문법 이해 와 적용 ] , [ 프로그램 응용 ] 그리고 [ 분석 및 종합 평가 ] 의 4 단계 로 진행 할 수 있 도록 구성 되 어 있 으며 , 총 12 부 ( 22 장 ) 로 구분 하 였 습니다 . 각 단원 에 포함 된 예제 들 은 Visual C ++ 나 Turbo C / C ++ 컴파일러 모두 사용 할 수 있 는 예제 를 다루 고 있 으며 , 특정 컴파일러 에 만 적용 되 는 예제 들 은 따로 구분 하 여 프로그램 과 실행 결과 를 비교 할 수 있 도록 하 였 습니다 . 강의 를 하 시 는 교수 님 들 께 는 PPT 파일 , 프로그램 소스 , 연습 문제 정답 , 과제 와 프로젝트 프로그램 을 제공 합니다 . 각 단계 별 로 특징 을 요약 하 면 다음 과 같 습니다 . [ 프로그램 기초 ] 단계 * 프로그램 의 개요 , 프로그램 작성 에 요구 되 는 기초 지식 ( 변수 와 연산자 , 출력 ) 을 설명 . * 맛보기 프로그램 을 통해 프로그램 을 작성 하 고 , 컴파일 과 실행 방법 을 단계 별 로 진행 . [ 문법 이해 와 적용 ] 단계 * 프로그램 언어 를 배울 초보 자 에게 문법 의 개념 은 쉽 지 않 으므로 각 단원 도입 부분 에 실생활 과 연관 지 어 문법 의 개념 을 이해 할 수 있 도록 설명 . * 각 단원 의 문법 은 앞부분 의 『 기초 문법 』 부분 과 뒷부분 의 『 추가 문법 』 부분 으로 구분 . 강의 대상자 ( 전공 자 와 비전 공자 ) 에 따라 강사 님 의 선택 적 인 수업 과 진도 속도 조절 가능 . * 빠른 실습 진행 과 확고 한 문법 이해 를 위해 가능 한 예제 의 일관 성 을 유지 . * 각 단원 의 마지막 에 『 단원 정리 』 를 통해 학습 한 문법 을 정리 ․ 확인 . * 연습 문제 는 응용 보다 는 가능 한 문법 이해 와 적용 에 초점 을 둠 . [ 프로그램 응용 ] 단계 * [ 문법 이해 와 적용 ] 단계 에 대한 심화 학습 부분 . * 11 부 의 part I 은 진법 변환 외 에 9 개 의 주제 를 중심 으로 각 주제 에 대한 프로그램 을 어떻게 어떤 방법 으로 확장 시켜 나갈 수 있 는지 를 단계 별 로 설명 하 여 , 자기 주도 적 학습 이 가능 함 . part I 은 프로그램 언어 과목 을 수강 할 여러 학과 의 특성 에 맞 게 선택 적 으로 진행 . part II 는 컴퓨터 관련 전공 자 들 에게 필요 한 자료 구조 를 설명 . [ 분석 및 종합 평가 ] 단계 * 32 가지 의 과제 와 25 개 의 프로젝트 주제 를 포함 . * 비 전공 자 나 전공 자 가 과제 나 프로젝트 를 수행 하 는데 있 어서 쉽 게 접근 할 수 있 도록 각 주제 별 로 『 설명 』, 『 처리 방법 과 기준 』, 『 문제 분석 』, 『 예제 와 출력 형식 』 그리고 『 주요 문법 과 참고 프로그램 』 으로 구분 하 여 정리 . [ 과제 예제 ] CD 에 는 12 부 과제 와 프로젝트 프로그램 내용 과 예제 source 프로그램 이 포함 되 어 있 습니다 . 12 부 의 내용 은 pdf 파일 로 저장 되 어 있 으므로 Acrobat Reader 프로그램 을 설치 해야 만 내용 을 보 실 수 있 습니다 . 예제 source 프로그램 은 Visual C ++ 와 Turbo C ++ 의 예제 를 구분 하 여 저장 하 였 습니다 . 1 부 프로그램 을 시작 하 기 전 에 1 . 컴퓨터 와 프로그램 1 . 1 프로그램 이 필요 한 이유 는 ? 1 . 2 프로그램 은 무엇 으로 만드 는가 ? 1 . 3 프로그램 은 어떻게 시작 되 었 나 ? 1 . 4 프로그래밍 은 요리 를 만들 어 가 는 과정 과 같 다 . 1 . 5 컴퓨터 는 프로그램 을 이해 하 는가 ? 1 . 6 실행 가능 한 프로그램 이 만들 어 지 기 까지 의 과정 1 . 7 프로그램 언어 는 어디 에서 어떻게 작성 하 는가 ? [ 참고 ] C 언어 가 탄생 하 기 까지 [ 단원 정리 ] [ 연습 문제 ] 2 부 프로그램 의 작성 과 실행 2 . 프로그램 작성 에 필요 한 기초 지식 들 2 . 1 프로그램 은 문제 해결 을 위한 계산 과정 의 연속 2 . 1 . 1 상수 와 연산자 그리고 명령 2 . 1 . 2 데이터 를 보관 하 는 장소 , 변수 [ 참고 ] 변수 이름 에 대한 규칙 2 . 2 인질 을 담보 로 하 여 돈 과 교환 ? 2 . 3 C 언어 맛보 기 [ 참고 ] 컴퓨터 가 이해 하 는 기계어 는 어떤 형태 인가 ? [ 참고 ] 추가 적 인 변수 를 사용 하 지 않 고 도 두 변수 의 값 을 바꿀 수 있 다 ? [ 단원 정리 ] [ 연습 문제 ] 3 . 처음 으로 작성 하 는 C 프로그램 3 . 1 변수 를 이용 한 프로그램 의 작성 과 실행 3 . 1 . 1 Visual C ++ 의 실행 3 . 1 . 2 새 프로그램 작성 3 . 1 . 3 프로그램 저장 과 컴파일 3 . 1 . 4 컴파일 과정 에서 나타나 는 오류 와 해결 방법 3 . 1 . 5 실행 프로그램 의 생 성과 실행 3 . 1 . 6 프로그램 작업 종료 3 . 1 . 7 프로그램 불러오 기 , 수정 과 재 실행 [ 참고 ] 실행 프로그램 이 만들 어 지 기 까지 생성 되 는 여러 파일 들 [ 참고 ] 누 가 , 언제 , 무엇 을 하 려고 만든 프로그램 인지 를 표시 하 는 주석 [ 참고 ] 프로그램 의 글꼴 ( font ) 을 변경 하 는 방법 [ 단원 정리 ] [ 연습 문제 ] 3 부 데이터 와 연산 4 . 데이터 의 표현 과 종류 4 . 1 숫자 데이터 의 차이 4 . 2 숫자 데이터 형 의 구분 [ 참고 ] Byte 의 크기 와 표현 할 수 있 는 숫자 데이터 의 크기 와 범위 [ 참고 ] 정수형 과 실수 형 데이터 의 표현 과 저장 방법 4 . 3 문자 데이터 와 사용 방법 [ 추가 문법 ] 4 . 4 모든 데이터 형 [ 단원 정리 ] [ 연습 문제 ] 5 . 계산 을 위해 필요 한 연산자 와 연산 식 5 . 1 산술 연산자 ( +, -, *, / , %) 5 . 2 증가 , 감소 연산자 ( ++, --) 5 . 3 대입 연산자 ( =, +=, *=, … ) 5 . 4 수식 을 연산 식 으로 표현 하 는 방법 5 . 5 연산 순서 [ 참고 ] 정수 와 실수 데이터 를 구분 하 여 얻 는 장점 은 ? [ 참고 ] 컴퓨터 는 모든 연산 을 덧셈 으로 처리 한다 ? [ 추가 문법 ] 5 . 6 그 밖 의 연산자 5 . 6 . 1 관계 연산자 ( <, >, ==, ! =, … ) 5 . 6 . 2 조건 연산자 ( ?:) 5 . 6 . 3 논리 연산자 ( &&, ||, ! ) 5 . 6 . 4 비트 연산자 ( <<, >>, ^, … ) 5 . 6 . 5 콤마 연산자 ( , ) 5 . 6 . 7 형 변환 과 캐스트 연산자 5 . 6 . 8 sizeof 연산자 5 . 6 . 9 연산자 우선 순위 [ 단원 정리 ] [ 연습 문제 ] 4 부 기본 적 인 출력 과 입력 6 . printf ( ) 와 scanf ( ) 6 . 1 printf ( ) 의 사용 방법 6 . 2 출력 할 데이터 의 자릿수 맞추 기 6 . 3 여러 데이터 를 한 줄 에 출력 하 는 방법 6 . 4 scanf ( ) 의 사용 방법 6 . 5 여러 데이터 를 한 줄 로 입력 하 는 방법 [ 참고 ] 프로그램 의 작성 이 어렵 네요 . [ 추가 문법 ] 6 . 6 여러 가지 확장 문자 들 6 . 7 형식 지정 자 의 종류 6 . 8 출력 할 데이터 의 자릿수 맞추 기 6 . 9 입력 할 데이터 의 자릿수 맞추 기 6 . 10 여러 데이터 를 한 줄 로 입력 하 는 방법 [ 단원 정리 ] [ 연습 문제 ] 5 부 제 어문 7 . 조건 에 대한 판단 과 선택 7 . 1 조건 에 대해 참인 경우 만 처리 , if 문 7 . 2 조건 에 대해 참 또는 거짓 을 구분 하 여 선택 , if else 문 [ 참고 ] if else 와 조건 연산자 ? : 7 . 3 두 개 이상 의 조건 에 대해 참 또는 거짓 을 구분 하 여 선택 , if ~ else if 문 [ 참고 ] 조건식 도 결과 가 있 다 7 . 4 특정 한 사례 를 선택 , switch case 문 [ 추가 문법 ] 7 . 5 한번 에 여러 조건 을 판 단 7 . 6 범위 ( 구간 ) 로 표시 되 는 조건 의 판단 7 . 7 switch case 문 의 응용 [ 단원 정리 ] [ 연습 문제 ] 8 . 반 복문 8 . 1 횟수 가 정해 지 는 반복 , for 문 [ 참고 ] 반 복문 의 증가 식 i += 1 ( 또는 i = i + 1 ) 이 어떻 게 1 씩 증가 하 는가 ? 8 . 2 횟수 가 정해 지 지 않 은 반복 , while 문 8 . 2 . 1 먼저 조건식 을 판단 하 여 반복 여부 를 결정 , while 문 8 . 2 . 2 먼저 반복 한 후 에 조건식 을 판단 하 여 반복 , do while 문 [ 추가 문법 ] 8 . 3 for 문 의 응용 8 . 3 . 1 1 부터 n 까지 의 정수 합 을 계산 8 . 3 . 2 n ! 의 계산 8 . 3 . 3 중첩 된 반 복문 과 구구단 8 . 3 . 4 for 문 의 축소 와 확장 [ 단원 정리 ] [ 연습 문제 ] 9 . 처리 의 흐름 을 조절 9 . 1 처리 순서 의 흐름 을 중단 하 는 break 문 9 . 2 처리 순서 의 흐름 을 계속 이어주 는 continue 문 9 . 3 처리 순서 를 이동 시키 는 goto 문 [ 단원 정리 ] [ 연습 문제 ] 6 부 함수 10 . 특별 한 기능 을 처리 하 리 도록 만들 어 진 프로그램 단위 , 함수 10 . 1 사용자 가 정의 하 는 함수 ( user defined function ) 10 . 2 함수 를 사용 하 는 프로그램 의 구성 과 형식 10 . 3 결과 값 ( 반환 값 ) 이 있 는 함수 10 . 4 함수 main ( ) 과 여러 개 의 사용 자 정의 함수 [ 참고 ] 함수 원형 을 쓰 지 않 고 printf ( ) 나 scanf ( ) 를 사용 할 수 있 는 이유 는 ? 10 . 5 void main ( ) 과 int main ( void ) [ 추가 문법 ] 10 . 6 인자 가 3 개 이상 인 함수 10 . 7 함수 원형 과 사용자 정의 함수 의 위치 10 . 8 매크로 상수 와 함수 10 . 9 재귀 함수 와 호출 [ 단원 정리 ] [ 연습 문제 ] 11 . 변수 에 대한 또 다른 속성 , 기억 클래스 11 . 1 지역 ( local ) 변수 와 전역 ( global ) 변수 11 . 2 자동 ( auto ) 변수 11 . 3 정적 ( static ) 변수 [ 참고 ] 메모리 의 기억 영역 과 구분 [ 추가 문법 ] 11 . 4 외부 ( extern ) 변수 11 . 5 레지스터 ( register ) 변수 [ 단원 정리 ] [ 연습 문제 ] 12 . 라이브러리 함수 와 응용 12 . 1 출력 함수 printf ( ) 12 . 2 입력 함수 scanf ( ) [ 참고 ] 문자열 입력 함수 gets ( ) [ 참고 ] 함수 scanf ( ) 를 사용 할 때 발생 되 는 예상 외 의 문제 와 해결 12 . 3 문자 와 문자열 관련 함수 12 . 3 . 1 문자 분류 함수 ( 헤더 파일 < ctype . h >) 12 . 3 . 2 변환 함수 ( 헤더 파일 < stdlib . h >) 12 . 3 . 3 문자열 처리 와 검색 함수 ( 헤더 파일 < string . h >) 12 . 4 수학 계산 함수 ( 헤더 파일 < math . h >) [ 추가 문법 ] 12 . 5 화면 과 커서 의 제어 12 . 5 . 1 화면 지우 기 12 . 5 . 2 커서 의 위치 제어 12 . 6 날짜 와 시간 관련 함수 ( 헤더 파일 < time . h >) 12 . 6 . 1 현재 의 날짜 와 시간 을 출력 12 . 6 . 2 시간 차이 의 계산 12 . 6 . 3 시간 을 지연 시키 는 함수 12 . 7 임의 의 숫자 난수 ( 헤더 파일 < stdlib . h >) 12 . 7 . 1 난수 생성 12 . 7 . 2 매 실행 마다 다른 난수 를 생성 하 는 방법 ( 난수 초기 화 ) 12 . 7 . 3 중복 되 지 않 는 난수 의 생성 [ 단원 정리 ] [ 연습 문제 ] 7 부 배열 ( array ) 과 포인터 ( pointer ) 13 . 번호 가 붙 은 변수 , 배열 13 . 1 여러 개 의 변수 가 필요 한 경우 13 . 2 배열 과 변수 의 차이 13 . 3 배열 의 출력 과 입력 13 . 4 1 차원 배열 의 선언 과 사용 13 . 5 배열 과 문자열 13 . 5 . 1 문자열 을 배열 에 저장 하 는 방법 13 . 5 . 2 문자열 의 입력 과 출력 [ 추가 문법 ] 13 . 6 2 차원 배열 의 초기 화 와 출력 13 . 7 함수 와 배열 13 . 7 . 1 함수 의 인자 로 배열 을 사용 하 는 방법 13 . 7 . 2 함수 의 결과 로 배열 을 반환 하 는 방법 [ 단원 정리 ] [ 연습 문제 ] 14 . 포인터 14 . 1 데이터 와 메모리 주소 14 . 2 메모리 주소 를 저장 하 는 포인터 변수 [ 참고 ] 포인터 변수 의 크기 14 . 3 포인터 와 배열 14 . 4 포인터 와 문자열 14 . 5 포인터 에 대한 연산 [ 참고 ] 포인터 와 변수 의 데이터 형 이 일치 해야 하 는 이유 [ 추가 문법 ] 14 . 6 포인터 를 인자 로 사용 하 는 함수 호출 14 . 7 포인터 배열 [ 참고 ] 문자열 을 저장 할 때 배열 과 포인터 의 차이 14 . 8 포인터 와 함수 14 . 8 . 1 함수 포인터 14 . 8 . 2 함수 의 결과 값 으로 포인터 를 반환 하 는 함수 14 . 9 키워드 const 14 . 10 main ( ) 함수 의 인자 로 사용 하 는 포인터 [ 단원 정리 ] [ 연습 문제 ] 8 부 사용 자 가 정의 하 는 데이터 형 15 . 여러 데이터 를 하나 로 묶 는 구조 체 15 . 1 구 조체 가 필요 한 경우 15 . 2 구조 체 만들 기 15 . 3 구 조체 와 데이터 15 . 3 . 1 구조 체 변수 의 초기 화 와 데이터 출력 [ 참고 ] 구 조체 변수 의 다양 한 선언 방법 15 . 3 . 2 구조 체 변수 에 데이터 저장 15 . 3 . 3 입력 데이터 를 구조 체 변수 에 저장 15 . 4 구조 체 변수 , 구조 체 멤버 간 의 데이터 저장 15 . 5 구 조체 배열 15 . 6 구조 체 포인터 [ 추가 문법 ] 15 . 7 구조 체 멤버 가 배열 또는 포인터 인 경우 의 데이터 처리 15 . 8 구조 체 형 의 크기 와 멤버 의 위치 15 . 9 구 조체 와 함수 15 . 9 . 1 함수 의 인자 로 구조 체 변수 를 사용 15 . 9 . 2 함수 의 인자 로 구조 체 포인터 를 사용 15 . 9 . 3 함수 의 인자 로 구조 체 배열 을 사용 15 . 9 . 4 함수 의 결과 값 으로 구조 체 를 반환 하 는 함수 15 . 10 구 조체 를 헤더 파일 로 저장 하 여 사용 하 는 방법 15 . 11 구조 체 속 의 구조 체 ( 중첩 된 구조 체 ) 15 . 12 자기 참조 구조 체 [ 단원 정리 ] [ 연습 문제 ] 16 . 그 외 의 사용 자 정의 데이터 형 16 . 1 구 조체 와 비슷 하 지만 차이 가 있 는 공 용체 , union 16 . 2 상수 들 의 집합 을 정수 로 대신 하 는 열거 형 , enum 16 . 3 비트 필드 ( bit field ) [ 단원 정리 ] [ 연습 문제 ] 9 부 파일 을 이용 한 데이터 의 입력 과 출력 17 . 파일 출력 과 파일 입력 17 . 1 파일 처리 를 위한 기초 지식 17 . 1 . 1 파일 열기 와 파일 닫 기 [ 참고 ] 노트 와 파일 의 차이점 [ 참고 ] 파일 스트림 ( stream ) 이란 ? 17 . 1 . 2 파일 저장 방식 [ 참고 ] 이진 방식 으로 저장 된 파일 의 내용 이 메모장 에서 이상 하 게 보이 는 이유 17 . 1 . 3 파일 데이터 와 파일 포인터 17 . 2 텍스트 방식 의 파일 다루 기 [ 참고 ] 구조 체형 FILE 은 어떤 구조 로 정의 되 어 있 는가 ? [ 참고 ] 파일 을 다루 는데 있 어서 구분 해야 할 내용 들 17 . 2 . 1 텍스트 방식 의 파일 입출력 함수 17 . 2 . 2 문자 단위 의 파일 처리 [ 참고 ] 텍스트 방식 으로 만들 어 진 파일 의 내용 을 확인 하 는 방법 17 . 2 . 3 문자열 단위 의 파일 처리 [ 참고 ] puts ( ) 와 fputs ( ) 의 차이 [ 참고 ] gets ( ) 와 fgets ( ) 의 차이 17 . 2 . 4 입출력 형식 을 지정 하 는 파일 처리 17 . 2 . 5 키보드 ( 콘솔 ) 입력 과 파일 출력 [ 추가 문법 ] 17 . 3 이진 방식 의 파일 다루 기 17 . 3 . 1 이진 방식 의 파일 출력 17 . 3 . 2 이진 방식 의 파일 입력 [ 참고 ] 텍스트 방식 으로 저장 된 파일 을 이진 방식 으로 읽 을 수 있 는가 ? 17 . 4 원 하 는 블록 의 위치 에서 파일 읽 기 와 쓰 기 가 가능 한 랜덤 처리 방식 17 . 4 . 1 파일 포인터 의 위치 를 이동 하 는 파일 입력 [ 단원 정리 ] [ 연습 문제 ] 10 부 고급 프로그래밍 기술 18 . 응용 프로그램 개발 을 위해 필요 한 방법 과 문법 들 18 . 응용 프로그램 개발 을 위해 필요 한 방법 과 문법 들 18 . 1 프로젝트 와 분할 컴파일 18 . 1 . 1 프로젝트 만들 기 18 . 1 . 2 분 할 컴파일 18 . 1 . 3 프로젝트 불러오 기 18 . 1 . 4 Turbo C ++ 에서 의 분할 컴파일 18 . 2 프로그램 실행 중 에 기억 공간 을 확보 하 는 동적 할당 18 . 2 . 1 동적 기억 장소 할당 과 해제 18 . 2 . 2 구 조체 와 동적 할당 18 . 3 전처 리기 18 . 3 . 1 # include 와 헤더 파일 18 . 3 . 2 # define 과 매크로 18 . 3 . 3 미리 정의 된 매크로 18 . 3 . 4 조건 컴파일 18 . 4 컴파일 과 실행 에서 발생 되 는 오류 와 해결 18 . 5 배포 프로그램 [ 단원 정리 ] [ 연습 문제 ] 11 부 응용 프로그래밍 19 . 응용 프로그래밍 part I 19 . 1 진법 변환 19 . 1 . 1 10 진수 를 2 진수 로 변환 19 . 1 . 2 10 진수 를 8 진수 로 변환 19 . 2 반 복문 과 수열 19 . 2 . 1 등차수열 19 . 2 . 2 등비수열 19 . 2 . 3 계차수열 19 . 3 비트 연산 과 응용 19 . 3 . 1 비트 와이즈 연산 19 . 3 . 2 비트 시프트 연산 19 . 4 난수 를 이용 한 게임 19 . 4 . 1 컴퓨터 가 생성 한 정수 난 수 맞추 기 19 . 4 . 2 컴퓨터 와 하 는 가위바위보 게임 19 . 4 . 3 구구단 문제 풀 기 19 . 5 날짜 수 의 응용 19 . 6 기초 통계 계산 19 . 6 . 1 대표 값 19 . 6 . 2 산포도 19 . 6 . 3 통계 그래프 19 . 7 메뉴 선택 으로 진행 하 는 프로그램 19 . 7 . 1 메뉴 로 진행 하 는 구구단 프로그램 19 . 7 . 2 서브 ( sub ) 메뉴 가 있 는 프로그램 19 . 8 텍스트 파일 처리 응용 프로그램 19 . 8 . 1 한 줄 씩 데이터 를 구분 하 여 파일 출력 19 . 8 . 2 파일 입력 데이터 에 대한 기초 통계 계산 19 . 9 . 이진 파일 처리 응용 프로그램 19 . 9 . 1 block 단위 데이터 의 파일 출력 19 . 9 . 2 block 단위 데이터 의 파일 입력 19 . 9 . 3 전체 block 을 한 번 에 파일 입력 19 . 9 . 4 파일 입력 데이터 에 대한 검색 19 . 9 . 5 block 데이터 의 삭제 19 . 9 . 6 block 데이터 의 수정 20 . 응용 프로그래밍 Part II 20 . 1 자료 구조 20 . 1 . 1 단순 연결 리스트 20 . 1 . 2 이중 연결 리스트 와 트리 20 . 1 . 3 트리 의 운행 20 . 2 데이터 검색 ( Search ) 20 . 2 . 1 이진 ( binary ) 검색 20 . 2 . 2 피보나치 ( Fibonacci ) 검색 20 . 3 데이터 정렬 ( sort ) 20 . 3 . 1 삽 입 ( insertion ) 정렬 20 . 3 . 2 bubble 정렬 20 . 3 . 3 선택 ( selection ) 정렬 12 부 과제 와 프로젝트 프로그램 ( CD 에 포함 될 내용 ) 21 . 과제 프로그램 [ 과제 01 ] 최대공약수 와 최소 공배수 [ 과제 02 ] 소수 이하 임의 의 자릿수 에서 반올림 [ 과제 03 ] 비만도 측정 과 판정 [ 과제 04 ] 고속도 로 통행 요금 계산 [ 과제 05 ] 당구장 이용 요금 계산 [ 과제 06 ] 사원 봉급 계산 [ 과제 07 ] 승용차 세금 계산 [ 과제 08 ] 전력 요금 계산 [ 과제 09 ] 수 도 요금 청구서 [ 과제 10 ] 행렬 의 합 , 차 그리고 곱 의 계산 [ 과제 11 ] 파스칼 의 삼각형 [ 과제 12 ] 사칙 연산 계산기 [ 과제 13 ] 숫자 야구 게임 [ 과제 14 ] 사용 자 가 생각 한 숫자 를 컴퓨터 가 알 아 맞추 는 게임 [ 과제 15 ] 한 자리 디지털 숫자 출력 [ 과제 16 ] 주유기 메타 출력 [ 과제 17 ] 정수형 숫자 의 카운트 [ 과제 18 ] 실수 형 숫자 의 카운트 [ 과제 19 ] 문장 에 사용 된 알파벳 , 숫자 , 기타 문자 카운트 [ 과제 20 ] 서기 를 간지 로 변환 [ 과제 21 ] 특정 일 로부터 며칠 후 계산 [ 과제 22 ] 특정 일 의 요일 계산 [ 과제 23 ] 세계 주요 도시 의 현재 시간 [ 과제 24 ] Stopwatch [ 과제 25 ] 동전 던지 기 모의실험 [ 과제 26 ] 주사위 던지 기 모의실험 과 막대그래프 [ 과제 27 ] 주택 복권 당첨 번호 발생기 [ 과제 28 ] sine 과 cosine 그래프 를 동시 에 출력 [ 과제 29 ] 발 크기 에 대한 통계 조사 [ 과제 30 ] 파일 에 포함 된 알파벳 문자 의 카운트 [ 과제 31 ] 파일 크기 의 계산 과 파일 내용 을 거꾸로 출력 [ 과제 32 ] 이용자 가 1 명 인 엘리베이터 운행 제어 22 . 프로젝트 프로그램 [ 프로젝트 01 ] 주민 등록 번호 를 이용 한 생년월일 , 성별 , 띠 그리고 만나 이 계산 [ 프로젝트 02 ] 도량 현 환산 [ 프로젝트 03 ] 자동판매기 제어 [ 프로젝트 04 ] 임의 의 정수 형 숫자 에 대한 디지털 숫자 출력 [ 프로젝트 05 ] 임의 의 아라비아 숫자 를 로마 숫자 로 변환 [ 프로젝트 06 ] 2 , 8 , 10 , 16 진법 변환 [ 프로젝트 07 ] 스택 을 이용 한 후위 표기법 [ 프로젝트 08 ] 스택 ( stack ) 을 이용 한 계산기 [ 프로젝트 09 ] 특정 한 월 의 바이오리듬 ( Biorhythm ) [ 프로젝트 10 ] 로또 추 범 방식 과 같 은 로또 ( LOTTO ) 번호 생성 프로그램 [ 프로젝트 11 ] 로또 당첨 번호 에 대한 모의실험 [ 프로젝트 12 ] 구구단 학습 프로그램 [ 프로젝트 13 ] 정규 난 수생 성 [ 프로젝트 14 ] 대기 행렬 모형 [ 프로젝트 15 ] 이용자 가 2 명 인 엘리베이터 의 운행 제어 [ 프로젝트 16 ] 하노이 탑 [ 프로젝트 17 ] 랜덤 접근 에 의한 파일 데이터 의 추가 와 변경 [ 프로젝트 18 ] 텍스트 파일 에 대한 정렬 [ 프로젝트 19 ] 이진 파일 에 대한 정렬 [ 프로젝트 20 ] 학생 성적 파일 관리 [ 프로젝트 21 ] 고객 관리 프로그램 [ 프로젝트 22 ] 보 간 검색 [ 프로젝트 23 ] heap 정렬 후 파일 출력 [ 프로젝트 24 ] shell 정렬 후 파일 출력 [ 프로젝트 25 ] quick 정렬 후 파일 출력 부록 부록 1 ASCII 코드 표 부록 2 키워드 ( keyword ) 와 예약어 ( reserved word ) 부록 3 [ 여러 종류 의 데이터