Архив рубрики: С (Си)

[Язык C] Функция memcpy ()

Помню, что когда я увидел первый раз в коде функцию memcpy () — не понял, что это за неведомая зверушка. Никто и думать не думал написать комментарий, который ее объясняет (не, ну потом понимаешь, что эт логично.. не писать же … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Символьный ввод-вывод и перенаправление (глава 8)

Восьмая глава в книжке Стивена Прата “C Primer Plus” (в новой редакции она называется «Символьный ввод-вывод и проверка достоверности ввода«). EOF (end of file) — обозначение конца файла. Ctrl+Z в Windows, Ctrl+D в UNIX. Пользователи особо не задумываются о том, … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Коварные символы новой строки на вводе

При выполнении последнего упражнения в главе 7, столкнулся с проблемой считывания строки ввода, если в ней встречается перевод строки. Везде это объясняется несколько заумно, попробую на пальцах: Проблема в том, что когда вы вводите с клавиатуры в scanf любой ввод … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Перенос строки оператора printf

Подзабыл, как правильно «резать» длинные куски printf, поэтому решил написать эту шпаргалку. Допустим у вас длиннющее выражение printf и нужно его разбить на несколько небольших для удобочитаемости (или чтобы влезало при встраивании на сайт, например). Есть три способа:

Рубрика: С (Си) | Оставить комментарий

[Язык C] Ввод симола в scanf (%d): ошибка бесконечного цикла

При выполнении заданий из седьмой главы, впервые столкнулся с «защемлением цикла«. Допустим пользователь вводит символ q в поле (не делайте так, если у вас нет возможности прервать программу): #include <stdio.h> int main (void) { int n; scanf(«%d», &n); while (n … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Упражнения по программированию (глава 7)

Задания из седьмой главы книжки Стивена Прата “C Primer Plus” —  «Управляющие операторы С: ветвление и переходы«. 1. Напишите программу, которая читает входные данные до тех пор, пока не встретится символ #, а затем отображает количество прочитанных пробелов, количество символов … Читать далее

Рубрика: С (Си) | 3 комментария

[Язык C] Управляющие операторы С: ветвление и переходы (глава 7)

Седьмая глава в книжке Стивена Прата “C Primer Plus”. Начать хочу с годной программы divisors.c Для заданного целого числа нужно вывести все целые числа, на которые заданное число делится без остатка; если таких делителей нет, необходимо вывести сообщение о том, … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Упражнения по программированию: циклы и массивы (глава 6)

Настал долгожданный момент сделать «домашку» по шестой главе книжки Стивена Прата “C Primer Plus”. Нас ожидает аж 18 увлекательных заданий. 1. Напишите программу, которая создает массив из 26 элементов и помещает в него 26 строчных букв английского алфавита. Также предусмотрите … Читать далее

Рубрика: С (Си) | 2 комментария

[Язык C] Загадочный scanf и %c: вводим фразу, а не символ

Хочу отдельным постом поделиться с весьма нетривиальной с точки зрения новичка в C задачкой. Она приходятся восьмым вопросом для самоконтроля в 6 главе  книжки Стивена Прата “C Primer Plus”. Задание таково: Что выведут приведенные далее программы в случае ввода Go … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Управляющие операторы: циклы (глава 6)

Шестая глава в книжке Стивена Прата “C Primer Plus”.  Цикл с предусловием: for (инициализация; проверка; обновление)             оператор Инициализирующее выражение → проверяемое выражение → корректирующее выражение Цикл с постусловием: do      оператор while (выражение) … Читать далее

Рубрика: С (Си) | 6 комментариев

Компилируем в «Notepad++»

Я несколько задрался использовать Borland 6 для обучения C. Мощная программа и все такое, но из-за своего возраста возможности кастомизации UI там на уровне блокнота (того самого). К примеру, нельзя изменить предустановленные цвета для стиля кода. Поэтому я решился на … Читать далее

Рубрика: IDE, Notepad++, С (Си) | Оставить комментарий

[Язык C] Программа про зернышки на шахматной доске (глава 5)

Из пятой главы книжки Стивена Прата “C Primer Plus” — программа по мотивам известной присказки, которая иллюстрирует возрастание по экспоненте. Предыстория: Царь предложил выбрать награду герою за услугу; герой попросил положить на шахматную доску одно зернышко на первую клетку, два … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Операции, выражения и операторы (глава 5)

Пятая глава в книжке Стивена Прата “C Primer Plus”. В ней идет речь об операторах и цикле while. Любопытно, что в книге Прата while идет до if/else в плане изложения материала; в то время, как в программировании часто учат циклы … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Символьные строки и форматированный ввод-вывод (глава 4)

Четвертая глава в книжке Стивена Прата “C Primer Plus”. Упражнения по программированию и их решения: 1. Напишите программу, которая запрашивает имя и фамилию, а затем выводит их в формате фамилия, имя.

Рубрика: С (Си) | Оставить комментарий

[Язык C] Данные в языке Си (глава 3)

Третья глава в книжке Стивена Прата “C Primer Plus”. Упражнения по программированию и их решения: 1. Экспериментальным путем выясните, как ваша система обрабатывает переполнение при выполнении операций над целыми числами и над числами с плавающей запятой, а также потерю значимости … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Введение в язык Си (глава 2)

Вторая глава в книжке Стивена Прата “C Primer Plus”. Тут уже появляются первые практические задания; хоть и крайне простые, на запоминание базового синтаксиса; поэтому отдельно их результат вывода приводить не буду. Перед заданиями небольшая памятка: 5 типов операторов в языке … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Предварительные сведения (глава 1)

Итак, первая глава в книжке Стивена Прата “C Primer Plus”. Так как в ней отсутствуют упражнения (только одно, теоретическое), то приведу небольшой  конспект главы в целях ознакомления: Появление языка Си 1972 в Bell Labs Деннисом Ритчи. Причины популярности языка С … Читать далее

Рубрика: С (Си) | Оставить комментарий