실무자를 위한 C 언어 100제
강병익 지음 / 정보문화사 / 2023년 3월
평점 :
장바구니담기


C언어 프로그래밍 활용법을 익히자





책을 선택한 이유




C언어는 대표적 프로그래밍 언어다.



임베디드 시스템, 애플리케이션, 웹서버 프로그래밍 등은


C언어로 프로그래밍 되고 있다.



C언어 프로그래밍을 알아보기 위해


"실무자를 위한 C언어 100제"를 선택한다.





"실무자를 위한 C언어 100제"는



PART 01 배열과 포인터의 활용


PART 02 자료구조와 알고리즘의 활용


PART 03 실전 문제 해결


PART 04 다양한 실용 문제와 이미지 처리


PART 05 실무 프로젝트 개발



로 구성되었다.




PART 01 배열과 포인터의 활용 에서는



001 정수를 배열에 저장하고 최소값, 최대값, 평균값 계산하기


002 랜덤 숫자 만들기


003 몬테카를로 시뮬레이션으로 크랩스 게임 확률 계산하기


004 겹치지 않는 랜덤 숫자 만들기


005 플레잉 카드 한 벌을 랜덤하게 출력하기


006 원주율의 계산


007 몬테카를로 시뮬레이션으로 원주율 구하기


008 열거형으로 커피 가격표 출력하기


009 이중 반복문으로 피라미드 그리기


010 1000까지의 소수를 출력하고 몇 개인지 출력하기


011 에라토스테네스의 체


012 scanf 함수의 사용 방법


013 문자열의 처리


014 문자열의 배열


015 포인터 연산자 사용하기


016 값에 의한 호출과 참조에 의한 호출


017 포인터와 배열


018 포인터의 연산


019 이중 포인터와 포인터의 배열


020 문자열의 길이와 문자열의 비교 함수의 구현


021 문자열의 복사와 문자열의 연결


022 대문자와 소문자의 변환


023 문자열 뒤집기


024 정수와 문자열의 변환


025 문자열 안에서 다른 문자열 찾기




PART 02 자료구조와 알고리즘의 활용 에서는



026 실수를 표시하는 문자열을 숫자로 변환하기


027 2진수를 10진수로 변환하기


028 비트연산으로 10진수를 2진수로 변환하기


029 재귀함수를 사용하여 10진수를 2진수로 변환하기


030 하노이의 탑과 메르센 수


031 최대공약수와 최소공배수


032 실행 시간 측정


033 피보나치수열과 동적 알고리즘


034 선형탐색


035 이진탐색


036 qsort 라이브러리 함수 사용하기


037 qsort를 이용한 재귀 이진탐색


038 이진탐색 라이브러리 함수 bsearch 사용하기


039 버블정렬


040 선택정렬


041 퀵 정렬의 구현


042 문자열의 정렬


043 void 포인터


044 다른 형의 배열 원소의 합을 하나의 함수로 계산하기


045 함수 포인터


046 함수 포인터의 배열을 사용한 계산기


047 스택의 구현


048 스택을 이용한 reverse polish 계산기


049 사칙 계산기




PART 03 실전 문제 해결 에서는



050 구조체를 사용하여 점과 사각형 표현하기


051 구조체를 함수로 전달하기


052 구조체의 구조체 – 최근접 점의 쌍 찾기


053 구조체와 공용체를 사용하여 도형의 면적을 계산하기


054 연결리스트에서의 데이터 추가


055 연결리스트에서의 데이터 삭제


056 정렬된 연결리스트


057 이진탐색트리의 삽입과 삭제


058 이진탐색트리의 순회와 탐색


059 힙을 사용하여 배열에서 n번째 큰 수 찾기


060 X자 배열의 출력


061 마방진 출력하기


062 2차원 배열을 매개변수로 보내기


063 3차원 배열로 성적 데이터 저장하기


064 연월일이 주어지면 그 해의 몇 번째 날인지를 찾기


065 제라의 공식으로 요일 알아보기


066 제라의 공식을 활용하여 달력 출력하기


067 time 함수로 현재 시각 알아보기


068 생애 계산기


069 특정한 날의 요일 구하기





PART 04 다양한 실용 문제와 이미지 처리 에서는



070 패스워드 체커


071 주민등록번호 검사기


072 암스트롱 수 찾기


073 애너그램 찾기


074 회문(palindrome) 찾기


075 행맨 게임


076 미로 찾기① – 미로 파일 읽기


