100 примеров на Си

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Данная книга предназначена для практического изучения языка программирования Си. Изложение материала ведется на основе примеров. Перед примерами дается небольшая теоретическая часть, а затем разбираются конкретные примеры. Такой подход позволит читателю уже с первых шагов писать работающие программы. Примеры в книге приведены по нарастающей сложности: от простых программ с использованием простых конструкций до небольшой компьютерной игры и клиент-серверного приложения. Книга будет полезна всем, кто хочет максимально быстро и эффективно начать программировать на языке Си, а также тем, кто хочет получить набор готовых решений для разных ситуаций. Книга не требует начальных знаний программирования, лучший выбор для начинающих.

Author(s): Кольцов Д.
Series: Просто о сложном
Publisher: Наука и Техника
Year: 2017

Language: Russian
Pages: 256
City: Санкт-Петербург


ЧАСТЬ 1 . ВВЕДЕНИЕ 15
Пример 1. Программа "Привет, мир!" 16
Пример 2. Выводим целое число, введенное пользователем 17
Пример 3. Сумма двух чисел 19
Пример 4. Умножение двух вещественных чисел 20
Пример 5. Определение ASCII-значения символа 21
Пример 6. Вычисляем частное и остаток 22
Пример 7. Вычисляем размер int, float, double и char 24
Пример 8. Как работает ключевое слово long 25
Пример 9. Меняем местами два числа 26

ЧАСТЬ 2. ПРИНЯТИЕ РЕШЕНИЙ И ЦИКЛЫ 30
Пример 10. Проверяем, является ли число четным или нет 33
Пример 11. Проверяем, является ли символ гласным или согласным : 34
Пример 12. Определяем максимум среди трех чисел 36
Пример 13. Вычисляем все корни квадратного уравнения. Подключение библиотеки math 38
Пример 14. Является ли год високосным 41
Пример 15. Проверяем, является ли число отрицательным или положительным 42
Пример 16. Вычисляем сумму натуральных чисел 44
Пример 17. Проверяем, является ли символ алфавитным или нет 48
Пример 18. Вычисление факториала 50
Пример 19. Выводим таблицу умножения 51
Пример 20. Выводим последовательность Фибоначчи 53
Пример 21. Вычисления НОД двух чисел 55
Пример 22. Наименьшее общее кратное 57
Пример 23. Подсчитываем количество цифр целого числа 59
Пример 24. Вычисляем обратное число 61
Пример 25. Вычисляем степень числа 62
Пример 26. Проверяем, является ли число палиндромом или нет 63
Пример 27. Является ли число простым 65
Пример 28. Выводим простые числа в интервале 66
Пример 29. Проверяем число Армстронга 69
Пример 30. Выводим числа Армстронга в заданном диапазоне .71
Пример 31. Создаем пирамиду и структуру 72
Пример 32. Делаем простой калькулятор с использованием switch..case 73

ЧАСТЬ 3. ФУНКЦИИ 77
Пример 33. Проверка простого числа или числа Армстронга с использованием пользовательской функции 79
Пример 34. Отображаем простые числа между двумя интервалами с использованием функции 83
Пример 35. Проверяем, может ли число быть выраженным как сумма двух простых чисел 85
Пример 36. Сумма n натуральных чисел с использованием рекурсии 86
Пример 37. Факториал с использованием рекурсии 88
Пример 38. НОД с использованием рекурсии 90
Пример 39. Конвертируем двоичные числа в десятичные и наоборот 91
Пример 40. Конвертируем восьмеричные числа в десятичные и наоборот 93
Пример 41. Конвертируем двоичные числа в восьмеричные и наоборот 95
Пример 42. Выводим предложение в обратном порядке 97

