Take a look at our C books. Shulph carries a great selection of C books, and we are always adding more.
Book with a practical approach for understanding the basics and concepts of Data Structure Key Features This book is especially designed for beginners, explains all basics and concepts about data structure. Source code of all data structures are given in C language. Important data structures like Stack, Queue, Linked List, Tree and Graph are well explained. Solved example, frequently asked in the examinations are given which will serve as a useful reference source. Effective description of sorting algorithm (Quick Sort, Heap Sort, Merge Sort etc.) Description Book gives a full understanding of the theoretical topic and easy implementation of data structures through C. The book is going to help students in self-learning of data structures and in understanding how these concepts are implemented in programs. Algorithms are included to clear the concept of data structure. Each algorithm is explained with figures to make student clearer about the concept. Sample data set is taken and step by step execution of the algorithm is provided in the book to ensure the in-depth knowledge of students about the concept discussed. What You Will Learn New features and essential of Algorithms and Arrays. Linked List, its type and implementation. Stacks and Queues Trees and Graphs Searching and Sorting Greedy method Beauty of Blockchain Who this book is for This book is specially designed to serve as textbook for the students of various streams such as PGDCA, B.Tech. /B.E., BCA, BSc M.Tech. /M.E., MCA, MS and cover all the topics of Data Structure. The subject data structure is of prime importance for the students of Computer Science and IT. It is practical approach for understanding the basics and concepts of data structure. All the concepts are implemented in C language in an easy manner. To make clarity on the topic, diagrams, examples and programs are given throughout the book Table of Contents 1. Algorithm and Flowcharts 2. Algorithm Analysi 3. Introduction to Data structure 4. Functions and Recursion 5. Arrays and Pointers 6. String 7. Stack 8. Queues 9. Linked Lists 10. Trees 11. Graphs 12. Searching 13. Sorting 14. Hashing About the Author Dr. Brijesh Bakariya, working as an Assistant Professor in Department of Computer Science and Engineering, I.K. Gujral Punjab Technical University (IKGPTU) Jalandhar (Punjab) has his Ph. D. from Maulana Azad National Institute of Technology (NIT- Bhopal) , Madhya Pradesh and MCA Degree from Devi Ahilya Vishwavidyalaya, Indore (Madhya Pradesh) in Computer Applications. He has been teaching since 2009 and guiding M.Tech/ Ph.D students. He has also published many research papers in the area of Data Mining and Image Processing.
A practical guide to building PIC and STM32 microcontroller board applications with C and C++ programmingKey FeaturesDiscover how to apply microcontroller boards in real life to create interesting IoT projectsCreate innovative solutions to help improve the lives of people affected by the COVID-19 pandemicDesign, build, program, and test microcontroller-based projects with the C and C++ programming languageBook DescriptionWe live in a world surrounded by electronic devices, and microcontrollers are the brains of these devices. Microcontroller programming is an essential skill in the era of the Internet of Things (IoT), and this book helps you to get up to speed with it by working through projects for designing and developing embedded apps with microcontroller boards. DIY Microcontroller Projects for Hobbyists are filled with microcontroller programming C and C++ language constructs. You'll discover how to use the Blue Pill (containing a type of STM32 microcontroller) and Curiosity Nano (containing a type of PIC microcontroller) boards for executing your projects as PIC is a beginner-level board and STM-32 is an ARM Cortex-based board. Later, you'll explore the fundamentals of digital electronics and microcontroller board programming. The book uses examples such as measuring humidity and temperature in an environment to help you gain hands-on project experience. You'll build on your knowledge as you create IoT projects by applying more complex sensors. Finally, you'll find out how to plan for a microcontroller-based project and troubleshoot it. By the end of this book, you'll have developed a firm foundation in electronics and practical PIC and STM32 microcontroller programming and interfacing, adding valuable skills to your professional portfolio.What you will learnGet to grips with the basics of digital and analog electronicsDesign, build, program, and test a microcontroller-based systemUnderstand the importance and applications of STM32 and PIC microcontrollersDiscover how to connect sensors to microcontroller boardsFind out how to obtain sensor data via codingUse microcontroller boards in real life and practical projects Who this book is forThis STM32 PIC microcontroller book is for students, hobbyists, and engineers who want to explore the world of embedded systems and microcontroller programming. Beginners, as well as more experienced users of digital electronics and microcontrollers, will also find this book useful. Basic knowledge of digital circuits and C and C++ programming will be helpful but not necessary.
A comprehensive guide to programming with network sockets, implementing Internet protocols, designing IoT devices, and much more with C Key Features Leverage your C or C++ programming skills to build powerful network applications Get to grips with a variety of network protocols that allow you to load web pages, send emails, and do much more Write portable network code for operating systems such as Windows, Linux, and macOS Book Description Network programming, a challenging topic in C, is made easy to understand with a careful exposition of socket programming APIs. This book gets you started with modern network programming in C and the right use of relevant operating system APIs. This book covers core concepts, such as hostname resolution with DNS, that are crucial to the functioning of the modern web. You'll delve into the fundamental network protocols, TCP and UDP. Essential techniques for networking paradigms such as client-server and peer-to-peer models are explained with the help of practical examples. You'll also study HTTP and HTTPS (the protocols responsible for web pages) from both the client and server perspective. To keep up with current trends, you'll apply the concepts covered in this book to gain insights into web programming for IoT. You'll even get to grips with network monitoring and implementing security best practices. By the end of this book, you'll have experience of working with client-server applications, and be able to implement new network programs in C. The code in this book is compatible with the older C99 version as well as the latest C18 and C++17 standards. Special consideration is given to writing robust, reliable, and secure code that is portable across operating systems, including Winsock sockets for Windows and POSIX sockets for Linux and macOS. What you will learn Uncover cross-platform socket programming APIs Implement techniques for supporting IPv4 and IPv6 Understand how TCP and UDP connections work over IP Discover how hostname resolution and DNS work Interface with web APIs using HTTP and HTTPS Acquire hands-on experience with Simple Mail Transfer Protocol (SMTP) Apply network programming to the Internet of Things (IoT) Who this book is for If you're a developer or a system administrator who wants to enter the world of network programming, this book is for you. Basic knowledge of C programming is assumed.
Get up and running with system programming concepts in Linux Key Features Acquire insight on Linux system architecture and its programming interfaces Get to grips with core concepts such as process management, signalling and pthreads Packed with industry best practices and dozens of code examples Book Description The Linux OS and its embedded and server applications are critical components of today's software infrastructure in a decentralized, networked universe. The industry's demand for proficient Linux developers is only rising with time. Hands-On System Programming with Linux gives you a solid theoretical base and practical industry-relevant descriptions, and covers the Linux system programming domain. It delves into the art and science of Linux application programming— system architecture, process memory and management, signaling, timers, pthreads, and file IO. This book goes beyond the use API X to do Y approach; it explains the concepts and theories required to understand programming interfaces and design decisions, the tradeoffs made by experienced developers when using them, and the rationale behind them. Troubleshooting tips and techniques are included in the concluding chapter. By the end of this book, you will have gained essential conceptual design knowledge and hands-on experience working with Linux system programming interfaces. What you will learn Explore the theoretical underpinnings of Linux system architecture Understand why modern OSes use virtual memory and dynamic memory APIs Get to grips with dynamic memory issues and effectively debug them Learn key concepts and powerful system APIs related to process management Effectively perform file IO and use signaling and timers Deeply understand multithreading concepts, pthreads APIs, synchronization and scheduling Who this book is for Hands-On System Programming with Linux is for Linux system engineers, programmers, or anyone who wants to go beyond using an API set to understanding the theoretical underpinnings and concepts behind powerful Linux system programming APIs. To get the most out of this book, you should be familiar with Linux at the user-level logging in, using shell via the command line interface, the ability to use tools such as find, grep, and sort. Working knowledge of the C programming language is required. No prior experience with Linux systems programming is assumed.
Mastering Arduino is a practical, no-nonsense guide that will teach you the electronics and programming skills that you need to create advanced Arduino projects. Key Features Covers enough electronics and code for users at any level Includes complete circuit diagrams for all projects Final robot project combines knowledge from all the chapters Book Description Mastering Arduino is an all-in-one guide to getting the most out of your Arduino. This practical, no-nonsense guide teaches you all of the electronics and programming skills that you need to create advanced Arduino projects. This book is packed full of real-world projects for you to practice on, bringing all of the knowledge in the book together and giving you the skills to build your own robot from the examples in this book. The final two chapters discuss wireless technologies and how they can be used in your projects. The book begins with the basics of electronics, making sure that you understand components, circuits, and prototyping before moving on. It then performs the same function for code, getting you into the Arduino IDE and showing you how to connect the Arduino to a computer and run simple projects on your Arduino. Once the basics are out of the way, the next 10 chapters of the book focus on small projects centered around particular components, such as LCD displays, stepper motors, or voice synthesizers. Each of these chapters will get you familiar with the technology involved, how to build with it, how to program it, and how it can be used in your own projects. What you will learn Explains the basics of electronics and circuits along with the Arduino IDE and basic C operations Use sensors to build a mini weather station Control LEDs using code Power a robot arm using stepper motors Remotely control your Arduino using RF, Bluetooth LE, and Bluetooth Classic Make a sound tone generator with buttons Who this book is for Mastering Arduino is for anybody who wants to experiment with an Arduino board and build simple projects. No prior knowledge is required, as the fundamentals of electronics and coding are covered in this book as well as advance projects.
Gather detailed statistics and deploy impressive business solutions with Zabbix 4.0 Key Features Experience the full impact of Zabbix 4.0, a useful and increasingly popular tool Enhance your network's performance and manage hosts and systems A step-by-step guide to smarter network monitoring Book Description Zabbix 4 Network Monitoring is the perfect starting point for monitoring the performance of your network devices and applications with Zabbix. Even if you've never used a monitoring solution before, this book will get you up and running quickly. You'll learn to monitor more sophisticated operations with ease and soon feel in complete control of your network, ready to meet any challenges you might face. Starting with the installation, you will discover the new features in Zabbix 4.0. You will then get to grips with native Zabbix agents and Simple Network Management Protocol (SNMP) devices. You will also explore Zabbix's integrated functionality for monitoring Java application servers and VMware. This book also covers notifications, permission management, system maintenance, and troubleshooting, so you can be confident that every potential challenge and task is under your control. If you're working with larger environments, you'll also be able to find out more about distributed data collection using Zabbix proxies. Once you're confident and ready to put these concepts into practice, you will understand how to optimize and improve performance. Troubleshooting network issues is vital for anyone working with Zabbix, so the book also helps you work through any technical snags and glitches you might face. By the end of this book, you will have learned more advanced techniques to fine-tune your system and make sure it is in a healthy state. What you will learn Install Zabbix server and an agent from source Manage hosts, users, and permissions while acting upon monitored conditions Visualize data with the help of ad hoc graphs, custom graphs, and maps Simplify complex configurations and learn to automate them Monitor everything from web pages to IPMI devices and Java applications to VMware stats Configure Zabbix to send alerts including problem severity and time periods Troubleshoot any network issue Who this book is for If you're new to Zabbix look no further than this book. Zabbix 4 Network Monitoring is for system and network administrators who are looking to put their knowledge to work with Zabbix 4.0.