язык

сложность

4

C

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

Молодые студенты всё чаще идут в системные программисты. У джуна около 120 000 ₽ в месяц, у мидла около 230 000 ₽, у сеньора около 380 000 ₽.

C берут, когда нужно понять память, железо и как программа живёт внутри компьютера. Знаков больше, чем в Python, зато видно каждый шаг.

Тем же языком пользуются люди, которые пишут контроллеры, утилиты и куски операционных систем. Понимание C потом помогает почти в любом другом языке.

36 блоков · 380 уроков

Профессию к этому языку можно взять парой за 1199 ₽. Выбрать профессию

прогресс

0%

блок 1

Первые шаги

Слово, число, имя, две строки.

  1. 1

    Что такое программа

  2. 2

    Как показать слово

  3. 3

    Текст в кавычках

  4. 4

    Числа без кавычек

  5. 5

    Сложение

  6. 6

    Запомнить слово

  7. 7

    Запомнить число

  8. 8

    Показать то, что запомнили

  9. 9

    Две строки вывода

  10. 10

    Порядок шагов

  11. 11

    Слово из задачи

  12. 12

    Короткая проверка связи

  13. Проверка блока

блок 2

Считаем и запоминаем

Минус, умножить, два имени, подпись.

  1. 1

    Вычитание

  2. 2

    Умножение

  3. 3

    Два имени

  4. 4

    Сложить то, что запомнили

  5. 5

    Заменить значение

  6. 6

    Скобки в счёте

  7. 7

    Три числа

  8. 8

    Подпись и число

  9. 9

    Имя получше чем n

  10. 10

    Счёт с подписью

  11. 11

    Остаток после вычитания

  12. 12

    Маленький итог блока

  13. Проверка блока

блок 3

Вопросы и ответы

Больше, равно, if, else.

курс
  1. 1

    Больше

  2. 2

    Равно ли

  3. 3

    Если условие верно

  4. 4

    Иначе

  5. 5

    Не равно

  6. 6

    Меньше либо равно

  7. 7

    Вопрос про имя

  8. 8

    Ноль это тоже ответ

  9. 9

    Показать сам вопрос

  10. 10

    Запомнить и спросить

  11. 11

    Развилка целиком

  12. 12

    Короткий сторож

  13. Проверка блока

блок 4

Списки

Ячейки, номер, длина, голова и хвост.

курс
  1. 1

    Список

  2. 2

    Второй элемент

  3. 3

    Сколько штук

  4. 4

    Очередь из слов

  5. 5

    Хвост очереди

  6. 6

    Список из чисел

  7. 7

    Пусть имя говорит

  8. 8

    Длина очереди

  9. 9

    Взять и подписать

  10. 10

    Два конца

  11. 11

    Очередь на двоих

  12. 12

    Короткий склад

  13. Проверка блока

блок 5

Повторяем шаг

Цикл n раз, обход списка, шапка и стоп.

курс
  1. 1

    Повторить шаг

  2. 2

    Три раза

  3. 3

    Обойти список

  4. 4

    Обход очереди

  5. 5

    Повтор с подписью

  6. 6

    После цикла

  7. 7

    Обойти и не потерять порядок

  8. 8

    Два круга это не три

  9. 9

    Список из трёх

  10. 10

    Повтор команды показа

  11. 11

    Старт, круг, стоп

  12. 12

    Короткий обход смены

  13. Проверка блока

блок 6

Текст

Склейка, сообщение, комментарий, фраза.

курс
  1. 1

    Склеить текст

  2. 2

    Склейка кода

  3. 3

    Текст в коробочке

  4. 4

    Два сообщения

  5. 5

    Комментарий

  6. 6

    Подпись к тексту

  7. 7

    Имя из двух кусков

  8. 8

    Сообщение в переменной и показ

  9. 9

    Длиннее фраза

  10. 10

    Ярлык и склейка не путать

  11. 11

    Короткий ответ бота

  12. 12

    Собрать фразу из кусков

  13. Проверка блока

блок 7

Свои команды

Объявить, вызвать, вернуть, вызвать дважды.

курс
  1. 1

    Своя команда

  2. 2

    Запустить команду

  3. 3

    Вернуть число

  4. 4

    Отдать другое число

  5. 5

    Команда пишет в журнал

  6. 6

    Два вызова

  7. 7

    Имя команды по делу

  8. 8

    Сначала объявить

  9. 9

    Команда-сторож

  10. 10

    Отдать ноль

  11. 11

    Вызов после шапки

  12. 12

    Своя команда на службе

  13. Проверка блока

блок 8

Несколько условий

И, порог, план-факт, два ключа.