ЧАСТЬ 4. МАССИВЫ И УКАЗАТЕЛИ 99
Пример 43. Вычисляем среднее с использованием массивов.. 102
Пример 44. Вычисляем наибольший элемент массива 103
Пример 45. Вычисляем среднеквадратичное отклонение 105
Пример 46. Сложение двух матриц с использованием многомерных массивов 106
Пример 47. Умножение на матрицу с использованием многомерных массивов 108
Пример 48. Транспонированная матрица 111
Пример 49. Умножение двух матриц с передачей матрицы в функции 112
Пример 50. Доступ к элементам массива с использованием указателей 116
Пример 51. Своп чисел в циклическом порядке с помощью вызова по ссылке 117
Пример 52. Поиск максимума с использованием динамического выделения памяти 118

ЧАСТЬ 5. СТРОКИ 121
Пример 53. Поиск частоты знаков в строке 124
Пример 54. Программа для подсчета количества цифр и пробелов 125
Пример 55. Удаляем все символы в строке, кроме цифровых 127
Пример 56. Определение длины строки 128
Пример 57. Конкатенация двух строк без функции strcat() 130
Пример 58. Копирование строки без функции strcpy() 131
Пример 59. Сортировка элементов в лексикографическом порядке 132

ЧАСТЬ 6. СТРУКТУРЫ И ОБЪЕДИНЕНИЯ 135
Пример 60. Храним информацию о студенте в структуре 136
Пример 61. Сложение двух структур 138
Пример 62. Сложение двух комплексных чисел с использованием структуры и передачей структуры функции 139
Пример 63. Вычисление разницы между двумя периодами времени 141
Пример 64. Структуры и динамическое выделение памяти 143

ЧАСТЬ 7. ФАЙЛЫ 146
Пример 65. Запись предложения в файл 147
Пример 66. Чтение строки из файла и ее отображение 148
Пример 67. Отображаем исходный код программы 150

ЧАСТЬ 8. ГОТОВЫЕ ПРИЛОЖЕНИЯ 152
Пример 68. Приложение клиент-сервер 153
Пример 69. Мини-игра "Змейка" 160
Пример 70. Программа word count на С 171

ЧАСТЬ 9. АЛГОРИТМЫ ПОИСКА И СОРТИРОВКИ 173
Пример 71. Сортировка вставкой связного списка. Сортировка реального файла 174
Пример 72. Бинарный поиск в целочисленном массиве 181
Пример 73. Бинарный поиск по массиву указателей строк 183
Пример 74. Сортировка пузырьком 186
Пример 75. Пузырьковая сортировка связного списка 188
Пример 76. Пузырьковая сортировка массива строк. Сортировка реального файла 193
Пример 77. Пирамидальная сортировка 196
Пример 78. Сортировка вставкой массива по убыванию и по возрастанию 199
Пример 79. Сортировка слиянием. Связный список 202
Пример 80. Сортировка слиянием массива 206
Пример 81. Быстрая сортировка массива 209
Пример 82. Сортировка массива строк библиотечной функцией qsort() 212
Пример 83. Сортировка массивов указателей на структуры с помощью функции qsort() 214
Пример 84. Сортировка выбором 217
Пример 85. Сортировка с помощью бинарного дерева 221
Пример 86. Реверс связного списка 223

ЧАСТЬ 10. ЕЩЕ НЕМНОГО ПРАКТИКИ 226
Пример 87. Делаем свой shell 227
Пример 88. Получение информации о системе 229
Пример 89. Пишем сообщения в системный журнал 229
Пример 90. Обработка полученного сигнала 231
Пример 91. Преобразование времени в формате UTC в строку и обратно 232
Пример 92. Слияние двух файлов 235
Пример 93. Получение информации о файле 237
Пример 94. Скрываем вводимый пользователем пароль 239
Пример 95. Сколько времени работает система? Показываем uptime 240
Пример 96. Удаляем HTML-разметку 241
Пример 97. Выводим IP-адреса, e-mail и URL, найденные в тексте 243
Пример 98. Выводим текст в картинку. Компиляция программы с использованием библиотеки gd 248
Пример 99. Создание временного файла 249
Пример 100. Открываем лоток DVD 252

ВМЕСТО ЗАКЛЮЧЕНИЯ 253