Dyzzet|
C++ Data Science Алгоритмы Темы · Блог · YouTube
Колонками
Постранично
§ 5. Управляющие конструкции

§ 5.1 Операторы сравнения и логические связки

Для сравнения чисел будем пользоваться следующими операторами.

Оператор
Описание
==
Равно
!=
Не равно
>
Больше
>=
Больше или равно
<
Меньше
<=
Меньше или равно

Читать далее →
§ 4. Арифметика

Рассмотрим арифметические операторы языка C.

Оператор
Описание
+
Сложение
-
Вычитание
*
Умножение
/
Деление
%
Остаток от деления

Существуют сокращённые версии операторов для выражений типа foo = foo + bar;.

foo += bar; // foo = foo + bar;
foo -= bar; // foo = foo - bar;
foo *= bar; // foo = foo * bar;
foo /= bar; // foo = foo / bar;
foo %= bar; // foo = foo % bar;

Читать далее →
§ 3. Ввод и вывод

§ 3.1 Форматированный ввод и вывод

Если вы разобрались с тем, как устроены различные типы, можно приступить к изучению консольного ввода и вывода.

int foo = 0;
...
foo = 42;

Выведем значение на экран. Для этого нужна функция printf(). Для простоты будем указывать результат работы функции прямо в комментарии.

printf("%d", foo); // 42

Читать далее →
§ 2. Переменные и типы

§ 2.1 Объявления, диапазоны, основы ввода и вывода

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

int foo;

Чему сейчас равно значение переменной foo? Многие отвечают, что нулю. Но на деле это не так. Оперативную память компьютера можно сравнить с меловой доской: если вы намереваетесь что-то написать на ней, это ещё не значит, что доска чистая. Получается, что значение переменной может быть любым. Поэтому считается хорошим тоном всегда инициализировать переменные, то есть задавать их начальное значение.

int foo = 0;

Читать далее →
§ 1. Введение

§ 1.1 Hello, world!

Нельзя не начать введение с классического примера.

#include <stdio.h>
 
int main()
{
    printf("Hello, world!");
    return 0;
}

В первой строке мы подключаем консольный ввод и вывод. Функция main(), чьи границы отмечены фигурными скобками, является основной частью программы (входной точкой). Внутри неё находятся команды-выражения. В конце каждого выражения ставится точка с запятой. Сперва мы попросили напечатать на экране приветствие, а затем успешно завершили выполнение (вернув код 0).

Скопируйте этот код и скомпилируйте. Сейчас и в дальнейшем старайтесь повторять стиль форматирования (переносы и отступы). Хоть это и не влияет на работу программы, пишут их для людей.

Читать далее →
24 мая 2018
1498 дней назад

Самое дурацкое в интерфейсах, что только можно было придумать, это писать количество дней, прошедших после даты публикации, вместо самой этой даты. Например, «85 дней назад», а не «27 февраля 2018» или «2079 дней назад» вместо «12 сентября 2012».

Мозгу трудно оценить, когда это было. А приблизительные оценки («два года назад») раздражают ещё сильнее.

Если информация оперативная, например, в мессенджере, то какой-то смысл есть: «Был в сети 2 минуты назад». На новостных сайтах метка времени (часы и минуты) может на следующий день превращаться в надпись «вчера».

Маленький секрет: заголовок этого поста ежедневно меняется, отсчитывая количество дней с момента публикации.

7 мая 2018
Конспект по языку C

Целевая аудитория — владеющие основами алгоритмизации и какого-либо языка программирования, те, кого не пугают слова «переменная» и даже «рекурсия». В курс (пока что) не входят многие серьёзные темы, например, volatile или глубины стандарта. Также я не буду рассматривать конкретные средства разработки, процесс создания проекта и компиляции. Лучше сосредоточимся на средствах языка и стандартной библиотеки. Если вы можете самостоятельно справиться с этим, то справитесь и с материалом. Сперва нужно быть знакомым с основами компьютерных архитектур, уметь переводить числа между разными системами счисления, складывать, вычитать в них и так далее, владеть основами логики, комбинаторики. Не лишним будет умение читать технические тексты по-английски и писать комментарии.

C — язык промышленного программирования, а не учебный, поэтому многие детали могут изначально пугать. Например, диапазоны переменных одного типа при компиляции на разных компьютерах могут различаться, малейшие опечатки — оборачиваться странным поведением программы или непонятными сообщениями об ошибках. Об истории языка и различиях в версиях и стандартах читайте самостоятельно.

Это, скорее, конспект без лишнего шума. Люди не машины, нам нельзя скормить алфавит, ключевые слова, завалить терминами «сигнатура» и «семантика», дать грамматику языка и что-то ждать в ответ. Я буду показывать примеры — от простого к сложному — которые вам нужно компилировать, изучать, как-то изменять. Самостоятельность — ключ к глубокому пониманию.

Оглавление

§ 1. Введение

§ 2. Переменные и типы

§ 3. Ввод и вывод

§ 4. Арифметика

§ 5. Управляющие конструкции

§ 6. Функции

§ 7. Массивы и указатели

§ 8. Строки

§ 9. Структуры, битовые поля и объединения

§ 10. Работа с файлами

§ 11. Классы памяти

§ 12. Побитовые операторы

§ 13. Препроцессор

§ 14. Компиляция и выполнение программы

§ 15. Литература

§ 16. Задачи

18 марта 2018
Нули функции. Численные методы

Постановка задачи: на интервале \([a, b]\) задана функция \(f(x)\), удовлетворяющая некоторым условиям. Известно, что на этом интервале только один корень. Требуется его найти.

Читать далее →
20 февраля 2018
Узкая полоса прокрутки

Новая дурацкая мода — узкая полоса прокрутки, которая (обычно) становится нормального размера, когда пользователь наводит на неё курсор.

Ведёшь курсор вправо, но полоса прокрутки не становится шире. Через мгновение курсор уже приобретает иной вид, предлагая изменить размер окна. Приходится уводить курсор влево. Встречается не в одном месте.

8 ноября 2017
Сортировка Шелла. Интерактивная анимация

Сортировка Шелла — обобщение сортировки вставками, поэтому сперва нужно разобраться с ней.

Скажем, что сперва шаг сортировки равен 5 (на практике это число должно быть другим). Получается пять цветных массивов, которые сортируются по отдельности. Как? С помощью сортировки вставками. До и после:

Читать далее →
8 7 6 5 4
3
2 1
© MMXI—MMXXII. RSS. Поддержать сайт
Светлая тема / тёмная тема