курс
  1. 1

    И это, и то

  2. 2

    Когда одно из двух

  3. 3

    Не пускать ноль

  4. 4

    Два сторожа подряд

  5. 5

    Вход по двум ключам

  6. 6

    Отказ если ключ не тот

  7. 7

    Порог кассы

  8. 8

    Равно как пропуск

  9. 9

    Два числа в одном вопросе

  10. 10

    План и факт

  11. 11

    Короткий фильтр

  12. 12

    Сторож смены

  13. Проверка блока

блок 9

Собираем программу

Отчёт, очередь, каркас дня, чек.

курс
  1. 1

    Шапка и сумма

  2. 2

    Список и первый

  3. 3

    Обход журнала

  4. 4

    Сторож отчёта

  5. 5

    Итог смены словом

  6. 6

    Своя команда в отчёте

  7. 7

    Шапка, цикл, стоп

  8. 8

    Два конца очереди

  9. 9

    Подпись к длине

  10. 10

    Короткий чек

  11. 11

    Решение после списка

  12. 12

    Собрать программу дня

  13. Проверка блока

блок 10

Как на работе

Бот, касса, склад, смена, стоп.

курс
  1. 1

    Бот на линии

  2. 2

    Ключ в сообщении

  3. 3

    Очередь заявок

  4. 4

    Касса дня

  5. 5

    Склад

  6. 6

    Команда открытия смены

  7. 7

    План точки

  8. 8

    Два круга напоминаний

  9. 9

    Закрыть день

  10. 10

    Отчёт очереди

  11. 11

    Касса и бот вместе

  12. 12

    Рабочий скрипт

  13. Проверка блока

блок 11

Чек на кассе

Позиции. Сумма. Скидка. Сдача. Чек целиком.

курс
  1. 1

    Шапка чека

  2. 2

    Позиции

  3. 3

    Сумма чека

  4. 4

    Скидка от порога

  5. 5

    Сдача

  6. 6

    Пустой чек

  7. 7

    Команда строки

  8. 8

    Только крупные

  9. 9

    Касса дня

  10. 10

    Чек целиком

  11. Проверка блока

блок 12

Склад

Ячейки. Списать. Дозаказ. Две зоны. Сводка.

курс
  1. 1

    Ячейки

  2. 2

    Где хватает

  3. 3

    Списать из первой

  4. 4

    Низкий остаток

  5. 5

    Две зоны

  6. 6

    Команда need

  7. 7

    Дозаказ по списку

  8. 8

    Процент заполнения

  9. 9

    Сводка склада

  10. 10

    Склад целиком

  11. Проверка блока

блок 13

Очередь заявок

Статусы. Фильтр. Голова. Счётчик. Сводка.

курс
  1. 1

    Статусы

  2. 2

    Только ждут

  3. 3

    Длина очереди

  4. 4

    Голова очереди

  5. 5

    Хвост

  6. 6

    Счётчик статуса

  7. 7

    Эскалация

  8. 8

    Ключ в тексте

  9. 9

    Пачка за час

  10. 10

    Сводка очереди

  11. Проверка блока

блок 14

Бот линии

Ключи. Жалоба. Лимит. Смена. Журнал.

курс
  1. 1

    Ключ бота

  2. 2

    Две команды бота

  3. 3

    Журнал ответов

  4. 4

    Привет по букве

  5. 5

    Жалоба

  6. 6

    Неизвестное

  7. 7

    Лимит ответов

  8. 8

    Смена бота

  9. 9

    Команды из списка

  10. 10

    Бот за смену

  11. Проверка блока

блок 15

Закрытие дня

Оборот. Края. Брак. План. Стоп.

курс
  1. 1

    Открыть день

  2. 2

    Все чеки дня

  3. 3

    Края дня

  4. 4

    Доля крупных

  5. 5

    Брак дня

  6. 6

    Касса и бот

  7. 7

    План и факт

  8. 8

    Команда итога

  9. 9

    Мало или норма

  10. 10

    Закрытие дня

  11. Проверка блока

блок 16

Таблица соответствий

Два списка. Поиск имени. Пары. Прайс.

курс
  1. 1

    Два списка рядом

  2. 2

    Обход пар

  3. 3

    Найти имя

  4. 4

    Сумма таблицы

  5. 5

    Три полки

  6. 6

    Дорогие имена

  7. 7

    Голова таблицы

  8. 8

    Сколько пар

  9. 9

    Шапка прайса

  10. 10

    Таблица целиком

  11. Проверка блока

блок 17

Разбор команд

Вход. Лестница. Пачка. Стоп. Журнал.

курс
  1. 1

    Вход как слово

  2. 2

    Два ключа

  3. 3

    Пачка входа

  4. 4

    Сколько пришло

  5. 5

    Стоп-команда

  6. 6

    Эхо

  7. 7

    Пустой вход

  8. 8

    Служебный статус

  9. 9

    Журнал разбора

  10. 10

    Разбор целиком

  11. Проверка блока

