Dyzzet|
C++ Data Science Алгоритмы Темы · Блог · YouTube · Telegram
Колонками
Постранично
§ 6. Функции

§ 6.1 Объявление, определение, вызов

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

Вызывается эта функция, как и любая другая, указанием её имени и перечислением аргументов в скобках.

#include <stdio.h>
 
int sqr(int x)
{
    return x * x;
}
 
int main()
{
    int result = sqr(5);
    printf("%d", result);
    return 0;
}

Читать далее →
§ 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
2633 дня назад

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

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

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

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

Конспект по языку C

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

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

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

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

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

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

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

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

9 8 7 6 5 4
3
2 1
© MMXI—MMXXV. RSS
 Boosty
Светлая тема / тёмная тема