Category Archives: С (Си)

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | 3 Comments

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | 2 Comments

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | 6 Comments

Компилируем в “Notepad++”

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

Posted in IDE, Notepad++, С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

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

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

Posted in С (Си) | Leave a comment

[Язык C] Введение: упражнения по программированию

Прохожу уроки по книжке Стивена Прата “C Primer Plus”. Книжка у меня 2000 года, что мне очень в тему, так как проект, над которым я планирую работать придерживается стандарта ANSI C. Но в процессе прохождения уроков, я взял в привычку … Continue reading

Posted in С (Си) | Leave a comment