блок 18

Свои команды с входом

Параметр. return. Вызов из цикла. Сервис.

курс
  1. 1

    Команда с числом

  2. 2

    Отдать число

  3. 3

    Два вызова

  4. 4

    Вызов из цикла

  5. 5

    Команда ping

  6. 6

    Две команды сервиса

  7. 7

    Сумма двух вызовов

  8. 8

    Команда печати списка

  9. 9

    Сервис с шапкой

  10. 10

    Сервис целиком

  11. Проверка блока

блок 19

Отчёт за смену

Сумма. План. Минимум. Среднее. Документ.

курс
  1. 1

    Смена как отчёт

  2. 2

    План в отчёте

  3. 3

    Минимум дня

  4. 4

    Максимум дня

  5. 5

    Среднее нацело

  6. 6

    Сколько выше порога

  7. 7

    Шапка и итоги

  8. 8

    Пустой день

  9. 9

    Команда отчёта

  10. 10

    Отчёт целиком

  11. Проверка блока

блок 20

Поиск по журналу

Найти. Счётчик. Две колонки. Команда поиска.

курс
  1. 1

    Журнал поиска

  2. 2

    Не нашли

  3. 3

    Все совпадения

  4. 4

    Первый номер

  5. 5

    Две колонки поиск

  6. 6

    Счётчик поиска

  7. 7

    Пустой поиск

  8. 8

    Команда поиска

  9. 9

    Журнал с шапкой

  10. 10

    Поиск целиком

  11. Проверка блока

блок 21

Мини-сервис

Несколько команд. Ошибка входа. Пачка. Кабинет.

курс
  1. 1

    Три входа сервиса

  2. 2

    Ошибка входа

  3. 3

    Пачка заказов

  4. 4

    Статус сервиса

  5. 5

    Журнал вызовов

  6. 6

    Команда внутри команды

  7. 7

    Список и сервис

  8. 8

    Шапка сервиса

  9. 9

    Касса через сервис

  10. 10

    Сервис целиком

  11. Проверка блока

блок 22

Программа по заданию

ТЗ. Шапка. Фильтр. Команда. Собрать самим.

курс
  1. 1

    ТЗ: шапка

  2. 2

    ТЗ: вход список

  3. 3

    ТЗ: сумма

  4. 4

    ТЗ: фильтр

  5. 5

    ТЗ: команда

  6. 6

    ТЗ: норма

  7. 7

    ТЗ: два блока данных

  8. 8

    ТЗ: края

  9. 9

    ТЗ: ошибка пустого

  10. 10

    Собрать по ТЗ

  11. Проверка блока

блок 23

Итоговая программа

День. Касса. План. Сервис. Стоп.

курс
  1. 1

    Открыть утилиту дня

  2. 2

    Касса дня

  3. 3

    Очередь дня

  4. 4

    Бот дня

  5. 5

    План дня

  6. 6

    Команда дня

  7. 7

    Три сервиса

  8. 8

    Стоп дня

  9. 9

    Сумма и план вместе

  10. 10

    Полный день

  11. Проверка блока

блок 24

Доставка

Рейс. Вес. Перевес. Оплата. Срок. Лист.

курс
  1. 1

    Рейс

  2. 2

    Вес пачек

  3. 3

    Сумма веса

  4. 4

    Перевес

  5. 5

    Оплата рейса

  6. 6

    Срок

  7. 7

    Три слота

  8. 8

    Команда pay

  9. 9

    Шапка рейса

  10. 10

    Лист доставки

  11. Проверка блока

блок 25

Карта гостя

Баллы. Списать. Уровень. Семья. Смена лояльности.

курс
  1. 1

    Баллы

  2. 2

    Начислить

  3. 3

    Списать

  4. 4

    Хватает ли

  5. 5

    Уровень

  6. 6

    Две карты

  7. 7

    Команда level

  8. 8

    Пачка начислений

  9. 9

    Шапка карты

  10. 10

    Смена лояльности

  11. Проверка блока

блок 26

Табель

Часы. Переработка. Опоздание. Фонд. Закрытие.

курс
  1. 1

    Часы дня

  2. 2

    Фонд

  3. 3

    Переработка

  4. 4

    Опоздание

  5. 5

    Норма дня

  6. 6

    Команда hours

  7. 7

    Сколько опоздали

  8. 8

    Оплата часов

  9. 9

    Шапка табеля

  10. 10

    Закрытие табеля

  11. Проверка блока

блок 27

Возвраты

Чистыми. Причина. Доля. Эскалация. Сводка.

курс
  1. 1

    Продажа и возврат

  2. 2

    Не уйти в минус

  3. 3

    Причина

  4. 4

    Пачка возвратов

  5. 5

    Сумма возвратов

  6. 6

    Доля грубо

  7. 7

    Эскалация

  8. 8

    Команда net

  9. 9

    Шапка возврата

  10. 10

    Сводка возвратов

  11. Проверка блока

блок 28

Месяц точки

Дни. План. Три филиала. Касса бот склад. Стоп.

курс
  1. 1

    Месяц

  2. 2

    Дни

  3. 3

    Оборот месяца

  4. 4

    План месяца

  5. 5

    Три филиала

  6. 6

    Сумма сети

  7. 7

    Касса бот склад

  8. 8

    Команда month

  9. 9

    Края месяца

  10. 10

    Месяц точки

  11. Проверка блока

блок 29

Читать ТЗ

Шапка. Вход. Фильтр. Имя команды. Собрать самим.

курс
  1. 1

    Прочитать ТЗ

  2. 2

    Вход из ТЗ

  3. 3

    Главный ответ ТЗ

  4. 4

    Фильтр из ТЗ

  5. 5

    Выход стоп

  6. 6

    Имя команды из ТЗ

  7. 7

    Норма из ТЗ

  8. 8

    Два блока входа

  9. 9

    Порядок строк

  10. 10

    Собрать по ТЗ

  11. Проверка блока

блок 30

Проверка входа

Пусто. Ноль. Порог. Живые. Сообщение об ошибке.

курс
  1. 1

    Пустой вход

  2. 2

    Ноль как брак

  3. 3

    Отрицательное нельзя

  4. 4

    Порог входа

  5. 5

    Слишком большой

  6. 6

    Пачка с отсечкой

  7. 7

    Сумма только живых

  8. 8

    Сообщение об ошибке

  9. 9

    Шапка проверки

  10. 10

    Проверка целиком

  11. Проверка блока

блок 31

Пачка заявок

Цикл. Обработка. Счётчик. Команда. Пачка целиком.

курс
  1. 1

    Пачка заявок

  2. 2

    Обработать каждую

  3. 3

    Счётчик пачки

  4. 4

    Крупные в пачке

  5. 5

    Сумма пачки

  6. 6

    Команда по пачке

  7. 7

    Вызов из цикла

  8. 8

    Шапка пачки

  9. 9

    Фильтр и сумма вместе

  10. 10

    Пачка целиком

  11. Проверка блока

блок 32

Файл из команд

Несколько def. Вызов из вызова. Порядок. Сервис.

курс
  1. 1

    Несколько команд

  2. 2

    Команда с входом

  3. 3

    Команда внутри команды

  4. 4

    status рядом

  5. 5

    dump журнала

  6. 6

    Порядок вызовов

  7. 7

    Ошибка входа в сервисе

  8. 8

    Шапка сервиса

  9. 9

    Журнал вызовов

  10. 10

    Файл команд

  11. Проверка блока

блок 33

Документ-отчёт

Шапка. Строки. Итог. Решение. Документ целиком.

курс
  1. 1

    Документ, не россыпь

  2. 2

    Строки документа

  3. 3

    Итог внизу

  4. 4

    Решение после итога

  5. 5

    Подпись итога

  6. 6

    Команда отчёта

  7. 7

    Пустой документ

  8. 8

    Края документа

  9. 9

    Две колонки отчёта

  10. 10

    Отчёт целиком

  11. Проверка блока

блок 34

Две службы

Касса и склад. Две команды. Один файл.

курс
  1. 1

    Две службы

  2. 2

    Касса считает

  3. 3

    Склад считает

  4. 4

    Две суммы подряд

  5. 5

    Команда кассы

  6. 6

    Команда склада

  7. 7

    Вызвать обе

  8. 8

    Шапка двух служб

  9. 9

    План кассы в общем файле

  10. 10

    Две службы целиком

  11. Проверка блока

блок 35

План и факт

Разница. Четыре строки. Два плана. Сводка.

курс
  1. 1

    План и факт

  2. 2

    Разница

  3. 3

    Факт из списка

  4. 4

    Четыре строки руководителя

  5. 5

    Команда report

  6. 6

    Два плана

  7. 7

    Процент грубо

  8. 8

    Шапка плана

  9. 9

    Факт командой

  10. 10

    План-факт целиком

  11. Проверка блока

блок 36

Написать программу

День. Касса. План. Сервис. Собрать самим.

курс
  1. 1

    Открыть программу дня

  2. 2

    Касса в программе

  3. 3

    Очередь в программе

  4. 4

    Бот в программе

  5. 5

    План в программе

  6. 6

    Команда дня

  7. 7

    Три службы журнала

  8. 8

    Стоп обязателен

  9. 9

    Сумма и план вместе

  10. 10

    Рабочая программа дня

  11. Проверка блока