Карточка | Таблица | RUSMARC | |
Harwani, B. M.,. Practical C programming: solutions for modern C developers to create efficient and well-structured programs / B.M. Harwani. — 1 online resource (1 volume) : illustrations — <URL:http://elib.fa.ru/ebsco/2375769.pdf>.Дата создания записи: 30.07.2020 Тематика: C (Computer program language); Computer programming.; C (Computer program language); Computer programming Коллекции: EBSCO Разрешенные действия: –
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа: Анонимные пользователи Сеть: Интернет |
Аннотация
Practical C Programming will teach you how to deal with C and its idiosyncrasies, and benefit from its new features, through bite-sized recipes. Each recipe in the book addresses a specific problem through a discussion that reveals and explains the solution to the recipe. This book will teach all you need to know to become a better C programmer.
Права на использование объекта хранения
Место доступа | Группа пользователей | Действие | ||||
---|---|---|---|---|---|---|
Локальная сеть Финуниверситета | Все | |||||
Интернет | Читатели | |||||
Интернет | Анонимные пользователи |
Оглавление
- Cover
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Table of Contents
- Preface
- Chapter 1: Working with Arrays
- Inserting an element in an array
- How to do it…
- How it works...
- There's more...
- Multiplying two matrices
- How to do it…
- How it works...
- There’s more…
- Finding the common elements in two arrays
- How to do it…
- How it works...
- Finding the difference between two sets or arrays
- How to do it…
- How it works...
- Finding the unique elements in an array
- How to do it…
- How it works...
- Finding whether a matrix is sparse
- How to do it…
- How it works...
- There's more...
- Merging two sorted arrays into a single array
- How to do it…
- How it works...
- Inserting an element in an array
- Chapter 2: Managing Strings
- Determining whether the string is a palindrome
- How to do it…
- How it works...
- Finding the occurrence of the first repetitive character in a string
- How to do it…
- How it works...
- Displaying the count of each character in a string
- How to do it…
- How it works...
- Counting vowels and consonants in a sentence
- How to do it…
- How it works...
- Converting the vowels in a sentence to uppercase
- How to do it…
- How it works...
- Determining whether the string is a palindrome
- Chapter 3: Exploring Functions
- What is a stack?
- Finding whether a number is an Armstrong number
- How to do it…
- How it works...
- Returning maximum and minimum values in an array
- How to do it…
- How it works...
- Finding the greatest common divisor using recursion
- How to do it…
- How it works...
- Converting a binary number into a hexadecimal number
- How to do it…
- How it works...
- Finding whether a number is a palindrome
- How to do it…
- How it works...
- Chapter 4: Preprocessing and Compilation
- Performing conditional compilation with directives
- How to do it...
- How it works...
- Applying assertions for validation
- How to do it...
- How it works...
- Using assertions to ensure a pointer is not pointing to NULL
- How to do it…
- How it works...
- Catching errors early with compile-time assertions
- How to do it...
- How it works...
- Applying stringize and token-pasting operators
- How to do it...
- How it works...
- Performing conditional compilation with directives
- Chapter 5: Deep Dive into Pointers
- What is a pointer?
- Reversing a string using pointers
- How to do it…
- How it works...
- Finding the largest value in an array using pointers
- How to do it…
- How it works...
- Sorting a singly linked list
- How to do it…
- How it works...
- Creating a singly linked list
- Sorting the singly linked list
- The first iteration
- The second iteration
- The third and fourth iterations
- Finding the transpose of a matrix using pointers
- How to do it…
- How it works...
- Accessing a structure using a pointer
- How to do it…
- How it works...
- Chapter 6: File Handling
- Functions used in file handling
- Functions commonly used in sequential file handling
- fopen()
- fclose()
- fgets()
- fputs()
- Functions commonly used in random files
- fseek()
- ftell()
- rewind()
- Functions commonly used in sequential file handling
- Reading a text file and converting all characters after the period into uppercase
- How to do it…
- How it works...
- Displaying the contents of a random file in reverse order
- How to do it…
- How it works...
- Counting the number of vowels in a file
- How to do it…
- How it works...
- Replacing a word in a file with another word
- How to do it…
- How it works...
- Encrypting a file
- How to do it…
- How it works...
- See also
- Functions used in file handling
- Chapter 7: Implementing Concurrency
- What are processes and threads?
- Mutual exclusion
- Performing a task with a single thread
- How to do it…
- How it works...
- Performing multiple tasks with multiple threads
- How to do it…
- How it works...
- Using mutex to share data between two threads
- How to do it…
- How it works...
- Understanding how a deadlock is created
- How to do it…
- How it works...
- Avoiding a deadlock
- How to do it…
- How it works...
- What are processes and threads?
- Chapter 8: Networking and Inter-Process Communication
- Communicating between processes using pipes
- Creating and to connecting processes
- pipe()
- mkfifo()
- write()
- read()
- perror()
- fork()
- One process, both writing and reading from the pipe
- How to do it…
- How it works...
- One process writing into the pipe and another process reading from the pipe
- How to do it…
- How it works...
- Creating and to connecting processes
- Communicating between processes using FIFO
- Writing data into a FIFO
- How to do it…
- Reading data from a FIFO
- How to do it…
- How it works...
- Writing data into a FIFO
- Communicating between the client and server using socket programming
- Client-server model
- struct sockaddr_in structure
- socket()
- memset()
- htons()
- bind()
- listen()
- accept()
- send()
- connect()
- recv()
- Sending data to the client
- How to do it…
- How it works...
- Reading data that's been sent from the server
- How to do it…
- How it works...
- Client-server model
- Communicating between processes using a UDP socket
- Using a UDP socket for server-client communication
- bzero()
- INADDR_ANY
- sendto()
- recvfrom()
- Await a message from the client and sending a reply using a UDP socket
- How to do it…
- How it works...
- Sending a message to the server and receiving the reply from the server using the UDP socket
- How to do it…
- How it works...
- Running Cygserver
- Using a UDP socket for server-client communication
- Passing a message from one process to another using the message queue
- Functions used in IPC using shared memory and message queues
- ftok()
- shmget()
- shmat()
- shmdt()
- shmctl()
- msgget()
- msgrcv()
- msgsnd()
- Writing a message into the message queue
- How to do it…
- How it works...
- Reading a message from the message queue
- How to do it…
- How it works...
- Functions used in IPC using shared memory and message queues
- Communicating between processes using shared memory
- Writing a message into shared memory
- How to do it…
- How it works...
- Reading a message from shared memory
- How to do it…
- How it works...
- Writing a message into shared memory
- Communicating between processes using pipes
- Chapter 9: Sorting and Searching
- Searching for an item using binary search
- How to do it...
- How it works...
- Arranging numbers in ascending order using bubble sort
- How to do it…
- How it works...
- Arranging numbers in ascending order using insertion sort
- How to do it...
- How it works...
- Arranging numbers in ascending order using quick sort
- How to do it...
- Quick sort
- FindingPivot
- How it works...
- How to do it...
- Arranging numbers in descending order using heap sort
- How to do it...
- Creating a max-heap
- Deleting the max-heap
- How it works...
- See also
- How to do it...
- Searching for an item using binary search
- Chapter 10: Working with Graphs
- Types of graphs
- Directed graphs
- Undirected graphs
- Creating an adjacency matrix representation of a directed graph
- How to do it...
- How it works...
- Creating an adjacency matrix representation of an undirected graph
- How to do it...
- How it works...
- Creating an adjacency list representation of a directed graph
- How to do it...
- How it works...
- Carrying out the breadth-first traversal of a graph
- How to do it...
- How it works...
- Carrying out the depth-first traversal of a graph
- How to do it...
- How it works...
- Creating minimum spanning trees using Prim's algorithm
- How to do it...
- How it works...
- Displaying the adjacency linked list
- Creating the minimum spanning tree
- Creating minimum spanning trees using Kruskal's algorithm
- How to do it...
- How it works...
- Types of graphs
- Chapter 11: Advanced Data Structures and Algorithms
- Stack
- Doubly linked lists (two-way linked lists)
- Circular linked lists
- Binary tree
- Binary search trees
- Traversing trees
- Implementing a stack using a singly linked list
- How to do it...
- How it works...
- Implementing a doubly or two-way linked list
- How to do it...
- How it works...
- Implementing a circular linked list
- How to do it...
- How it works...
- Creating a binary search tree and performing an inorder traversal on it recursively
- How to do it... – binary tree
- How to do it... – inorder traversal of the tree
- How it works... – binary tree
- How it works... – inorder traversal of the tree
- Performing postorder traversal of a binary tree non-recursively
- Getting started
- How to do it...
- How it works...
- See also
- Chapter 12: Creativity with Graphics
- List of OpenGL functions
- Drawing four graphical shapes
- How to do it...
- How it works...
- Drawing a circle
- How to do it...
- How it works...
- Drawing a line between two mouse clicks
- How to do it...
- How it works...
- Making a bar graph of the supplied values
- How to do it...
- How it works...
- Making an animated bouncing ball
- How to do it...
- How it works...
- Chapter 13: Using MySQL Database
- Functions in MySQL
- mysql_init()
- mysql_real_connect()
- mysql_query()
- mysql_use_result()
- mysql_fetch_row()
- mysql_num_fields()
- mysql_free_result()
- mysql_close()
- Creating a MySQL database and tables
- Create database
- Create table
- Displaying all the built-in tables in a default mysql database
- How to do it...
- How it works...
- Storing information in MySQL database
- How to do it…
- How it works...
- Searching for the desired information in the database
- How to do it…
- How it works...
- Updating information in the database
- How to do it…
- How it works...
- Deleting data from the database using C
- How to do it…
- How it works...
- Functions in MySQL
- Chapter 14: General-Purpose Utilities
- Dynamic memory allocation
- malloc()
- calloc()
- realloc()
- free()
- Registering a function that is called when a program exits
- How to do it…
- How it works...
- There's more...
- Measuring the clock ticks and CPU seconds required in the execution of a function
- How to do it...
- How it works...
- Performing dynamic memory allocation
- How to do it...
- How it works...
- Handling signals
- Signals
- signal()
- How to do it...
- How it works...
- Signals
- Dynamic memory allocation
- Chapter 15: Improving the Performance of Your Code
- Using the register keyword in C code for better efficiency
- How to do it...
- How it works...
- Taking input faster in C
- How to do it…
- How it works...
- Applying loop unrolling for faster results
- How to do it…
- How it works...
- Using the register keyword in C code for better efficiency
- Chapter 16: Low-Level Programming
- Introduction to bitwise operators
- & (binary AND)
- | (binary OR)
- ^ (binary XOR)
- ~ (binary complement)
- << (binary shift left)
- >> (binary shift right)
- Converting a binary number into a decimal using a bitwise operator
- How to do it…
- How it works...
- Converting a decimal into binary using a bitwise operator
- How to do it…
- How it works...
- Converting a decimal number into binary using bit masking
- How to do it…
- How it works...
- Introduction to assembly coding
- Multiplying two numbers using the inline assembly language in C
- How to do it…
- How it works...
- Dividing two numbers using assembly code in C
- How to do it…
- How it works...
- Introduction to bitwise operators
- Chapter 17: Embedded Software and IoT
- Technical requirements
- Introduction to embedded systems
- Introduction to IoT
- Introduction to Arduino
- Toggling the port of a microcontroller in Embedded C (blinking LED)
- How to do it…
- How it works...
- Incrementing the value of a port in Embedded C
- How to do it…
- How it works...
- Toggle voltage in output pin using Arduino (blinking LED)
- How to do it…
- How it works...
- Taking input from the serial port using Arduino
- How to do it…
- How it works...
- Sensing the temperature using Arduino with the LM35 sensor
- Getting ready...
- How to do it...
- How it works...
- Chapter 18: Applying Security in Coding
- Buffer overflow
- gets()
- fgets()
- fpurge(stdin)
- sprintf()
- snprintf()
- strcpy()
- strncpy( )
- Understanding how a buffer overflow occurs
- How to do it...
- How it works...
- Learning how to avoid a buffer overflow
- How to do it...
- How it works...
- Understanding how a vulnerability occurs while copying strings
- How to do it...
- How it works...
- Learning how to write secure code while copying strings
- How to do it...
- How it works...
- Understanding the errors that occur while formatting strings
- How to do it...
- How it works...
- Learning how to avoid errors while formatting strings
- How to do it...
- How it works...
- Understanding how vulnerabilities occur while accessing files in C
- How to do it...
- How it works...
- Learning how to avoid vulnerabilities while writing a file in C
- How to do it...
- How it works...
- Buffer overflow
- Other Books You May Enjoy
- Index
Статистика использования
Количество обращений: 0
За последние 30 дней: 0 Подробная статистика |