077 미로 찾기② – 경로 찾기


078 파일 입출력 함수를 이용하여 파일 복사하기


079 fseek와 ftell을 사용하여 파일 크기 알아보기


080 fread, fwrite를 사용하여 파일을 읽고 복사하기


081 이진 파일을 복사하는 두 가지 방법


082 비트맵 파일의 구조와 비트맵 파일 읽고 쓰기


083 비트맵 파일을 그레이스케일로 변환하기


084 24비트 컬러 비트맵 파일을 8비트 그레이스케일 비트맵 파일로 변환하기


085 BMP 파일을 텍스트 아트로 출력하기


086 이미지 처리–밝기 및 콘트라스트 조절과 반전 이미지 만들기


087 이미지 처리–미러링, 확대, 축소, 잘라내기





PART 05 실무 프로젝트 개발 에서는



088 메뉴에 의해 동작하는 프로그램 만들기


089 주소록 관리시스템


090 기숙사 방 배정 프로그램


091 삭제 기능이 추가된 기숙사 방 배정 프로그램


092 학생 성적 정보 시스템① – 구조체의 정의와 메뉴 구성


093 학생 성적 정보 시스템② – 입력과 전체 보기 기능


094 학생 성적 정보 시스템③ – 검색, 수정, 삭제의 구현


095 학생 성적 정보 시스템④ – 정렬 기능의 구현


096 커피숍 관리시스템의 설계와 main.c


097 커피숍 관리시스템의 메뉴 처리, menu.c


098 커피숍 관리시스템의 주문 관리, order.c


099 커피숍 관리시스템의 관리 기능, admin.c


100 커피숍 관리시스템의 파일 처리 기능, files.c



로 구성되었다.




프로그래밍을 잘 하기 위해서는 예제를 풀면서


제어문의 활용과 컴퓨터 언어의 특성을 이해해야 한다.



"실무자를 위한 C언어 100제"는


배열과 포인터 활용, 자료구조와 알고리즘의 활용,


실무에서 사용되는 프로그래밍, 이미지 처리,


실무 프로젝트 사례를 소개한다.






예제 제목에서 문제의 기본 내용을 설명하고,


학습 내용에서 예제에서 배워야 할 핵심사항을 안내한다.


힌트 내용에서 예제 풀이 과정에서 익혀야 할 힌트나


시간 절약 요령, 프로그램의 숨겨진 기능을 안내한다.



예제 소스에서 전체 작업 소스 코드를 소개하며,


줄 번호 별로 예제 소드의 내용을 상세하게 설명한다,.



결과 화면에서는 예제 실행값을 소개하여


실제 C언어 프로그램 실행 결과와 확인해 볼 수 있다.






C언어 프로그래밍에 필요한 코드의 사용법을


배열의 사용, 랜덤 숫자 만들기, 원주율 계산,


가격표 출력, 함수의 사용, 문자열 배열 등


다양한 예제를 풀면서 익힐 수 있다.



자료구조와 알고리즘의 형식에 대해


이비트연산, 함수의 사용, 피보나치수열의 알고리즘,


선형탐색 알고리즘, 정렬의 사용 예제 풀이를 통해


이해하게 된다.



다양한 C언어 문제를 풀어보면서 C언어의 문법 구조와


프로그래밍 방법을 자연스럽게 습득할 수 있다.



실무 프로젝트 개발에서는 주소록 관리, 기숙사 방배정


프로그램을 만들어보면서, C언어 프로그래밍의 기초를


이해한다.



"실무자를 위한 C언어 100제"는 C언어 예제를 풀어보면서


C언어의 원리와 코딩 구조를 이해하도록 구성되었다.



문제의 개념을 이해하고, C언어의 사용법을 익히면서


문제해결 과정에 따라 프로그래밍 코드 알고리즘을 이해하면서


효과적인 프로그램 작성을 스스로 배울 수 있다.



"실무자를 위한 C언어 100제"는 C언어의 활용사례를 통해


실무 능력을 빠르게 키울 수 있도록 돕는다.



정보문화사와 리뷰어스 클럽 에서


"실무자를 위한 C언어 100제"를 증정해주셨다.


감사드린다.




#리뷰어스클럽


#서평단모집


#네이버독서카페


#리뷰어스클럽서평단


#정보문화사


#실무자를위한C언어100제


#강병익


#C언어


#알고리즘


#자료구조


#프로그래밍언어


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo